IRC Bot... RFC

I’ve spun up a simple IRC bot, ‘ansibot’, and stuck the bot in ansible… It seems to be running fine for now (I’m estimating it could take a pretty significant amount of channel traffic (in more than one channel) before falling over; it’s using Phergie, installed using the phergie role on Galaxy.

The host on which it’s running hasn’t been the most reliable (~99.1% uptime) for the past month. If the bot becomes helpful enough, I could move it to another more stable server, but the bot will at least be resilient, as it will restart itself if it dies.

There are a bunch of small features baked into Phergie/ansibot (every command is prefixed by a ! so the bot knows it’s a bot command and not gibberish):

  • [add|remove]lart - saves facts/reminders which will be echoed to the channel when the word is added. Try out some of the terms in the bot already, like ‘docs’ or ‘ansible-devel’.
  • karma - add ‘++’ (two plus signs) after a nick or term to increase karma by one, ‘–’ to decrease by one. !karma [word] will display the nick/word’s karma.
  • !remind - use remind to remind users (even if they’re offline) of something (e.g. “!remind mdehaan you are awesome” to remind mdehaan when he returns and types a message in ansible).
  • !beer [nick] - give someone a beer
    There are some other plugins enabled that you can discover/explore using /msg ansibot help… and if the bot is abused (or unwanted!), I’ll take it down.

Thoughts? Questions? Suggestions?

-Jeff Geerling

We have always had a no bots policy for ansible and I have removed this bot.

Not only are bots annoying when they auto respond to words and become entertainment, but a logged channel is something that prevents many users at certain more restrictive organizations from talking freely about their infrastructure.

Additionally, this is confusing WRT the “ansibot” which responds to github, something that we actually do maintain.

ansible should be about discussing ansible, by humans.

Sounds good, and no hard feelings (I deleted the ansibot entirely, so even if the bot had some hard feelings, those are gone, too :)! If you’d ever like a bot in the channel, I’d be happy to help.

One of the most helpful aspects of a bot (IMO) is the ‘remind’ functionality, which is put to very good use in more distributed communities which rely more heavily on IRC as a central dev channel; since Ansible has the two mailing lists, a channel, and the main GitHub issue tracker, it may be overkill, but definitely something to consider as the community grows!

-Jeff Geerling

P.S. And on a related note, I can understand the privacy/logging argument, but I’d never say anything in a public IRC channel that I wouldn’t say publicly on Twitter or another public forum; it’s easy to log public channel activity and preserve and/or publish the log after the fact. I’m sure you know this, but I wanted to mention the fact so others who might see this conversation don’t assume a false sense of privacy when loggers/bots aren’t around :slight_smile: