Using trained classifiers
An example
classifier.json
file that contains training data for weather is included with this book. For the rest of this chapter, we will assume that the file is present and that we are loading it in via the preceding method.
Replace your respondTo
method call with the following snippet:
let settings = {}; bot.respondTo({ mention: true }, (message, channel, user) => { let args = getArgs(message.text); if (args[0] === 'set') { let place = args.slice(1).join(' '); settings[user.name] = place bot.send(`Okay ${user.name}, I've set ${place} as your default location`, channel); return; } if (args.indexOf('in') < 0 && !settings[user.name]) { bot.send(`Looks like you didn\'t specify a place name, you can set a city by sending \`@weatherbot set [city name]\` or by sending \`@weatherbot ${args.join(' ')} in [city name]\``, channel); return; } // The city is usually preceded by the word 'in' let city = args.indexOf...