Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I recently saw a question on SE about how to do such and such when creating an IRC bot. The only use of IRC bots I was familiar with was message flooding and spamming. I did a Google search for the string I used as my title and was led to an article that was an eye opener as to what all an evil IRC bot could do, but I did not see any explanation of a benevolent (or neutral) use of an IRC bot.

Is there any? If so, what are they used for?

share|improve this question

closed as too broad by MichaelT, jwenting, Bart van Ingen Schenau, amon, GlenH7 May 5 '14 at 16:56

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

One of the more fascinating ones I've read about recently is used in Facebook's deployment process. During the daily push (apparently), developers whose revisions are going live have to "check in" with an IRC bot or else the revision won't go out. It can also track the state of all submitted revisions. – Christopher Aug 1 '12 at 2:53
And then there are Bible bots. – TRiG Aug 1 '12 at 16:53
I wrote one once that told you the local time in major countries and cities (it gave a range if a country spanned multiple time zones). Then we hooked it up to an address book so you could ask "localtime johng" and it would tell you the local time wherever that person lived. Handy with distributed teams. – TMN Aug 1 '12 at 19:16
Which question on SE did you see about creating an IRC bot? – David Ross Aug 1 '12 at 23:29
@David Ross, I meant SO. It was this question – TecBrat Aug 2 '12 at 2:30
up vote 12 down vote accepted

Legitimate IRC bots are used all the time. On some IRC networks Chanserve and Nickserve (for managing channels and handles) are effectively IRC bots, that are just part of the network and have raised privileges. They may not be utilising eggdrop or any of the other more modern bots, but they generally aren't part of the IRC daemon itself.

Other things such as: trivia games (where the bot spits out questions and reads the input for answers and keeps scores), file servers, RSS announcers, etc. are all quite legitimate uses for IRC bots.

share|improve this answer
I have not used IRC a lot, but was vaguely aware of some of those functions and hadn't considered they were the same type of app used by the spammers. Thanks. – TecBrat Aug 1 '12 at 2:40
Lambdabot in #haskell is a great example of a good bot: it does stuff like running haskell snippets, figuring out the types of statements and even rewriting functions in point-free style. People use it there all the time. – Tikhon Jelvis Aug 1 '12 at 4:43

There are plenty of valid use cases for IRC bots like:

  • Reporting commits to your VCS - you can use for example
  • Report build failures from your CI environment
  • Someone writes a bug number in the channel and the bot automatically posts the headline and link to it
  • Notification about new bugs
  • Log meetings - e.g: meetbot
  • Deploy specific versions to dev/staging/prod
  • Provide a simple way to refer someone to a documentation

It really depends how your team uses IRC or IM to communicate to determine if it useful to use an IRC-bot.

share|improve this answer

It is more up to the user of the bot to either do "evil" or "good". IRC bots can be useful in chats. E.g. moderating a IRC-channel and providing a chat interface for all kinds of functionality.

One example of a useful chat bot is Hubot (with it's IRC adapter) which is used by developers to start builds and other development related tasks. It can also be used to make searches on google/wolfram alpha whatever. It has a large script repository.

share|improve this answer

I have an IRC bot which rolls dice for RPGs. It has support for various game systems and types of output. It's useful as it allows someone to (for example) 'roll' 30 6-sided dice, sort them by value, reroll any 6's, and report back the number of 5's or 6's rolled in total (Shadowrun).

Alternately, I also have a chatbot that uses Markov models to generate entertaining text from the channel logs. There's also a variant of this which takes a corpus from specific authors/locations; so that text can be generated in the style of said authors. ShakespeareBot, DylanBot, PalahniukBot; that sort of thing.

My next project is going to be a card-dealing IRC bot. That way the channel I frequent can play poker or similar things. (Or RPGs that use cards as a mechanic, of course)

share|improve this answer

Your question is likely off topic for this site.

However, bots are mainly used for gaining access permissions to specific IRC channels and preventing these channels from being taken over by malicious users. I've also seen IRC bots used as file servers where users can request the bot to send them a file after seeing a list of files offered by the bot.

There are many other legitimate uses for IRC bots. For more information, read this article.

share|improve this answer
I wasn't sure about being on-topic, but I got an answer, so I guess it was close enough. – TecBrat Aug 1 '12 at 2:38
Just so you know, I'm not the one that downvoted you. – TecBrat Aug 1 '12 at 19:38
No worries. Thanks for mentioning it. – Bernard Aug 1 '12 at 20:45

Not the answer you're looking for? Browse other questions tagged or ask your own question.