Simply calling userInfo when the bot starts up and storing that in the bot.name property.
Now the behavior and output are the same as before, but everything depends on the bot.name property, nothing in bot.on('speak') is hard-coded.
Maybe this will get Nirav to shut up.
Adding an 'include' method for arrays, replacing all uses of indexOf checks. Also using that to make some command aliases a little nicer.
Don't need to keep repeating the bot name everywhere. Just check if the text starts with the bot name, then strip it off and check the command.
Putting all the lowercasing in one place.
Good ol' array.indexOf
It looks and feels better to have this behavior nicely encapsulated. I don't know if that will cause some sort of problem with the formerly-nested callbacks. It shouldn't.
Don't want anything bugging me about it. Don't want to check it in by accident.