3

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?

Tamás Szelei
  • 7,737
  • 7
  • 38
  • 42
TecBrat
  • 331
  • 1
  • 12
  • 3
    One of the more fascinating ones I've read about recently is used in [Facebook's deployment process.](http://agilewarrior.wordpress.com/2011/05/28/how-facebook-pushes-new-code-live/) 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 01 '12 at 02:53
  • 1
    And then there are [Bible bots](http://bash.org/?178890). – TRiG Aug 01 '12 at 16:53
  • 1
    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 01 '12 at 19:16
  • Which question on SE did you see about creating an IRC bot? – David Ross Aug 01 '12 at 23:29
  • @David Ross, I meant SO. It was this [question](http://stackoverflow.com/questions/11751289) – TecBrat Aug 02 '12 at 02:30
  • there are many other uses for irc bots. channel moderation comes to mind. – jwenting May 05 '14 at 06:40
  • such a poor, loaded question that makes it obvious that you google poorly – Montagist May 27 '17 at 01:48
  • @Montagist This was 5 years ago and perhaps, in this one instance, I googled poorly. I can't truly remember. The text of my question suggests that I googled and found confirmation only of my pre-conceptions of what an IRC bot is. – TecBrat May 27 '17 at 13:00

5 Answers5

12

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.

Deco
  • 2,466
  • 18
  • 28
  • 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 01 '12 at 02:40
  • 4
    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 01 '12 at 04:43
6

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

  • Reporting commits to your VCS - you can use for example cia.vc
  • 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.

Ulrich Dangel
  • 234
  • 1
  • 5
2

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.

Spoike
  • 14,765
  • 4
  • 43
  • 58
2

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)

David Ross
  • 121
  • 3
0

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.

Bernard
  • 8,859
  • 31
  • 40