The only annoying feature mine has is chat copying, especially if you turn it to '%ALL'...
Although my bot, by default, gets commands by reading them off the chat GUI instead of using clientCmdMessageSent(). That way, you can use HamBot without anybody knowing.
In fact, I shouldn't be calling this a chatbot, since it's mostly a client-sided helper.