Incubot

Incubot is an IRC bot from the mid 90s used to control IRC channels, host file archives, and perform other services. It was used in many of the early Doom channels, and its usage has carried over to several Quake channels. The Incubot is one of the most well-known bots in a large family of bots. The bot has several quotes and features that reference Doom and games culture in general.

For many years an Incubot served WAD and LMP files to users in various EFNet channels.

Key features

 * User lists and access levels.
 * Various channel protection capabilities to reduce flooding and reduce abuse.
 * Comprehensive help system available via DCC.
 * Passworded login to use certain functions.
 * File archive possibility and DCC support.
 * Multi-head support, run several bots from one process.
 * Authenticates and communicates with other bots that support its command set and requests operator status from them.

Code origin
Incubot has a complicated source code history, with many authors. One quirk of the source code is that the original bot had a source file called vlad-ons.c that had code for handling of various commands and events. When the bot was forked new authors added more of these files, named after the author. This makes it complicated to find and understand functionality as it is often grouped into files by who made the functionality, not how they relate to each other or what the code does.

Hopbot
HopBot by Peyote Coyote is a quite bare bones bot with less than 10k source code. It was used as a base for the Vladbot. Most of the code has been rewritten for Vladbot, but there are still some core concepts and variables that have remained unchanged all the way into the Incubot branch.

Vladbot
The base of the source code used in the Incubot is from a VladBot 2.x-branch. Vladbot is C-bot written by Ivo 'VladDrac' van der Wijk (irvdwijk@cs.vu.nl) who has had lots of help from Richard 'Richie_B' van den Berg (richie@morra.et.tudelft.nl). Development on Vladbot continued into a 3.0-version, but these changes are not part of the Incubot family.

Chronic bot fork
New features and commands added by The-Black (starks@cs.ucdavis.edu) and further extensively modified by Robert 'BadCRC' Alto (ralto@kendaco.telebyte.com). Many of the changes are found in crc-ons.c and tb-ons.c. This fork was most likely based on a fork of Vladbot. The documentation is unclear, but according to the author of the Incubot there were steps between Vladbot and this bot.

Incubot
Based on Chronic bot, updated by incubus (|nc) and had many new features and bug fixes. This bot formed the basis for several other forks. This fork also contains some code from the Eggdrop IRC bot. On-line docs written by MeGALiTH (acable@sound.demon.co.uk) and appended/kept up to date first by Brian 'Wendigo' Hess (bhess@widomaker.com). Many of the changes were added to incu-ons.c and mega-ons.c. The bot was not Y2K-compliant, and an event in 2001 could be listed as 101.

Incubot-ByxNet
Based on Incubot, this fork has been used in the #quake channel on ByxNet for about 25 years. A few very minor modifications to the source have been done to make it compile cleanly on modern operating systems.

Revbot
Forked off the Incubot, this bot was primarily coded by Revzoot and this was the bot used in EFNet #quake from the late 90s. It has many updates and a few features seldomly used have been removed.

Mikribot
Based on Incubot, this was a fork with the purpose of fixing bugs and adding sought after features. It was primarily written by Kim Roar Foldøy Hauge (Zokum) with a bit of help from Colin Phipps (cph) and Reep. Many of the additions were put into mikri-ons.c. It has been in use for over 20 years in several EFNet channels.

Documentation was updated by Reep and Zokum. Zokum also wrote an open source web version of the help reader utility that reads the same help files as the bot and that are used by the console helpread program.

Added features

 * Encrypted bot-to-bot communication.
 * Authentication is shared with other bots.
 * Uses fewer IRC commands to update itself when it (re)connects to a server.
 * A lot of the commands' output was updated to make it easier to understand and read.
 * Spy mode to see messages sent to the bot and relay mode to see channel chat.
 * Can echo server traffic to the console.
 * Increased seen database and an important bug fix to send back correct data.
 * The quotes and games references were updated and expanded upon, adding references to newer games.

Hackbot
Hackbot was a fork of the Vladbot done by ComStud.

Combot
This was a fork / rename of Hackbot, done by the same author. It has many additions, some of them are similar to the ones found in the Incubot.

Stelbot
Stelbot (Stealth bot) was a minor fork off the Combot done by Bryan8 (bryan@primenet.com). It features new commands for listing what different userlevels can do and some updates on the commands for statistics, the author and how to get a copy of the bot.

fRite
Another fork off the Vladbot by OffSpring (cracker@cati.CSUFresno.EDU). This bot has new commands for things like file viewing and comes with several ascii art pieces and pop song lyrics. In the later versions this bot comes with a lot of 'war' features in order to take over IRC channels and attack other IRC users. This includes commands such as: tsunami, tsusignoff, tsuban, dccbomb, nickflood, keybomb and flash.

Ariela
This was a minor fork off the Vladbot with only a few small changes. It was most likely used for the bots Ariela and Knight on the Undernet IRC network judging by the default config files.