What is an Eggdrop? Eggdrop is the most advanced, most
popular, and best supported IRC bot. If you've never used a bot before, you'll
find Eggdrop provides a staggering array of options for channel management, and
can easily be expanded further to provide even more functions. The Eggdrop code
is free for anyone to download and use. Some of the main features of Eggdrop
include:
- Support for multiple channels.
- An advanced, flexible userfile structure.
- The 'party line', a unique feature accessed by
DCC chat which allows you to speak to others connected to the bot's party line,
and is also used as a console where you can control and use most of Eggdrop's
features.
- Botnet support, allowing you to link multiple
bots to create a 'botnet' and synchronise userfiles with automatic userfile
sharing.
- Multi-language support, with English, German
and French included.
- Support for Tcl scripts and modules, allowing
you to easily add extra features to the bot.
Eggdrop is not a simple bot, so don't expect it to run inside
100KB of memory. The bot is quite complex and packed with features, making it
the Microsoft Office™ (a la resource hog) of IRC bots. If you're after a smaller
and tighter but less customisable bot, consider
EnergyMech.
To connect a Eggdrop you need a shell .
About Shell
To run an Eggdrop bot, you need a 'shell account'. A shell
account is basically a personal account on a server that's connected to the
Internet via a dedicated, high-speed connection. Shell accounts run the Unix
operating system. You access the shell via telnet and FTP. The account provides
you with space (usually around 5 MB to 30 MB for basic accounts) for storing
files and running programs on the Unix machine. The most popular flavours of
Unix you'll encounter with shell accounts are the Linux and FreeBSD operating
systems. Unfortunately, unlike Eggdrop, shell accounts generally aren't free.
But since they're always connected to the Internet, shell accounts are the most
popular and cost effective platform for hosting IRC bots. Shell accounts can
also be used for other things, IRC-related and otherwise, such as running a
bouncer, running your own IRC server, downloading files at high speed for
temporary storage (until you're ready to download them to your machine), sending/receiving
e-mail, and maintaining a web site. You don't have to be experienced with Unix
in order to set up and maintain a bot on a shell account, but you will need to
learn a few basic commands.
Using a Shell
There are two programs you need in order to use your shell
account - a telnet client and a FTP client. Telnet is used for
performing commands on the shell, while FTP is used for transferring files
between the shell and your computer.
FileZilla is a popular, free
FTP client. One freely available telnet program is
PuTTYtel.
Windows has a built-in telnet program, but it's quite crude.
Many shells support a secure telnet protocol called SSH (Secure
SHell protocol). This works in basically the same way as telnet, but everything
is encrypted for better security. If your shell supports SSH, it's a good idea
to use that instead of regular telnet. However, you need a client that supports
SSH, such as
PuTTY.
When your shell account is activated, you should receive
information which includes the hostname of the shell, and hostname of the FTP
server (although the FTP server often has the same hostname as the shell). The
first thing you'll want to do is telnet to the shell. Load up your telnet or SSH
client, and enter the address of the shell (e.g. shell1.niceshells.net). You
will be prompted for your username/password. After that, a motd will usually be
displayed, and then you'll be staring at something that looks (and works) very
similarly to a command prompt.
Shell Commands
cd <directory> - Changes to the specified directory,
similar to DOS's cd command. To switch to the directory above the current
one, specify two periods as the directory, i.e. cd ... Typing cd ~
will return you to your home directory (the tilde is shorthand for the path your
home directory, e.g. /home2/user/cooldude).
gunzip <file> - Extracts the contents of a gz file
(which are similar to zip files), e.g. gunzip nice.tcl.gz.
kill -9 <pid> - Kills the process with the specified pid
number. You can get the pid number of a process by using the ps x command
described below. This command is useful for killing your Eggdrop if you're
unable to shut it down by other means.
ls - This is very similar to the DOS dir command.
It lists the contents of the current directory. For a more detailed listing,
type ls -al.
mv <oldfile> <newfile> - Renames a file or directory. You
can also move a file with this command. For example, mv chatty.tcl scripts/chatty.tcl
with move chatty.tcl to the scripts directory (relative to the current
directory).
passwd - Allows you to change your shell account password
(it will prompt for your old password, then ask you to enter a new one).
pico -w <file> - Opens the specified file in the pico
text editor. The -w option prevents Tcl scripts from being messed up due
to line wrapping.
ps x - Shows all current 'processes' you have running on
the shell. This includes things such as Eggdrop, IRC bouncers, and open telnet
and FTP sessions. This command is useful for getting the pid (process ID)
number of a process. To view the resource usage of your processes, type ps ux.
pwd - Shows the current working directory path, e.g.
/home2/user/cooldude/mybot.
quota - Shows how much disk space is allocated to you,
and how much you're using.
rm <file> - Deletes a file. To delete a directory and all
its contents (including subdirectories), use rm -rf <directory>.
tar -xf <file> - Used to extract a tar file. To extract a
tar.gz or .tgz file, use tar -zxf <file> (if that doesn't work, use
gunzip <file> then tar -xf <file>).
The above commands are basically all you need to know in order
to setup and run an Eggdrop. You may wish to learn some more commands as you
become more experienced using the shell. Some other useful and interesting
commands are shown below.
netstat - Displays all connections going to and from the
server.
ps aux - Displays all processes running on the system and
their resource usage.
top - Displays details about system resource usage.
uptime - Displays the current uptime and server load.
vhosts - This will display a list of vhosts available for
you to use (note that not all shells have this command).
|