An Introduction to IRC Bots

What should I know before reading this?

The most important thing is to know what IRC is. If you are not sure, check
out the Usenet group alt.irc, or pick up your favorite guide to the
Internet. The second step is to read an IRC primer of some sort. Check out
the Beginners Section for more info on all of this, or on IRC, check
out some of the help services on #help.

What the heck is a bot?

Bots and scripts are special programs written to take advantage
of certain IRC features to make the IRC experience more-- or less-
pleasant. Bots remain on IRC channels at all times (hopefully)
and provide services to those channel members; in addition, bots
may provide services to the clients of a certain server, or to the
users of an entire network. Scripts are programs used by clients
to extend their sets of features in ways that either provide new
functions for channel/ user management, or provide malicious features
to disrupt others' IRCing ("war scripts;" there are also "war bots").

Note: While the decision to use scripts is entirely up to you, please
note that war scripts and certain other malicious activities are frowned
upon by almost all IRC networks and will probably get you banned from
the server you're using. Bots are not legal on all servers; check a
server's policy before setting up a bot to use that server. Misuse of
IRC servers generally gets you K-lined (banned from said server).

Bots and scripts wil soon be direct downloads from this server.

This is one of the most common questions that appears on channels or
newsgroups dealing with IRC. Bots are clients that have automated responses
to certain commands (they are just a bunch of scripts). Confused? You
should be. Hopefully this will be clear as we continue.

How does a bot work?

Normally a bot contains scripts of "on" commands that react to particular
events on IRC. A simple one that people might use in an ircII client
is:

on join * /whois $0

What this does is tell you who the person is when they join a channel. That
is how a bot works: you tell it to do particular things on the occurrence of
particular events.

How is a bot run?

Bots are normally separate processes from your normal client. However, you
can be the bot if you wish by simply loading the bot script into your
chatting client rather than another copy of it.

What good is a bot?

There are various opinions on what bots are good for. Most people use bots
to aid in controlling a channel by managing the distribution of ops through
an oplist. Bots can also be great information tools such as Helpbot (which
sends out help documents like this).

Does this mean bots can do more than I can?

No, bots are just users; they can only do what you have access to. So
running a bot does not mean you can get ops on a channel that you don't
presently have ops on.

What about these "Warbots"?

There are a lot of malicious people out there that have created bots that
"take over" channels. What these bots are designed to do is join a channel
and try and force a netsplit to get ops or flood out all of the users on the
channel. Fortunately on COTSE, timestamping prevents this from happening.
Running bots that are malicious will get you K-lined pretty fast, which
means you will not be allowed to connect to COTSE IRC servers.
Good rule of thumb: Don't run warlike/malicious bots.

Where can I get a bot?

There are a lot of different bots out there. These bots were all written by
other people. As described above, there are malicious people out there:
some of them must have written bots that aren't warlike, but do have
backdoors. What this means is that they (or someone else) has programmed in
a loophole in the bot to let them can take over your bot, and most likely be
able get access to your computer or account from this.

How can they do this?

Simple. Remember, bots are just like you. They have access to the same
stuff you do, so they can do the same things as you. When you are on IRC,
you can do everything and anything to your computer (or for Unix users, your
account). Well, so can your bot. If you run a bot that someone else wrote,
it is possible that you are allowing them (or someone else) access to your
account through the bot.

What are you trying to say?

If you are going to run someone else's bot, read through the script. Find
out what it is doing. Better yet, run your own bot. Write it yourself to
do the things you want it to do. One day someone might want to run the bot
you write, and if you write it yourself you can be sure that there are no
malicious backdoors in it to allow other people to grab control of your bot
and possibly access and damage your private files.

Ok, so how do I write this thing?

There are many different ways to write it. Bots can be written in many
different languages, such as Perl, C, or TCL. If you are just starting
out, it's best to use the scripting language of your particular IRC client
(ircII, mIRC, Pirch, ircle, etc.) since they are usually easier to use and
debug.

I am still unsure of how to write a bot. Give me another hint.

Sure. Before you write a bot, you should be thoroughly familiar with IRC
and the commands available. The best way to start is to read the help manual
for your IRC client and understand how its scripting works. From there you
can learn what scripting facilities are available and how to put a script
together. The next step is to write a script to test what you've learned.
Don't try to do too much at once. If it works correctly, slowly add new
features to the bot, testing them as you add them to make sure they work
properly.

Do I want a bot?

This is not really a frequently asked question, but it should be. It seems
that a lot of people want bots but have no clue what to do with them. Ask
yourself what would you use a bot for. Most people use them to hold their
channels open and for better stability and control of their channels. Do you
have a channel that *needs* a bot? Don't forget that COTSE provides
a channel registration to help users keep channels
open and stable. This is better because someone else does the hard work of running
the bot 24 hours a day and and leaves you free to chat!
Keep in mind the dark side of bots. By running a bot, you are slowing down everyone,
especially yourself.

How is this possible?

When you run a bot, it is just a user. The more users that are connected to
IRC servers, the slower things get because more information has to be
transferred. On your end, you now have two processes running on your
machine. The more processes you have running, the slower things will be --
not only for you but everyone else.

So what are you trying to say?

Think about whether you need to run a bot or not. Will it be useful to you
and everyone else? Clean up failed attempts at running bots. The best way
to do this is include a die command in your bot. A simple example for a die
command on a bot named Diebot:

on msg "Diebot die" /quit Dead!

So all you have to do is /msg Diebot die, and the bot will sign off
so you won't have to kill the process.

Is that it?

Yes. Hopefully by now you understand what a bot is and how it works.
Remember, this is just an introduction to bots.

Where can I get more info?

Reading the newsgroup alt.irc.bots is a good
place to find information. Reading through other people's bots' code and
scripts is a good way to learn. There are also various IRC channels on other
IRC Networks devoted to scripting, and you can also try asking in help channels.

What about mIRC bots?

There are bots available for the popular chat client mIRC. You can find
these types of bots by doing a web search on the WWW or looking in the
BOTS section of COTSE. You can also try BotSpot for
many useful tips and lots of information on bots in general.

There are MANY types of mIRC bots out there. I suggest that you do
some research before downloading and using any type of bot. A lot of
bots can cause you trouble on IRC, so you want to make sure that this
bot is not one of them.

Another type of mIRC bots are the F-Serve bots. These are bots that
take advantage of mIRC's DCC capability. They act like servers, which
allow other users to download files from you. This can be dangerous,
though, because people may get into your private files, something you
obviously do not want to happen. Also people might upload bad files
to you, causing something to happen to your computer.

When you get an F-Serve Bot, make sure it has good protection. The
most popular nowadays is the Hawkee F-Serve Bot. The next bots are
the types of bots that keep the bots alive; they are the entertainment
bots. These can range from Bar Bots to Game Bots -- even Casino Bots.
These bots are used for the chatters' entertainment. But be warned:
they can get annoying, because some people don't find it nice when
they enter the channel and get a /notice message from the bot. Bots
were intended to help the user, not to become the user.

To use a bot, first you must have mIRC, then create a directory for
the bot you are going to use. Next, copy your mIRC16.exe or the
mIRC32.exe (depending on which you have) into the new directory you
made. Then copy the bot files into that directory. There should now
be your bot files and the mIRC executable file in the new directory
that you created.

After that, start mIRC by running the mIRC executable that you copied
to the new directory. mIRC will start as normal, but now more
options will be available, and your new bot is ready to go.

Cotse.Net

Protect yourself from cyberstalkers, identity thieves, and those who would snoop on you.

Stop spam from invading your inbox without losing the mail you want. We give you more control over your e-mail than any other service.

Block popups, ads, and malicious scripts while you surf the net through our anonymous proxies.