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 I suggest you look elsewhere,
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 our 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. BotServ offers easy access to many of the ChanServ features and offers a couple of 'fun' additions such as FANTASY, SAY and ACT.

What about WatchdoG/Anna/Garfield/Operator/oPPie/WhyMe?

These bots are 'BotServ' bots. BotServ is part of the services Chat4all uses and offers to its users. Basically BotServ bots are nothing more than instances of ChanServ with a custom nickname, ident, host, and GeCOS/realname.

They do 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.

To see the current list of public BotServ bots, 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 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.

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.

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.

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 and aren't willing to pay for it, then
you might be beyond help...