User Tools

Site Tools


user:jbrant:csit1320:coldcutdoc
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 <email: jbrant@lab46.corning-cc.edu>"
--From:
> set admin "Lamer <email: lamer@lamest.lame.org>"

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 <config> -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 <yourbot> hello' { or what ever binding message you have given it}

Next type /msg <yourbot> pass <password> where <password> is a password you have chosen.
lab46:~/weatherbot$
user/jbrant/csit1320/coldcutdoc.txt · Last modified: 2010/02/19 11:42 by jbrant