Previous Section  < Day Day Up >  Next Section

Hack 39 The Ethics of IRC Bots

figs/beginner.gif figs/hack39.gif

You put your shiny new bot in a channel and suddenly a channel operator comes along and kicks it out. Why did they do that?

Most IRC networks have policies against certain kinds of bots. You may wonder why—after all, what's the difference between a bot and regular chatter? They're totally identical as far as the server is concerned, and even human users may find it difficult to see the difference immediately.

Most IRC networks will clearly specify their rules in their message of the day (MOTD), which is announced when you connect to a server. For example, see this little snippet from the IRCnet's MOTD:

- Keep in mind: IRC is a privilege, not a right


- Basic rules:


- - Only 2 connections per person allowed. Please note that this is not

-   per host, but per person. This limit is for global connections, so 

-   not only for this server, but for the entire network.


- - No bots! They will be removed from this server without hesitation.


- - No abuse. This is a rule which describes many actions. Always try to

-   use your common sense.

You may notice some other servers also ban the use of bots completely, as shown by this snippet of an MOTD from a server on the EFnet network:

- ...    o No "Bots" are allowed on this server.                        ...

- ...    o No mass inviting, messaging or flooding.                     ...

- ...    o No idling or faking usernames.                               ...

- ...    o No Link Looking.                                             ...

- ...    o Clients *MUST* respond to CTCP requests.                     ...

In the last example, most of these rules seem designed to prevent the use of bots or automated scripts. For example, some "spam bots" trawl through a server and invite many people to a spam-advertisement channel. This works because many users have the "auto-join-on-invite" feature of their IRC clients turned on. "Idling" is the term given to connecting to a server and not doing anything other than joining a few channels. Idling on IRC is not that uncommon, but other users don't seem to like "log bots" that do nothing but listen and log everything that's said. Link looking is actually forbidden on many other networks, as it reveals the structure of links between each server on the IRC network. A good reason for this ban is that " war bots" can use it to get a list of the other servers, which they can use to make flood attacks even worse, evade K-lines, or circumvent server connection limits. Simple implementations of IRC bots usually ignore CTCP requests or do not respond to them correctly, so that could be the reason for the last rule.

So why do some networks have this strict antibot policy? The most likely reason is that the server operators don't feel like having war bots on their networks—usually because they are designed to waste bandwidth and serve no useful purpose. In many people's minds, a war bot is essentially a small program that makes many connections to a server, joins the same channel, tries to create some mess and in the end allows the channel to be taken over. A different type of war bot is one that guards channels and tries to prevent these kinds of attack. Obviously, this is one of the least-useful uses for a bot, especially on networks that provide decent services that make attacks more difficult.

So, you can imagine why most operators don't want to allow bots on their networks. Fortunately, most networks have decent services these days, so there isn't much use in having a "defensive" war bot in your channel anymore. Taking over a channel is not very useful when the channel owner can undo the action with a single ChanServ command.

On the other hand, many networks let you use bots. Most bots these days serve a more useful purpose, with functionality that includes greeting people, responding to commands in the channel, saying what's on television, warning about new Slashdot articles, and so on. The features are certainly more useful than the average war bot and usually not that much of a bandwidth waster. You could even argue that such bots are less "floody" than some of the real people in the channel. Log bots are not really a problem either, but it's usually nice to warn everyone if your bot logs everything and puts it on the Web. Some people assume they can say what they want and that the people in the channel are the only ones who will ever read it—so it can be a bit annoying to find out that your words are logged, put online, and even end up being indexed by Google.

So, although a few servers still disallow bots, it's probably not that much of a problem to put a nice bot in your channel. However, if the channel does not belong to you, it's probably a good idea to ask the channel owner first. Most people don't like it when there are more bots than real people in a channel—after all, IRC is there for people to talk to people, not to talk to bots. Also, there is no point in having four bots in the channel to respond to !google requests—one answer is usually enough!

Wilmer van der Gaast

    Previous Section  < Day Day Up >  Next Section