How To Build a IRC Bot: login into you lab46 accout make a home (room) by doing 'mkdir weatherbot' cd to the home of your bot lab46:~/cd weatherebot Getting the source code for you bot: Find the scoure code I used eggdrop from:' http://www.risingnet.net/faq_eggdrop.php ' To down load it I did: ' wget ftp://eggdrop.risingnet.net/pub/eggheads/eggdrop/source/1.6/eggdrop1.6.19+ctcpfix.tar.gz ' Next unzip lab46:~/weatherbot$ tar zxvf eggdrop1.6.19+ctcpfix.tar.gz lab46:~/weatherbot/eggdrop1.6.19$ cd eggdrop1.6.19 Following the instuction from: ' http://www.egghelp.org/setup.htm ' I did the following. lab46:~/weatherbot/eggdrop1.6.19$ ./configure This is Eggdrop's GNU configure script. It's going to run a bunch of tests to hopefully make your compile work without much twiddling. ... Operating System: Linux 2.6.26-2-xen-amd64 If you experience any problems compiling Eggdrop, please read the compile guide, found in doc/COMPILE-GUIDE. Type 'make config' to configure the modules, or type 'make iconfig' to interactively choose which modules to compile. lab46:~/weatherbot/eggdrop1.6.19$ make config Detecting modules.................... done. Calculating dependencies................... done. ... lab46:~/weatherbot/eggdrop1.6.19$ make [1]: Leaving directory `/home/jbrant/weatherbot/eggdrop1.6.19/src/mod' Building ./src/mod/Makefile... done. You can now compile the bot, using "make". lab46:~/weatherbot/eggdrop1.6.19$ make install DEST=~/weatherbot Eggdrop v1.6.19+ctcpfix (C) 1997 Robey Pointer (C) 2008 Eggheads (patches: ctcpfix) Installing in directory: '/home/jbrant/weatherbot'. Removing symlink to archival eggdrop binary. Copying new 'eggdrop' executable and creating symlink. Removing symlink to archival modules subdirectory. Copying new modules. ... Installation completed. You MUST ensure that you edit/verify your configuration file. An example configuration file, eggdrop.conf, is distributed with Eggdrop. Remember to change directory to /home/jbrant/weatherbot before you proceed. lab46:~/weatherbot/eggdrop1.6.19$ cd lab46:~$ chmod 700 ~weatherbot Below are the line you will need to change in the egggdrop.conf file before making the changes I did a ' cp eggdrop.conf coldcut.conf'. I then edited the coldcut.conf file as this was the name i gave my bot. Line 1 Changed to < #! /home/jbrant/weatherbot/eggdrop From: > #! /path/to/executable/eggdrop Line 26 Changed to < set username "coldcut" From: > set username "lamest" Line 30 Changed to < set admin "jbrant " --From: > set admin "Lamer " Line 34 Changed to < #set network "I.didn't.edit.my.config.file.net" From: > set network "I.didn't.edit.my.config.file.net" Line 58 Changed to < set my-hostname "irc.offbyone.lan" From: > #set my-hostname "virtual.host.com" Line 66 Changed to < addlang "english" From: > #addlang "english" Line 112 Changed to < set max-logsize 550 From: > set max-logsize 0 Line 130 Changed to: < logfile mcobxs * "logs/coldcut.log" From: > logfile mco * "logs/eggdrop.log" Line 135 Changed to: < logfile jpk #botchan "logs/botchan.log" From: > logfile jpk #lamest "logs/lamest.log" Line 176 Changed to: < set userfile "coldcut.user" From: > set userfile "LamestBot.user" Line 180 Changed to: < set pidfile "pid.coldcut" From: > #set pidfile "pid.LamestBot" Line 253 Changed to: < listen 65501 all From: > #listen 3333 all Line 267 Changed to: < set protect-telnet 1 From: > set protect-telnet 0 Line 281 Changed to: < set require-p 1 From: > set require-p 0 Line 290 Changed to: < set stealth-telnets 1 From: > set stealth-telnets 0 Line 303 Changed to: < set dcc-flood-thr 5 From: > set dcc-flood-thr 3 Line 348 Changed to: < set hourly-updates 13 From: > set hourly-updates 00 Line 352 Changed to: < #set owner "hotcut" From: > #set owner "MrLame, MrsLame" Line 355 Changed to: < set notify-newusers "hotcut" From: > set notify-newusers "$owner" Line 365 Changed to: < # set whois-fields "url birthday" From: > set whois-fields "url birthday" Line 369 Changed to: < # set die-on-sighup 0 From: > set die-on-sighup 0 Line 373 Changed to: < # set die-on-sigterm 1 From: > set die-on-sigterm 1 --- Line 409 removed > die "Please make sure you edit your config file completely." Line 451 Changed to: < set chanfile "" From: > set chanfile "LamestBot.chan" Line 501,521 Changed to: < channel add #botchan { < chanmode "+nt-likm" < idle-kick 0 < stopnethack-mode 0 < revenge-mode 0 < ban-time 120 < exempt-time 60 < invite-time 60 < aop-delay 5:30 < need-invite { putserv "PRIVMSG botchan :let me in!" } < need-key { putserv "PRIVMSG #botchan :let me in!" } < need-unban { putserv "PRIVMSG #botchan :let me in!" } < need-limit { putserv "PRIVMSG #botchan :let me in!" } < flood-chan 10:60 < flood-deop 3:10 < flood-kick 3:10 < flood-join 5:60 < flood-ctcp 3:60 < flood-nick 5:60 < } From: > # channel add #lamest { > # chanmode "+nt-likm" > # idle-kick 0 > # stopnethack-mode 0 > # revenge-mode 0 > # ban-time 120 > # exempt-time 60 > # invite-time 60 > # aop-delay 5:30 > # need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" } 'You will need to delete this line or it will send annoying messages to the channel. > # need-invite { putserv "PRIVMSG #lamest :let me in!" } > # need-key { putserv "PRIVMSG #lamest :let me in!" } > # need-unban { putserv "PRIVMSG #lamest :let me in!" } > # need-limit { putserv "PRIVMSG #lamest :let me in!" } > # flood-chan 10:60 > # flood-deop 3:10 > # flood-kick 3:10 > # flood-join 5:60 > # flood-ctcp 3:60 > # flood-nick 5:60 > # } Line 643 Changed to: < channel set #botchan +enforcebans +dynamicbans +userbans +dynamicexempts From: > # channel set #lamest +enforcebans +dynamicbans +userbans +dynamicexempts Line 766 Changed to: < # channel set #botchan +bitch +enforcebans -greet +revenge From: > # channel set #botcentral +bitch +enforcebans -greet +revenge Line 787 Changed to: < set nick "coldcut" From: > set nick "Lamestbot" Line 792 Changed to: < set altnick "hammer" From: > set altnick "Llamab?t" Line 796 Changed to: < set realname "/msg coldcut hello" From: > set realname "/msg LamestBot hello" Line 821, 822 Changed to: < irc.offbyone.lan:6667 From: > you.need.to.change.this:6667 > another.example.com:7000:password Line 841 Changed to: < set lowercase-ctcp 1 From: > set lowercase-ctcp 0 Line 932 Changed to: < set nick-len 9 From: > #set nick-len 9 Line 1019 Changed to: < set learn-users 1 From: > set learn-users 0 Line 1042, 1043 Changed to: < unbind msg - hello *msg:hello < bind msg - changed to protect my bot *msg:hello From: > #unbind msg - hello *msg:hello > #bind msg - myword *msg:hello Line 1049, 1050 Changed to: < # unbind msg - ident *msg:ident < # unbind msg - addhost *msg:addhost From: > unbind msg - ident *msg:ident > unbind msg - addhost *msg:addhost Line 1262 Removed: > die "You didn't edit your config file completely like you were told, did you?" ` Line 1357 Added: < source scripts/dlcount.cgi?get=tictactoe.tcl SAVE THE FILE next I made a autobot check file and but it in my crontab. ths will restart my bot after reboot and other events that my kill it. lab46:~/weatherbot$ chmod 700 auotbotchk lab46:~/weatherbot$ ./autobotchk -dir /home/jbrant/wetherbot/coldcut.conf -noemail It is time to start your bot, the first time you will need to use the -m flage: lab46:~/weatherbot$ ./eggdrop -m coldcut.conf it will run thur a bunch of code and will show you any errors you may need to fix If you have error to fix see the webpage: http://www.egghelp.org it is a good source for trouble shooting your bot. If all is well you should somthing like this: Eggdrop v1.6.19+ctcpfix (C) 1997 Robey Pointer (C) 2008 Eggheads --- Loading eggdrop v1.6.19+ctcpfix (Fri Feb 19 2010) Listening at telnet port 65501 (all). Module loaded: blowfish Module loaded: dns Module loaded: channels Module loaded: server Module loaded: ctcp Module loaded: irc Module loaded: notes (with lang support) Module loaded: console (with lang support) Module loaded: uptime Userinfo TCL v1.07 loaded (URL BF GF IRL EMAIL DOB PHONE ICQ). use '.help userinfo' for commands. tictactoe.tcl v1.0.0 by strikelight now loaded. Userfile loaded, unpacking... === coldcut: 1 channels, 2 users. Launched into the background (pid: 23909) Once your bot is started you need to show yourself to it as is master: This is done by going into IRC and joining the channel that your bot is monitoring. screen -r /join botchan Then type ' /msg hello' { or what ever binding message you have given it} Next type /msg pass where is a password you have chosen. lab46:~/weatherbot$