Oh my God, I rarely if ever see an article which says exactly the opposite things than what I follow. For an IRC bot I've built and still developing it over the years, my guidelines are pretty much the exact reverse of this article. Except maybe the "3. Respect the chat medium". But seriously, I want it to pretend to be a human as much as possible, use free-form input and personalize responses for people involved.
Then again, that bot is designed to be fun addition to the channel and at the same time an useful tool, and not - like in this coming startup bot frenzy - an interactive ad.
This is 10% of the way there, but closer than anything else I've read. We need to stop pretending bots are going to be able to understand intent even if they can parse language. We should not pretend these tools are anything more than mapping to a menu of options and learn how to empower users instead of hiding away control.
Some of these rules assume that you have control over the whole experience, which is fine if you're writing an app from the ground up with chat. But if you're writing a bot for slack or Facebook messenger, you don't have control of those things.
Then again, that bot is designed to be fun addition to the channel and at the same time an useful tool, and not - like in this coming startup bot frenzy - an interactive ad.