Eggdrop is an IRC bot, written in C. If you don't know what IRC is, this is probably not what you're looking for! Eggdrop, being a bot, sits on a channel and takes protective measures: to keep the channel from being taken over, to recognize banished users or sites and reject them, to recognize privileged users and let them gain ops, etc. One of the more unique features of eggdrop is its "partyline", accessible via DCC chat, which allows you to talk to other people lag-free. Consider it a multi-way DCC chat, or a miniature IRC (complete with channels). You can link up with other bots and expand the partyline until it actually becomes something very much like IRC, in fact. Eggdrop is always being improved and adjusted because there are bugs to be fixed and features to be added. In fact, it existed for several years as v0.7 - v0.9 before finally going 1.0. This version of eggdrop is part of the 1.3 tree. A valiant effort has been made to chase down and destroy bugs. It is definitely nowhere near as buggy as the ircII client. Crashes should be rare and surprising (but aren't they always? [surprising anyway]).
Eggdrop is, as far as I know, the most advanced IRC robot available. It has been under development since December 1993, and, unlike most other bots, it is still regularly updated. Its features include:
Complete channel protection, customizable via config file: permanently store a ban list with comments, etc user records saved on disk and alterable via dcc chat: each user can have a password, a list of valid hostmasks, a set of access flags, etc
The ability to "learn" new users (if you choose to have the bot do so) by letting users /MSG the bot "hello" and granting them automatic access of whatever type you specify (or even no access at all)
A "party line" available through dcc chat or telnet, with multiple channels, giving you the ability to talk to people without being affected by netsplits
Console mode: you can view each channel through dcc chat or telnet,
Selectively looking at mode changes, joins and parts, channel talk, or any combination of the above
A file system where people can upload and download files, in an environment that looks and acts (for the most part) like a typical unix system -- plus the ability to mark directories as hidden/ unaccessable to people without certain user flags
Bot network: link two or more bots together for a party line that can stretch not only across channels, but across irc networks (one bot on Efnet, one bot on Undernet, etc)
Script language: commands and features can be added to the bot on the fly, by means of the TCL script language, giving you the power of TOTAL customization of your bot -- similar to ircII script ability to look almost exactly like an ircII client -- sadly, this is almost a necessity these days for bots
Slices, dices, and juliannes fries
Now its able to encypt password files
More detail about eggdrop: Eggdrop Documentation Index
InstallingThe following is just an example of how to upload and install your bot.
1) FTP your eggdrop to your shell.
2) After you finish uploading the eggdrop file, You have to unzip the file. Type:
tar xvfz eggdrop1.6.19+ctcpfix.tar.gz <--- Example eggdrop file name may be outdated.
3) After you finish unzip the files. Change the directory to eggdrop1.6.19, type:
4) Then you have to configure the file, type:
./configure (Note: On this box configure requires added information to find the newer tcl files) Use instead:
5) the next step is make the eggdrop. I choose make config to compiles all modules
Type: make config (compiles all modules) or make iconfig (allows you to select the modules to compile).
6) the next step is make the eggdrop, type: make
7) Moreover, You have to move the eggdrop to the directory where you going run the eggdrop. Type:
make install DEST=~/botdir
8) Now you are finish making the eggdrop. The next step that you want to do is configure the eggdrop.conf. You can configure the eggdrop.dist.conf by download the file using FTP and edit the file using Cooledit or Notepad (You can also edit it in your shell by using "nano") After you finish editing the file, All you have to do is upload the file to your eggdrop directory and run the eggdrop file. Type:
./eggdrop -m eggdrop.conf
Most people keep asking me why my bots are not coming to my channel anymore after your server has been restarted. In this case, you need crontab to make your job easier. With a crontab, you don't have to login to the server over and over again to start your eggdrop bot. Crontab will help you to check your eggdrop bot every minute. Moreover, Eggdrop has become more stable with time, thanks mostly to people reporting bug details and helping find places where it crashes.However, there are still a -few- places where things aren't perfect. Few if any things in life are. Also, most systems go down from time to time. These things cause your bot to disappear from IRC, and you have to restart it. The eggdrop source file includes a csh script called 'botchk' that will help keep the bot online. It will make the machine check every ten minutes as to if your bot is still running. To use it, you have to add a line to your crontab.
First, edit 'botchk' and change the directory and command line parameters so that it will be able to start up your bot. Then, add this line to your crontab:
0,10,20,30,40,50 * * * * /home/mydir/botchk
If you don't want to get emails from cron, put this:
0,10,20,30,40,50 * * * * /home/mydir/botchk >/dev/null 2>&1
Naturally, you need to change the path to the correct path for botchk. If you've never used crontab before, here is a simple way to add that line: Create a new file called 'mycron' and put the above line into it. Then, from your shell prompt, type crontab mycron That will create a new crontab entry for you, with a line that runs botchk every ten minutes. Botchk will then restart the bot when necessary (and send you email informing you - if setup).
The simple and easy step to install eggdrop is using autobotchk.
Use autobotchk to install crontab on your shell:
Type: autobotchk --prefix=/www0/login/eggdrop -nE --time=15 eggdrop.conf
You need to find your eggdrop path.
1) change directory to your eggdrop directory.
For example: cd eggdrop
2) type: pwd
The pwd command will tell you the eggdrop path
and then enter the eggdrop path --prefix=/www0/login/eggdrop
Contact firstname.lastname@example.org if you are having problem installing crontab.