How do I get a bot?
There are countless sorts of bots in existence, each with their own ways to obtain and run them, so there isn't a single answer to this apart from: do some research of your own.
For instance, there are a couple of questions you could ask yourself:
What is a bot?
A bot is a standalone client, or script for an existing client, or any other form of software, which has the purpose to automate certain tasks or provide special functions in for instance an IRC Chatroom.
What should the bot do?
If you already decided you *want* a bot, you should also have some ideas about what the bot should do. If not,
then…
because getting an IRC bot just for the sakes of having one without any purpose is a waste of resource, and quite frankly, a waste of anyone's time.
Still here? That means you have an idea of what the bot should do. For instance, it could take care of:
- Logging (be sure to inform your users the channel is being logged if the bot provides others with access to logs!)
- Quotes database
- Factoids
- Advanced channel controls
- Gaming (if so, which games?)
Listing for yourself what the bot should do can help you narrow down your search results by using more specific keywords (logging, factoids, channel control, game, uno, hangman, etc).
Would BotServ suffice?
For a lot of users a simple BotServ bot will suffice, should the IRC network you are on provide it. BotServ generally offers easy access to many of the ChanServ features and offers a couple of 'fun' additions such as FANTASY, SAY and ACT. Some networks also offer BADWORDS KICK features as part of BotServ.
Tell me more about BotServ and ChanServ?
BotServ bots usually offer slightly more features than accessible through ChanServ. For instance you can enable FANTASY which allows you to interact with the bot through in-channel commands such as !kick and !help, SAY which allows you to make the bot 'say' something on the channel, and ACT which allows you to make the bot do a /me 'action' on the channel.
For more information on what BotServ can do for you, you usually can use the /MSG BOTSERV HELP command and/or read the documentation available on your network's website.
To see the current list of public BotServ bots, you often can use the following command on IRC: /MSG BOTSERV BOTLIST
How do I get one of these?
To assign one of these bots to your channel you generally need to have Founder access to the channel you want to assign a bot to. Then you issue the following command:
/MSG BOTSERV ASSIGN #channelName BotNick
If for instance your channel is called #HerpADerpaDerp and you want to assign the Anna bot to your channel, you would use:
/MSG BOTSERV ASSIGN #HerpADerpaDerp Anna
Who should be running the bot?
Who do you expect to be running the bot? For instance:
- Will you run it yourself on your own computer?
- Do you have an external server to run it on?
- Should/Can it plug into your current IRC client?
- Will you use a third party service?
Each of these options comes with its own pros and cons. For instance, if you run it on your own computer, you might have full control over it, but you are limited to the current operating system you are using, and for the bot to be available, your computer must also remain on and connected.
If you expect a third party service to provide it, your options and the offered features are probably limited, the service might not be free and you won't be able to expand the bot yourself. However, you most likely won't have to worry about keeping the bot running yourself.
What operating system should it run on?
If you decided to run the bot yourself, then you should consider what Operating System it will be running on. Will it run on Windows, Linux, OS X, RiscOS or will you code it oldskool in assembly for your favourite computer from the eighties?
Since bot software isn't always cross-platform, your choice further limits the available solutions.
Will you code one yourself, or install a pre-existing one?
If you are familiar with programming/coding yourself, then you might consider writing one yourself. In that case you often have the choice between expanding your current IRC client to offer extra functions, using an existing bot framework, or coding it from scratch.
If you don't code yourself, you can look for existing bots or scripts for your existing IRC client.
What about scripts?
Some IRC clients such as mIRC, XChat, HexChat, IceChat, WeeChat and irssi allow you to script extra functionality into the client.
This allows you to expand your IRC client to provide autonomous responses to things happening in the channel, and thus basically turning your IRC client into a bot.
See the following links for scripting resources:
WeeChat scripts:
- WeeChat official scripts repository
- WeeChat scripts by FiXato
- WeeChat scripts by Tor Hveem
- WeeChat scripts by Nils Geh
- WeeChat official scripting guide
- WeeChat official developer guide
irssi scripts:
mIRC scripts:
- mIRC Scripting Language on Wikipedia
- mIRC Scripting help documentation
- mIRCScripts.org repository
- mIRC.net Scripts and Addons, DLLs and Tutorials
- mIRC scripts at Hawkee
- mIRC scripts at the IRC Script Database
- "How To Make A mIRC Bot" article by Merlin
IceChat scripts:
- IceChat (VBS) Scripting guide
- IceChat scripts forum
- IceChat official scripts repository
- IceChat 9 official plugins repository
XChat/HexChat scripts:
- XChat scripts at the IRC Script Database
- XChat scripts by ORVP
- XChat scripting guide at XChatData.net
- HexChat scripting guide
Eggdrop/Windrop scripts:
- Eggdrop scripts at the IRC Script Database
- Eggdrop scripts at Egghelp
- Eggdrop scripts at Cell.Cubicle.FI
- Eggdrop approved TCL scripts at eggtcl
- Eggdrop TCL scripting guide by Suninet
- MoxQuizz: a quiz/trivia script for Eggdrop bots
Other resources:
What about bot frameworks/clients?
If you like the idea of coding your own IRC bot, but don't like coding everything like the socket connections and basic functions from scratch, you could have a look at an existing IRC bot framework in your favourite language instead.
Ruby IRC Bot Frameworks:
- Cinch: IRC Bot Building Framework
- Cinch plugins and other Cinch resources
- Autumn: A Ruby IRC Bot Framework
- Summer: a Tiny IRC Bot framework
- Isaac - the smallish DSL for writing IRC bots
- Rbot: a ruby bot framework with a highly modular design based around plugins
- Ponder: a Domain Specific Language for writing IRC Bots using the EventMachine library
- Ruby Toolbox for IRC Bots
- ircbot: an irc bot framework that offers easy-to-use by plugins
Python IRC Bot Frameworks:
- irclib: Internet Relay Chat (IRC) protocol client library
- Supybot
- Jeeves Framework: a Python IRC library that makes creating and running IRC bots
- DeeIRC: a simple Python module which handles connections to an IRC server
- Twisted: an event-driven networking engine written in Python
- Twisted IRC LogBot example
TCL IRC Bot Frameworks:
What about writing one from scratch?
Creating and IRC bot/client from scratch can take quite a bit of effort, but can also be quite rewarding. However, should you want to do so, you should know how to search the internet and your local library for more help yourself already. ;-) However, I'll still link a couple of articles that might be useful:
What about existing bots?
Of course there are plenty of existing bots already. Project on which developers have already spent their blood, sweat and tears so you don't have to. However, these bots might not do (everything) you want it to do. :) Some of them might be extendable though to do more things than what they come with.
List of existing bots:
- Rbot: a ruby bot framework with a highly modular design based around plugins
- Supybot
- TalkBackBot
- Twisted IRC LogBot example
- Excid3's LogBot: a logger bot written in Python 2
- Other LogBot forks
- Showbot: a sweet IRC bot with a web interface for 5by5
- Phergie: a PHP IRC bot
- phenny: The Python IRC Bot
- Wraith: an open source IRC bot written in C++, based on Eggdrop 1.6.12
- List of mIRC bots at hawkee
- TrivialBot: a simple Java based trivia IRC bot
- mIRC Trivia Bot by Tigger
- Skybot: a Python bot that focuses on simplicity and power
Naturally this list is far from complete. If you can't find what you are looking for in this limited list, I suggest you head over to your favourite search engine and type in some keywords such as: "IRC Bot", "trivia", "Uno", and perhaps the programming language or operating system you'd be running it on.
But how do I get a bot?
If after all this you still don't know how to get a bot and expect others to do it for you, then you have 2 options:
-
Hire me (FiXato) to install and/or run an IRC bot for you. How much I charge depends on whether I can use existing bot software or have to provide custom work.
I can install it on your own server/computer should you have one and are willing to grant me temporary remote access to it. Depending on the situation I can maybe also run the bot for you, however I do charge a monthly fee for this. -
Do you expect others to help you further without doing some further research of your own and aren't willing to pay for it, then you might be beyond help... and I'll probably ask this very simple question/suggestion: