Contents |
First of all you do not need to download Eggdrop source files and do all that hard compiling. Eggdrop is installed globally into FreeShells server. So all you need to do is to make a configuration file and run your bot!
There are two ways to do this:
1. You can download pre-made configuration file from here. You will just need to set Nick, Alternative Nick, Real Bot Name, Channel and IRC server and your bot is ready to be online.
2. You can download original configuration file from here. (Advanced users only) This will let you customise your bot in any way you like.
1. Connect to the FreeShells server.
2. Create new folder.
mkdir eggdrop
3. Go into created folder.
cd eggdrop
4. Download pre-made configuration file
wget http://uranus.mtveurope.org/~blinky/eggdrop-premade.conf
if you are using NetBSD on Ottawan server you should download this
wget http://uranus.mtveurope.org/~blinky/eggdrop-premade-netbsd.conf
or default configuration file. (in this case you will have to set many many options)
wget http://uranus.mtveurope.org/~blinky/eggdrop-default.conf
Rename any configuration file downloaded to eggdrop.conf. Use one of the following commands:
mv eggdrop-premade.conf eggdrop.conf
or
mv eggdrop-premade-netbsd.conf eggdrop.conf
or
mv eggdrop-default.conf eggdrop.conf
5. To open and edit files we will use Midnight Commander. To open mc, use following command:
mc
6. Now select eggdrop.conf and press F4 to edit it. Set Nick, Alternative Nick, Real Bot Name, Channel and IRC server. Read comments in the eggdrop.conf file. Once you have finished press F2 to save, then F10 to quit editing document and at last press F10 to quit MC.
If you are using NetBSD on Ottawan be sure to change the userpath value to the appropriate one.
7. Now it is the time to run our eggdrop for the first time. We will use -m flag which specifies that no users are set.
eggdrop -m eggdrop.conf
if you are using NetBSD on Ottawan server you should run your eggdrop like this
eggdrop -m `pwd`/eggdrop.conf
8. When the bot connects to your specified channel write a /msg <botnick> hello to him. Now bot will recognise you. You will be asked to set your password. Remember it for later use.
9. Now your bot has saved user files. So if you ever want to start your bot again do not use -m flag.
eggdrop eggdrop.conf
again, if you are using NetBSD on Ottawan server you should run your eggdrop like this
eggdrop `pwd`/eggdrop.conf
1. Now you know how to start eggdrop. If you want to stop it, you must kill eggdrop process. For doing so you must know bots PID. To see it use the following command.
cat pid.<bot_nick>
2. Now you see a number. It is PID. Remember it.
3. Now kill the process using the following command.
kill -9 <pid>
4. That is it. Bot is no longer online.
Now the bot is up and running. You also know how to stop it. But this is just a start of a story. You can do many, MANY things with your new fellow bot. First of all you need to know how to communicate with eggdrop. You can do it by dcc chat or by telnet.
1. To open a dcc chat use this command in almost any IRC client. DCC Chat will only work if you use an IRC client on the free shells server (irssi or BitchX).
/dcc chat <bots_nick>
2. New window will pop up asking for your password. Enter it and press ENTER.
3. Thats it. Now you are chatting with your bot through DCC. Write .help for help.
4. If you cant start DCC chat, then probably it is something wrong with you network configuration. You need public IP address to start DCC chat or transfer.
1. Now you need to remember the port your eggdrop is listening to. You have set it in the eggdrop.conf file. If you don't remember it, open that file and look for the line which look like this:
listen <port number> all
2. Lets say my bot is listening to port number 50000. Then you will only need to type this to shell to start telnet session.
telnet 127.0.0.1 50000
3. Enter your username (it is the IRC nick you had when you typed /msg YourBotNick hellp) and password when asked. You can now use the same commands as in DCC Chat.
When you are connected to your bot using DCC Chat or ALLNETWORK, you can try one of the following commands:
1. .rehash - reloads the bot. Writes user and chan files to the hard disk then reloads config, user and chan files back again.
2. .restart - does a full restart. Actually disconnects and connects your bot from IRC server.
3. .tcl putquick "PRIVMSG #somechannel :hello world" - bot will say hello world to channel #somechannel.
4. .tcl putquick "MODE #somechannel +o Nickname" - bot will give OP to Nickname in channel #somechannel.
5. .tcl putquick "KICK #somechannel Nickname :Reason" - bot will kick Nickname from channel #somechannel with reason Reason.
And the list continues... As you can see operating bot only from DCC Chat or TELNET is not very easy and straightforward. So if you want more control with more ease, try to learn a little bit of TCL and start writing scritps for your bot. It is not as hard as it seems. (:
One of the best features of eggdrop is its ability to do user defined tasks called scripts. These scripts must be written in TCL language. Lets try to add some new features to our newly baked bot.
botnetop.tcl from Slennox allow bots to ask channel's key, invite, raise limits and ask op from other linked bots. One of the main features of this script is its "delayed op" mechanism to reduce +o flooding whenever a bot joins (particularly annoying if you have a large botnet).
Firstly make sure your bot is not running. Then do this:
1. Download the script from http://www.egghelp.org/tclhtml/3478-4-0-0-1-botnetop2-23-tcl.htm
2. Decompress it.
gzip -d botnetop2.23.tcl.gz
3. Open botnetop2.23.tcl and look through the code. In most scripts you will have a value or two you can modify to your needs.
4. Add this to your eggdrop.conf:
source path/to/botnetop2.23.tcl
If you have access to the C compiler (of if Jan decide to compile it for all users), you can also use the botnetop module, that is compatible with the botnetop script. Botnetop module is faster than the tcl version.
To install it you need to:
1. Download eggdrop, decompress it somewhere, and enter in the eggdrop-1.6.xx/src/mod/ directory.
2. Download botnetop module
wget http://www.egghelp.org/files/modules/botnetop.mod-1.0.1.tar.gz
3. Decompress it
tar -zxvf botnetop.mod-1.0.1.tar.gz
4. Compile your eggdrop like usualy
5. Add, to you eggdrop.conf, and adapt the content of eggdrop-1.6.xx/src/mod/botnetop.mod/botnetop.conf.
Another useful module is the norepeatmod, that is a lightweight solution to avoid flooding.
Many channel flooders simply repeat the same phrase a lot of time. This module kicks or kick and ban them. As any module, this is a faster solution to scripts with the same functions.
To install it you need to:
1. Download eggdrop, decompress it somewhere, and enter in the eggdrop-1.6.xx/src/mod/ directory.
2. Download botnetop module
wget http://www.egghelp.org/files/modules/norepeat.mod.1.0.0.tar.gz
3. Decompress it
tar -zxvf norepeat.mod.1.0.0.tar.gz
4. Compile your eggdrop like usualy
5. Add, to you eggdrop.conf:
loadmodule norepeat
and you'll receive a new command in the partyline to setup the module.
Eggdrop v1.6.19 (C) 1997 Robey Pointer (C) 2008 Eggheads --- Loading eggdrop v1.6.19 (Sat Apr 18 2009) * CONFIG FILE NOT LOADED (NOT FOUND, OR ERROR)
If you are getting this kind of error, it means that you haven't specified eggdrop config file or there are some errors. You should try to specify full path to the config file when running eggdrop like this:
eggdrop /path/to/your/eggdrop.conf
You can always find path to your working direcotry by using this command:
pwd
First of all you need to setup eggdrop.conf to the right values, look into default example and modify those settings.
Can't load modules channels: cannot open "/usr/lib/eggdrop/modules/channels.so" Tcl error in file /home/<user>/eggdrop.conf
If you are on the NetBSD machine, you need to replace set mod-path "/usr/lib/eggdrop/modules" with set mod-path "/usr/pkg/lib/eggdrop/" inside your eggdrop.conf file
Then re-run eggdrop with -m flag to create userfile.
Here is number one resource for all eggdrop files, news, turorials and so on. http://www.egghelp.org/
Initial tutorial --BlinK 20:24, 24 January 2007 (CET)
Added instruction to use botnetop and norepeat. --Stefano 21:04, 19 June 2008 (UTC)
Adopted to NetBSD and added few topics. --BlinK 14:58, 18 APril 2009 (CET)