Hack 39 The Ethics of IRC Bots
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
|