~ubuntu-branches/ubuntu/oneiric/eggdrop/oneiric

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Guilherme de S. Pastore
  • Date: 2004-06-17 09:15:28 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040617091528-64rrw1sa33lkfhmh
Tags: 1.6.16-2
* Fixed typo on README.Debian
* Fixed hyphens in manual page
* Converted debian/rules to CDBS
* Set path to binary on example config file
* Changed LANGDIR on src/eggdrop.h (Closes: #254824)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
README
2
 
Last revised: December 29, 2001
3
 
  ________________________________________________________________________
4
 
 
5
 
     Please at least SKIM this document before asking questions. In fact,
6
 
     READ IT if you've never successfully set up an Eggdrop bot before.
7
 
     PLEASE! READ IT! If you haven't read this file, and ask for help
8
 
     expect to be told to READ the README file first!
9
 
 
10
 
     Contents
11
 
 
12
 
     0    Important notice
13
 
 
14
 
     1    What is Eggdrop?
15
 
     2    How do I get Eggdrop?
16
 
          2a    CVS usage
17
 
     3    Quick startup
18
 
     4    Upgrading
19
 
          4a    Upgrading from a pre-1.3 version to 1.6
20
 
          4b    Upgrading from an older 1.3/1.4/1.5/1.6 version to a newer one
21
 
     5    Frequently Asked Questions
22
 
            1. What do I do if I get the error "User file not found"?
23
 
            2. My Eggdrop won't run; It just says "Can't find your
24
 
               hostname!"
25
 
            3. What the Heck is Tcl?
26
 
            4. My bot dies and the last entry in the logfile is "Received
27
 
               terminate signal". What does that mean and can I prevent it?
28
 
            5. My compile dies at the last minute with "LD fatal signal
29
 
               11"!
30
 
            6. Someone else set up a bot I don't like. Are there any
31
 
               backdoors I can use to take their bot down?
32
 
            7. What are modules?
33
 
            8. Can I compile Eggdrop without dynamic modules?
34
 
               8.1    Do I still need to "loadmodule modules"???
35
 
            9. Where can I get a pre-compiled Eggdrop for my computer?
36
 
           10. I get "Makefile:3 : invalid operator" of some such thing
37
 
               When I try to "make"
38
 
           11. When I "tclsh scripts/weed <userfile> c" It barfs chunks at
39
 
               me and dies.
40
 
           12. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not found"
41
 
               or "eggdrop: error in loading shared libraries /
42
 
               libtcl8.1.so: cannot open shared object file: No such file
43
 
               or directory" when I try to start my bot.
44
 
           13. I get a whole pile of "unresolved symbol 'Tcl_AppendResult'"
45
 
               (or some other symbol) when I try to load a module.
46
 
     6    Setting up a crontab
47
 
          6a    Setting up a crontab using autobotchk
48
 
     7    Boring legal stuff
49
 
     8    Mailing list
50
 
     9    Documentation
51
 
     10  Obtaining help
52
 
 
53
 
    ________________________________________________________________________
54
 
 
55
 
     (0) NOTICE
56
 
 
57
 
          Please read this file carefully before trying to set up this
58
 
          bot. Also, make SURE that you select your +n (owner) users
59
 
          wisely! They have 100% access to your bot and account! ONLY
60
 
          GIVE THIS POWER TO SOMEONE YOU TRUST COMPLETELY!!
61
 
 
62
 
     (1) WHAT IS EGGDROP?
63
 
 
64
 
          Eggdrop is an IRC bot, written in C. If you don't know what
65
 
          IRC is, this is probably not whatever you're looking for!
66
 
          being a bot, sits on a channel and takes protective measures 
67
 
          to keep the channel from being taken over (in the few ways 
68
 
          that anything can), to recognize banished users or sites and 
69
 
          reject them, to recognize privileged users and let them gain 
70
 
          ops, etc.
71
 
 
72
 
          One of the more unique features of Eggdrop is its "party line", 
73
 
          accessible via DCC chat and telnet, which allows you to talk 
74
 
          with other people lag-free. Consider it a multi-way DCC chat, 
75
 
          or a miniature IRC (complete with channels). You can link up 
76
 
          with other bots and expand the party line until it actually 
77
 
          becomes something very much like IRC, in fact.
78
 
 
79
 
          Eggdrop is always being improved and adjusted because there
80
 
          are bugs to be fixed and features to be added (if the users
81
 
          demand them, and they make actually sense). In fact, it
82
 
          existed for several years as v0.7 - v0.9 before finally
83
 
          going 1.0. This version of Eggdrop is part of the 1.6 tree.
84
 
          A valiant effort has been made to chase down and destroy
85
 
          bugs.
86
 
 
87
 
          This README file contains information about how to get
88
 
          Eggdrop, how to quickly compile the bot, what you may need
89
 
          to do when upgrading from older versions, a list of
90
 
          frequently asked questions about compiling, how to set up a
91
 
          crontab, some boring legal stuff, info about the mailing
92
 
          list (a great place to ask questions, and a good place to
93
 
          report bugs also), some basics about CVS usage and some
94
 
          channels where you might get help with Eggdrop.
95
 
 
96
 
          The preliminary documentation is in "eggdrop.doc" and is
97
 
          intended to be read after you have Eggdrop compiled and set
98
 
          up.
99
 
 
100
 
 
101
 
     (2) HOW TO GET EGGDROP
102
 
 
103
 
          Before you can compile Eggdrop, you need to have Tcl
104
 
          installed on your system. Most systems should have Tcl on
105
 
          them by now -- you can check by trying the command "tclsh".
106
 
          If it works, you will be given a "%" prompt, and you can
107
 
          type "exit" to exit the program. This means Tcl is on your
108
 
          system. If tclsh doesn't load, then Tcl probably isn't on
109
 
          your system, and you will need to ftp it.
110
 
 
111
 
          The best ftp site for Tcl is ftp://ftp.scriptics.com/pub/tcl.
112
 
 
113
 
          Tcl comes with the Slackware distribution of Linux. HOWEVER,
114
 
          the one that comes on Slackware 3.0 is goofed up and you'll
115
 
          have to re-install it for yourself to get it working.
116
 
 
117
 
          Currently, the 1.6 tree of Eggdrop is developed at 
118
 
          eggheads.org. You can get the latest version of Eggdrop from
119
 
          ftp://ftp.eggheads.org/pub/eggdrop/source/stable/
120
 
 
121
 
          You might try www.eggheads.org for help and information.
122
 
 
123
 
 
124
 
     (2a) CVS USAGE
125
 
 
126
 
          You can obtain the VERY LATEST version of Eggdrop, that is still
127
 
          under development, by using CVS. CVS means 'Concurrent Versions 
128
 
          System' and is a tool for developers to always keep source code 
129
 
          up to date. Try 'man cvs' on your shell for more information about 
130
 
          CVS ;-)
131
 
 
132
 
          This is intended only for users that know a good bit about Eggdrop.
133
 
          Be aware that the versions of Eggdrop that you get via CVS are still
134
 
          being developed, and may be buggy. The Eggheads devteam will in
135
 
          NO WAY take any responsibility for whatever might happen to you or
136
 
          your shell if you use a CVS version of Eggdrop.
137
 
 
138
 
          To obtain Eggdrop over CVS, do as follows:
139
 
 
140
 
               (1) Log into your shell.
141
 
 
142
 
               (2) Type 'export CVSROOT=:pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot'.
143
 
 
144
 
               (3) Type 'cvs login'.
145
 
 
146
 
               (4) Press <enter> when prompted for a password.
147
 
 
148
 
               (5) In your home dir, type 'cvs checkout eggdrop1.6'
149
 
 
150
 
               (6) in ~/eggdrop1.6, you should have a copy of the latest 
151
 
                   CVS version of Eggdrop.
152
 
 
153
 
          Notes:
154
 
 
155
 
               (1) You can 'cvs logout', but you don't need to.
156
 
 
157
 
               (2) You don't need to go through this whole process every
158
 
                   time. If you want to get a CVS version of Eggdrop at
159
 
                   a later time, you can just 'cd ~/eggdrop1.6' and type
160
 
                  'cvs update -dAP'.
161
 
 
162
 
               (3) If you experience errors when using 'export', you might 
163
 
                   be using tclsh as a shell. If so, try using the command 
164
 
                   'setenv' instead of 'export':
165
 
               
166
 
                  'setenv CVSROOT :pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot'
167
 
 
168
 
     (3) QUICK STARTUP
169
 
 
170
 
          Please see the 'INSTALL' file AFTER you finish reading this file.
171
 
 
172
 
     (4) UPGRADING
173
 
 
174
 
          (4a) UPGRADING FROM A PRE-1.3 VERSION TO 1.6
175
 
 
176
 
               #### BACK UP YOUR USERFILE ####
177
 
 
178
 
               We can't stress this enough. If you are upgrading and 
179
 
               you have even a slight possibility of downgrading again 
180
 
               later, you will HAVE to back up your userfile, or you will 
181
 
               lose it. v1.3 of Eggdrop radically changed a lot of things.
182
 
 
183
 
               There are many major changes between v0.9, v1.0, v1.1 and 
184
 
               v1.6, so PAY ATTENTION to this part if you have a v0.9, 1.0 
185
 
               or 1.1 bot currently. If you're just starting out, you can 
186
 
               skip this section.
187
 
 
188
 
               If you run share bots, you will need to upgrade them all at 
189
 
               the same time because of the new userfile format. Older bots 
190
 
               will be able to link in, but will not get or send a userfile.
191
 
               MAKE A NEW CONFIG FILE from the example, there are some radical 
192
 
               changes.
193
 
 
194
 
               If you are upgrading from 0.9/1.0 to 1.6, just redo the whole
195
 
               thing. Absolutely everything has changed, including the 
196
 
               userfile and config file formats.
197
 
 
198
 
               If you are upgrading from 1.1/1.2 to 1.6, you will likely want 
199
 
               to redo the config file, as much as changed. BACK UP!! You will 
200
 
               need to run 'tclsh scripts/weed/<userfile> c' to convert your 
201
 
               userfile from v3 (1.1/1.2) to v4 (1.3/1.4/1.5/1.6).
202
 
 
203
 
          (4b) UPGRADING FROM AN OLDER 1.3/1.4/1.5/1.6 VERSION TO A NEWER 1.6
204
 
               VERSION
205
 
 
206
 
               If you followed the 'INSTALL' file and did a 'make install'
207
 
               (or "make install DEST='path'") after 'make', this will be 
208
 
               pretty easy. Just upload the new eggdrop1.6.x.tar.gz file to
209
 
               your home dir on your shell, gunzip and untar it, and type
210
 
               'cd ~/eggdrop1.6.x'. Next, type './configure', 'make config' 
211
 
               or 'make iconfig', then 'make'. Then, kill the bot ('.die' on
212
 
               the party line), and 'make install' to the same directory your 
213
 
               bot is currently in. After that, you can just restart your 
214
 
               bot. You may wish to delete the old Eggdrop executable and 
215
 
               modules as well, especially if you have limited disk space.
216
 
 
217
 
               You should read through the new eggdrop.complete.conf file
218
 
               for all the new options in Eggdrop 1.6.x if you are upgrading 
219
 
               from 1.3.x or 1.4.x. You can copy and paste any of these 
220
 
               settings into you current conf file if you do not want to use
221
 
               the default settings.
222
 
 
223
 
     (5) FREQUENTLY ASKED QUESTIONS (or "Why doesn't this thing work?")
224
 
 
225
 
          1. WHAT DO I DO IF I GET THE ERROR "USER FILE NOT FOUND"?
226
 
 
227
 
               (1) Run Eggdrop with the "-m" option (i.e., "eggdrop
228
 
                   -m eggdrop.conf").
229
 
 
230
 
               (2) Go to IRC and send "hello" to your bot (i.e., "/msg mybot 
231
 
                   hello").
232
 
 
233
 
               (3) You will become an owner on your bot. You can leave the 
234
 
                   bot running (nobody else will become an owner if they say
235
 
                   "hello"), but in the future, don't use the "-m" option 
236
 
                   when running the bot.
237
 
 
238
 
          2. MY EGGDROP WON'T RUN; IT JUST SAYS "CAN'T FIND YOUR
239
 
             HOSTNAME!"
240
 
 
241
 
               Your machine is set up strangely, and Eggdrop can't 
242
 
               figure out its network hostname. You can get around this by 
243
 
               setting the my-ip setting in the config file correctly. 
244
 
 
245
 
          3. WHAT THE HECK IS Tcl?
246
 
 
247
 
               Tcl is a scripting language written by John Ousterhout. It's
248
 
               much better than most "built-in" script languages (like the
249
 
               one in ircII) and is meant to be linked with anything needing 
250
 
               a  scripting language, so I linked it with Eggdrop. The file
251
 
               "tcl-commands.doc" in the doc directory contains a list of
252
 
               additional Tcl commands provided by Eggdrop. There are also 
253
 
               several example scripts in the scripts/ directory, and one 
254
 
               in the doc directory called first_script.txt. There are also 
255
 
               hundreds of scripts floating around on the ftp/web sites if 
256
 
               you like working by example (which is typically the best way).
257
 
 
258
 
          4. MY BOT DIES, AND THE LAST ENTRY IN THE LOGFILE IS "RECEIVED 
259
 
             TERMINATE SIGNAL". WHAT DOES THAT MEAN, AND CAN I PREVENT IT?
260
 
 
261
 
               There's nothing you can do to prevent it. It means the 
262
 
               system administrator is killing the Eggdrop process. Most 
263
 
               of the time, it's an automatic thing that happens when the
264
 
               system is being rebooted, so it's harmless. If you have a 
265
 
               crontab  running, the bot will get restarted when the system
266
 
               is back online. Occasionally, the system administrator will 
267
 
               kill the bot manually. For example, if he/she doesn't want 
268
 
               bots running on the system.
269
 
 
270
 
          5. MY COMPILE DIES AT THE LAST MINUTE WITH "LD FATAL SIGNAL
271
 
             11"!
272
 
 
273
 
               See doc/compiling.FAQ
274
 
 
275
 
          6. SOMEONE ELSE SET UP A BOT I DON'T LIKE. ARE THERE ANY
276
 
             BACKDOORS I CAN USE TO TAKE THEIR BOT DOWN?
277
 
 
278
 
               No, there have never been any backdoors and there never will 
279
 
               be, so please stop asking. Every once in a while, someone 
280
 
               finds a way to exploit a bug in Eggdrop, but we fix these 
281
 
               bugs as soon as we find out about them. If you want to bring 
282
 
               down someone else's bot, you will not have my/our help.
283
 
 
284
 
          7. WHAT ARE MODULES?
285
 
 
286
 
               Modules are a way of adding extra C code from the bot, much 
287
 
               like Tcl scripts, without requiring the bot to be recompiled. 
288
 
               See doc/MODULES for more information.
289
 
 
290
 
          8. CAN I COMPILE EGGDROP WITHOUT DYNAMIC MODULES?
291
 
 
292
 
               Yes, you can. If ./configure detects that your system CAN'T 
293
 
               run modules, it will setup 'make' to link the modules in 
294
 
               statically for you. You can also choose this option yourself
295
 
               by typing 'make static'. You can also try to compile dynamic 
296
 
               modules on a static-only system by using 'make eggdrop'.
297
 
 
298
 
               8.1 DO I STILL NEED TO 'loadmodule' modules ???
299
 
 
300
 
               YES, when you compile statically, all the modules are linked 
301
 
               into the main executable. HOWEVER, they are not enabled until 
302
 
               you use loadmodule to enable them, hence you get nearly the 
303
 
               same functionality  with static modules as with dynamic modules.
304
 
 
305
 
          9. WHERE CAN I GET A PRE-COMPILED EGGDROP FOR MY COMPUTER?
306
 
 
307
 
               It is HIGHLY recommended AGAINST using pre-compiled Eggdrops
308
 
               from un-trusted sources. Eggdrop has been a regular target
309
 
               for hacking and crashing. Distribution of pre-compiled 
310
 
               (binary) versions of Eggdrop are the easiest way for hackers 
311
 
               to provide you with the easiest (and most dangerous) way of 
312
 
               gaining access to, not only your bot, but to your computer 
313
 
               account directly. Don't advertise your pre-compiled Eggdrop 
314
 
               binary sites on the Eggdrop list either. =P
315
 
 
316
 
          10. I GET 'Makefile:3 :invalid operator' OR SOME-SUCH-THING
317
 
          WHEN I TRY TO 'make'
318
 
 
319
 
               Try 'gmake'.
320
 
 
321
 
          11. WHEN I 'tclsh scripts/weed <userfile> c' IT BARFS CHUNKS
322
 
          AT ME AND DIES :(
323
 
 
324
 
               UPGRADE YOUR TCL, you are probably using Tcl 7.5 or earlier. 
325
 
               Some of the commands in weed require Tcl7.6 to run, so either
326
 
               upgrade it or remove the offending lines from you userfile 
327
 
               manually (those starting with '.' generally) and accept the
328
 
               loss of that data.
329
 
 
330
 
          12. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not found"
331
 
          or "eggdrop: error in loading shared libraries libtcl8.1.so: \
332
 
          cannot open shared object file: No such file or directory" when I
333
 
          try to start my bot.
334
 
 
335
 
               './configure' is looking in the wrong place for Tcl; it looks 
336
 
               like it compiled with one version of Tcl and tries to load 
337
 
               another. Maybe your sysadmin upgraded Tcl and didn't tell 
338
 
               you. In that case, you should just need to recompile your 
339
 
               bot.
340
 
 
341
 
               Maybe, when upgrading, he didn't clean the old version of 
342
 
               Tcl and './configure' is looking for the files in the wrong 
343
 
               places, or trying to use different versions of tcl.h and 
344
 
               libtcl*. Smack your admin and have him install Tcl properly ;)
345
 
               
346
 
               You can also try:
347
 
 
348
 
               ./configure --with-tcllib=<path-to-tcl-lib> 
349
 
               --with-tclinc=<path-to-tcl-inc>
350
 
 
351
 
               Tell configure where to look for the Tcl files.
352
 
 
353
 
               Try looking for libtcl by:
354
 
 
355
 
                    ls /usr/lib/libtcl*
356
 
                    ls /usr/local/lib/libtcl*
357
 
 
358
 
               Try looking for tcl.h by:
359
 
 
360
 
                    ls /usr/include/tcl.h
361
 
                    ls /usr/local/include/tcl.h
362
 
 
363
 
               If everything else fails, try to install Tcl to your home dir
364
 
               ;) (Suggested by dw@Undernet, dw@lixom.nu)
365
 
 
366
 
          13. I get a whole pile of "Unresolved symbol 'Tcl_AppendResult'"
367
 
              (or some other symbol) when I try to load a modules.
368
 
 
369
 
               POSSIBILITY A: See section 12.
370
 
 
371
 
               POSSIBILITY B:
372
 
 
373
 
               Some of the standard libraries have been compiled for static 
374
 
               linking only on your machine, you have 3 options:
375
 
 
376
 
               (1) If it's your own machine, recompile Tcl using dynamic 
377
 
                   linking by using './configure --enable-shared' when you
378
 
                   configure Tcl (not the bot) and then remake, and reinstall.
379
 
 
380
 
               (2) If it's not your machine, you make have to resort to 'make
381
 
                   static' and 'make install DEST="path"' to make and install
382
 
                   your bot.
383
 
 
384
 
               (3) If you are of a more aggressive sense of mind, go beat 
385
 
                   the stuffing out of your admin for having lame static 
386
 
                   libraries :)
387
 
 
388
 
     (6) SETTING UP A CRONTAB
389
 
 
390
 
          Eggdrop has become more stable with time, thanks mostly to people
391
 
          reporting bug details and helping find places where it crashes.
392
 
          However, there are still a -few- places where things aren't
393
 
          perfect. Few, if any, things in life are.</p>
394
 
 
395
 
          Also, most systems go down from time to time. These things cause
396
 
          your bot to disappear from IRC, and you have to restart it.
397
 
 
398
 
          Eggdrop comes with a shell script called 'botchk' that 
399
 
          will help keep the bot online. It will make the machine check every 
400
 
          ten minutes to make sure your bot is still running. To use it, you
401
 
          have to add a line to your crontab. First, edit 'botchk' and change
402
 
          the directory and command line parameters so that it will be able 
403
 
          to start up your bot. Then, add this line to your crontab:
 
1
$Id: README,v 1.39 2004/04/13 03:57:51 wcc Exp $
 
2
 
 
3
Readme
 
4
Last revised: June 5, 2002
 
5
     _________________________________________________________________
 
6
 
 
7
                                   Readme
 
8
 
 
9
 
 
10
  Please at least SKIM this document before asking questions. In fact, READ IT
 
11
  if you've never successfully set up an Eggdrop bot before. PLEASE! READ IT!
 
12
 
 
13
  Contents
 
14
 
 
15
    0. Important notice
 
16
    1. What is Eggdrop?
 
17
    2. How do I get Eggdrop?
 
18
       2a. How to get the latest version of Eggdrop via CVS
 
19
    3. Quick startup
 
20
    4. Upgrading
 
21
       4a. Upgrading from a pre-1.3 version to 1.6
 
22
       4b. Upgrading from an older 1.3/1.4/1.5/1.6 version to a newer one
 
23
    5. Command line
 
24
    6. Frequently Asked Questions
 
25
       6a. What do I do if I get the error "User file not found"?
 
26
       6b. My Eggdrop won't run; It just says "Can't find your hostname!"
 
27
       6c. What the Heck is Tcl?
 
28
       6d. My bot dies and the last entry in the logfile is "Received terminate
 
29
           signal". What does that mean and can I prevent it?
 
30
       6e. My compile dies at the last minute with "LD fatal signal 11"!
 
31
       6f. Someone else set up a bot I don't like. Are there any backdoors I
 
32
           can use to take their bot down?
 
33
       6g. What are modules?
 
34
       6h. Can I compile Eggdrop without dynamic modules?
 
35
           6h1. Do I still need to "loadmodule" modules?
 
36
       6i. Where can I get a pre-compiled Eggdrop for my computer?
 
37
       6j. I get "Makefile:3 : invalid operator" or some such thing when I
 
38
           try to "make".
 
39
       6k. When I "tclsh scripts/weed <userfile> c" It barfs chunks at me
 
40
           and dies.
 
41
       6l. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not found" or
 
42
           "eggdrop: error in loading shared libraries / libtcl8.1.so: cannot
 
43
           open shared object file: No such file or directory" when I try to
 
44
           start my bot.
 
45
       6m. I get a whole pile of "unresolved symbol 'Tcl_AppendResult'" (or
 
46
           some other symbol) when I try to load a module.
 
47
    7. Setting up a crontab
 
48
       7a. Setting up a crontab using autobotchk
 
49
    8. Boring legal stuff
 
50
    9. Mailing list
 
51
   10. Documentation
 
52
   11. Obtaining help
 
53
 
 
54
     _________________________________________________________________
 
55
 
 
56
 
 
57
  (0) NOTICE
 
58
 
 
59
    Please read this file carefully before trying to set up Eggdrop. Also,
 
60
    make SURE that you select your +n (owner) users wisely! They have 100%
 
61
    access to your bot and account! ONLY GIVE THIS POWER TO SOMEONE YOU
 
62
    TRUST COMPLETELY!!
 
63
 
 
64
 
 
65
  (1) WHAT IS EGGDROP?
 
66
 
 
67
    Eggdrop is the world's most popular Internet Relay Chat (IRC) bot; it is
 
68
    freely distributable under the GNU General Public License (GPL). Eggdrop
 
69
    is a feature rich program designed to be easily used and expanded upon by
 
70
    both novice and advanced IRC users on a variety of hardware and software
 
71
    platforms.
 
72
 
 
73
    An IRC bot is a program that sits on an IRC channel and preforms automated
 
74
    tasks while looking just like a normal user on the channel. Some of these
 
75
    functions include protecting the channel from abuse, allowing privileged
 
76
    users to gain op or voice status, logging channel events, providing
 
77
    information, hosting games, etc.
 
78
 
 
79
    One of the features that makes Eggdrop stand out from other bots is module
 
80
    and Tcl scripting support. With scripts and modules, you can make the bot
 
81
    preform almost any task you want. They can do anything from preventing
 
82
    floods to greeting users and banning advertisers from channels.
 
83
 
 
84
    You can also link multiple Eggdrop bots together to form a botnet. This
 
85
    can allow bots to op each other securely, control floods efficiently, and
 
86
    even link channels across multiple IRC networks. It also allows the
 
87
    Eggdrops share user lists, ban lists, exempt/invite lists, and ignore
 
88
    lists with other bots if userfile sharing is enabled. This allows users
 
89
    to have the same access on every bot on your botnet. It also allows the
 
90
    bots to distribute tasks such as opping and banning users. See doc/BOTNET
 
91
    for information on setting up a botnet.
 
92
 
 
93
    Eggdrop is always being improved and adjusted because there are bugs to
 
94
    be fixed and features to be added (if the users demand them, and they make
 
95
    actually sense). In fact, it existed for several years as v0.7 - v0.9
 
96
    before finally going 1.0. This version of Eggdrop is part of the 1.6 tree.
 
97
    A valiant effort has been made to chase down and destroy bugs.
 
98
 
 
99
    This README file contains information about how to get Eggdrop, command
 
100
    line options for Eggdrop, what you may need to do when upgrading from
 
101
    older versions, a list of frequently asked questions, how to set up a
 
102
    crontab, some boring legal stuff, info about the mailing list (a great
 
103
    place to ask questions, and a good place to report bugs, too), some basics
 
104
    about CVS usage, and some channels where you might get help with Eggdrop.
 
105
 
 
106
 
 
107
  (2) HOW TO GET EGGDROP
 
108
 
 
109
    Before you can compile Eggdrop, you need to have Tcl installed on your
 
110
    system. Most systems should have Tcl on them by now -- you can check by
 
111
    trying the command "tclsh". If it works, you will be given a "%" prompt,
 
112
    and you can type "exit" to exit the program. This means Tcl is installed
 
113
    on your system. If tclsh doesn't load, then Tcl probably isn't on your
 
114
    system, and you will need to install it. The best ftp site for Tcl is
 
115
    ftp://tcl.activestate.com/pub/tcl/.
 
116
 
 
117
    Tcl comes with the most distributions of Linux. HOWEVER, the one that comes
 
118
    on Slackware 3.0 is goofed up and you'll have to re-install it for yourself
 
119
    to get it working.
 
120
 
 
121
    Currently, the 1.6 tree of Eggdrop is developed at eggheads.org. You can
 
122
    get the latest version of Eggdrop from the following url:
 
123
 
 
124
      http://www.geteggdrop.com
 
125
 
 
126
    You might try www.eggheads.org for help and information.
 
127
 
 
128
 
 
129
  (2a) CVS USAGE
 
130
 
 
131
    You can obtain the VERY LATEST version of Eggdrop, that is still under
 
132
    development, by using CVS. CVS means 'Concurrent Versions System' and is
 
133
    a tool for developers to always keep source code up to date. Try 'man cvs'
 
134
    on your shell for more information about CVS.
 
135
 
 
136
    This is intended only for users that know a good bit about Eggdrop. Be
 
137
    aware that the versions of Eggdrop that you get via CVS are still being
 
138
    developed, and may be buggy. The Eggheads Development Team will in NO WAY
 
139
    take any responsibility for whatever might happen to you or your shell if
 
140
    you use a CVS version of Eggdrop.
 
141
 
 
142
    To obtain Eggdrop over CVS, do as follows:
 
143
 
 
144
      1. Log into your shell.
 
145
 
 
146
      2. Type: 'export
 
147
         CVSROOT=:pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot'.
 
148
 
 
149
      3. Type 'cvs login'.
 
150
 
 
151
      4. Press <enter> when prompted for a password.
 
152
 
 
153
      5. In your home dir, type 'cvs checkout eggdrop1.6'
 
154
 
 
155
      6. In ~/eggdrop1.6, you should have a copy of the latest CVS version
 
156
         of Eggdrop.
 
157
 
 
158
    Notes:
 
159
 
 
160
      o You can 'cvs logout', but you don't need to.
 
161
 
 
162
      o You don't need to go through this whole process every time. If you
 
163
        want to get a CVS version of Eggdrop at a later time, you can just
 
164
        'cd ~/eggdrop1.6' and type 'cvs update -CdAP'.
 
165
 
 
166
      o If you experience errors when using 'export', you might be using tclsh
 
167
        as a shell. If so, try using the command 'setenv' instead of 'export':
 
168
 
 
169
          setenv CVSROOT :pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot
 
170
 
 
171
 
 
172
  (3) QUICK STARTUP
 
173
 
 
174
    Please see the 'INSTALL' file AFTER you finish reading this file.
 
175
 
 
176
 
 
177
  (4) UPGRADING
 
178
 
 
179
 
 
180
  (4a) UPGRADING FROM A PRE-1.3 VERSION TO 1.6
 
181
 
 
182
    #### BACK UP YOUR USERFILE ####
 
183
 
 
184
    We can't stress this enough. If you are upgrading and you have even a
 
185
    slight possibility of downgrading again later, you will HAVE to back up
 
186
    your userfile, or you will lose it. v1.3 of Eggdrop radically changed a
 
187
    lot of things.
 
188
 
 
189
    There are many major changes between v0.9, v1.0, v1.1 and v1.6, so PAY
 
190
    ATTENTION to this part if you have a v0.9, 1.0 or 1.1 bot currently. If
 
191
    you're just starting out, you can skip this section.
 
192
 
 
193
    If you run share bots, you will need to upgrade them all at the same time
 
194
    because of the new userfile format. Older bots will be able to link in,
 
195
    but will not get or send a userfile. MAKE A NEW CONFIG FILE from the
 
196
    example; there are some radical changes.
 
197
 
 
198
    If you are upgrading from 0.9/1.0 to 1.6, just redo the whole thing.
 
199
    Absolutely everything has changed, including the userfile and config file
 
200
    formats.
 
201
 
 
202
    If you are upgrading from 1.1/1.2 to 1.6, you will likely want to redo
 
203
    the config file, as much as changed. BACK UP! You will need to run 'tclsh
 
204
    scripts/weed/<userfile> c' to convert your userfile from v3 (1.1/1.2) to
 
205
    v4 (1.3/1.4/1.5/1.6).
 
206
 
 
207
 
 
208
  (4b) UPGRADING FROM AN OLDER 1.3/1.4/1.5/1.6 VERSION TO A NEWER 1.6 VERSION
 
209
 
 
210
    If you followed the 'INSTALL' file and did a 'make install' (or 'make
 
211
    install DEST="path"') after 'make', this will be pretty easy. Just upload
 
212
    the new eggdrop1.6.x.tar.gz file to your home dir on your shell, gunzip
 
213
    and untar it, and type 'cd ~/eggdrop1.6.x'. Next, type './configure',
 
214
    'make config' or 'make iconfig', then 'make'. Then, kill the bot ('.die'
 
215
    on the party line), and 'make install' to the same directory your bot
 
216
    is currently in. After that, you can just restart your bot. You may wish
 
217
    to delete the old Eggdrop executable and modules as well, especially if
 
218
    you have limited disk space.
 
219
 
 
220
    You should read through the new eggdrop.conf file for all of the new
 
221
    options in Eggdrop 1.6.x if you are upgrading from 1.3.x or 1.4.x. You
 
222
    can copy and paste any of these settings into you current conf file if
 
223
    you do not want to use the default settings.
 
224
 
 
225
 
 
226
  (5) COMMAND LINE
 
227
 
 
228
    Eggdrop has some command-line options -- not many, because most things
 
229
    should be defined through the config file. However, sometimes you may
 
230
    want to start up the bot in a different mode, and the command-line
 
231
    options let you do that. Basically, the command line for Eggdrop is:
 
232
 
 
233
      % eggdrop [options] [config-file]
 
234
 
 
235
    The options available are:
 
236
 
 
237
      -n: Don't background. Normally, Eggdrop will move itself into the
 
238
          background when you start it up, meaning you'll get another shell
 
239
          prompt, and you can do other things while the bot is running. With
 
240
          -n, you won't return to the shell prompt until the bot exits (which
 
241
          won't normally happen until it's killed). By default, -n will send
 
242
          all log entries to the console.
 
243
 
 
244
      -nt: Don't background, use terminal. This is just like -n, except that
 
245
           instead of seeing log entries, your console will simulate a DCC
 
246
           chat with the bot.
 
247
 
 
248
      -nc: Don't background, show channel info. This is just like -n, except
 
249
           that instead of seeing log entries, every 10 seconds your screen
 
250
           will clear and you will see the current channel status, sort of
 
251
           like "top".
 
252
 
 
253
      -m: Create userfile. If you don't have a userfile, this will make Eggdrop
 
254
          create one and give owner status to the first person that introduces
 
255
          himself or herself to it. You'll need to do this when you first set
 
256
          up your bot.
 
257
 
 
258
      -v: Show version info, then quit.
 
259
 
 
260
    Most people never use any of the options except -m, and you usually only
 
261
    need to use that once.
 
262
 
 
263
 
 
264
  (6) FREQUENTLY ASKED QUESTIONS (or "Why doesn't this thing work?")
 
265
 
 
266
    6a. WHAT DO I DO IF I GET THE ERROR "USER FILE NOT FOUND"?
 
267
 
 
268
      1. Run Eggdrop with the "-m" option (i.e. "eggdrop -m eggdrop.conf").
 
269
 
 
270
      2. Go to IRC and send "hello" to your bot (i.e. "/msg mybot hello").
 
271
 
 
272
      3. You will become an owner on your bot. You can leave the bot running
 
273
         (nobody else will become an owner if they say "hello"), but in the
 
274
         future, don't use the "-m" option when running the bot.
 
275
 
 
276
    6b. MY EGGDROP WON'T RUN; IT JUST SAYS "CAN'T FIND YOUR HOSTNAME!"
 
277
 
 
278
      Your machine is set up strangely, and Eggdrop can't figure out its
 
279
      network hostname. You can get around this by setting the my-ip setting
 
280
      in the config file correctly.
 
281
 
 
282
    6c. WHAT THE HECK IS Tcl?
 
283
 
 
284
      Tcl is a scripting language written by John Ousterhout. It's much better
 
285
      than most "built-in" script languages (like the one in ircII) and is
 
286
      meant to be linked with anything needing a  scripting language, so I
 
287
      linked it with Eggdrop. The file "tcl-commands.doc" in the doc directory
 
288
      contains a list of additional Tcl commands provided by Eggdrop. There
 
289
      are also several example scripts in the scripts/ directory, and one in
 
290
      the doc directory called first_script.txt. Hundreds of scripts floating
 
291
      around on the ftp/web sites if you like working by example (which is
 
292
      typically the best way).
 
293
 
 
294
    6d. MY BOT DIES, AND THE LAST ENTRY IN THE LOGFILE IS "RECEIVED TERMINATE
 
295
        SIGNAL". WHAT DOES THAT MEAN, AND CAN I PREVENT IT?
 
296
 
 
297
      There's nothing you can do to prevent it. It means the system
 
298
      administrator is killing the Eggdrop process. Most of the time, it's an
 
299
      automatic thing that happens when the system is being rebooted, so it's
 
300
      harmless. If you have a crontab running, the bot will get restarted when
 
301
      the system is back online. Occasionally, the system administrator will
 
302
      kill the bot manually. For example, if he/she doesn't want bots running
 
303
      on the system.
 
304
 
 
305
    6e. MY COMPILE DIES AT THE LAST MINUTE WITH "LD FATAL SIGNAL 11"!
404
306
      
405
 
               0,10,20,30,40,50 * * * * /home/mydir/botchk
406
 
 
407
 
          If you don't want to get emails from cron, use this:
408
 
 
409
 
               0,10,20,30,40,50 * * * * /home/mydir/botchk >/dev/null 2>&1
410
 
 
411
 
          Naturally, you need to change the path to the correct path for
412
 
          botchk. If you've never used crontab before, here is a simple way
413
 
          to add that line:
414
 
 
415
 
               (1) Create a new file called 'mycron' and put the above
416
 
                   line into it.
417
 
                    
418
 
               (2) From your shell prompt, type '% crontab mycron'.
419
 
 
420
 
          That will create a new crontab entry for you with a line that 
421
 
          runs botchk every ten minutes. Botchk will then restart the bot when
422
 
          necessary (and send you email informing you).
423
 
 
424
 
     (6a) SETTING UP A CRONTAB USING AUTOBOTCHK
425
 
 
426
 
          Included with your Eggdrop is an Eggdrop utility called 
427
 
          'autobotchk'. Using autobotchk is probably the fastest way of
428
 
          creating your botchk and crontabbing it with just a few required
429
 
          steps.
430
 
 
431
 
          To crontab your bot, follow these steps:
432
 
 
433
 
          (1) Type 'cp scripts/autobotchk ..'.
434
 
 
435
 
          (2) Type './autobotchk <Eggdrop config file>'.
436
 
 
437
 
          This will hopefully crontab your bot using the default
438
 
          setup. If you want a list of autobotchk options, type
439
 
          './autobotchk'. An example with options would be:
440
 
 
441
 
          ./autobotchk <Eggdrop config file> -noemail -5
442
 
 
443
 
          This would setup crontab to run the botchk every 5 minutes
444
 
          and also to not send you e-mail saying that it restarted
445
 
          your bot.
446
 
 
447
 
     (7) BORING LEGAL STUFF
448
 
 
449
 
          The Eggdrop bot is copyright (C) by Robey Pointer. As of January,
450
 
          1997, Eggdrop is distributed according to the GNU General Public 
451
 
          License. There should be a copy of this license in the file 
452
 
          'COPYING'. If not, write to the Free Software Foundation, Inc., 
453
 
          675 Mass Ave, Cambridge, MA 02139, USA.
454
 
 
455
 
          As of eggdrop1.3.28, all changes made by the Eggheads development
456
 
          team to the Eggdrop source code and any related files are copyright
457
 
          (C) by Eggheads. The source code will still be distributed according 
458
 
          to the GNU General Public License as Robey Pointer did in the past.
459
 
 
460
 
          Releases previous to 1.0m were made using a different licensing 
461
 
          scheme. You may, at your option, use the GNU General Public License
462
 
          on those versions (instead of the license packaged with them) with 
463
 
          my blessing. For any versions bearing a copyright date of 1997 or 
464
 
          later, you have no choice -- you must use the GNU General Public 
465
 
          License.
466
 
 
467
 
          The files "match.c", "net.c", and "blowfish.c" are exempt from
468
 
          the above restrictions. "match.c" is original code by Chris Fuller
469
 
          (email: crf@cfox.bchs.uh.edu) and has been placed by him into the 
470
 
          public domain. "net.c" is by me and I [who?] also choose to place 
471
 
          it in the public domain. "blowfish.c" is by various sources and is 
472
 
          in the public domain as well. All 3 files contain useful functions 
473
 
          that could easily be ported to other applications.
474
 
 
475
 
          Tcl is by John Ousterhout and is in no way affiliated with Eggdrop.
476
 
          It likely has its own set of copyrights and whatnots.
477
 
 
478
 
          There is no warranty, implied or whatever. You use this software 
479
 
          at your own risk, no matter what purpose you put it to.
480
 
 
481
 
     (8) MAILING LIST
482
 
 
483
 
          There are currently a couple of mailing lists about Eggdrop.
484
 
          eggheads@eggheads.org is the one relevant for posts about
485
 
          Eggdrop 1.4 and up (suggestions, help, etc).
486
 
 
487
 
          To subscribe to the eggheads mailing list, send email to
488
 
          eggheads-request@eggheads.org. In the body of the message, put 
489
 
          "subscribe eggheads". You can also go to the following url:
490
 
 
491
 
            http://scrambled.eggheads.org/mailman/listinfo/eggheads
492
 
 
493
 
                  ### DO NOT SEND ROBEY EMAIL ABOUT EGGDROP ###
494
 
 
495
 
          Robey is no longer developing the Eggdrop code, so don't bother
496
 
          e-mailing him. If you have a serious problem, email the eggheads
497
 
          mailing list and it will get to the coders.
498
 
 
499
 
          Please, before posting to this list, see what things are like.
500
 
          When you do post, read over your post for readability, spelling, and
501
 
          grammar mistakes. Obviously, we're all human (or are we?) and we
502
 
          all make mistakes (heck, look at this document! ;).
503
 
 
504
 
          Open discussion and debate is integral to change and progress.
505
 
          Don't flame others over mere form (grammar and spelling), or 
506
 
          even substantive issues for that matter. Please read and follow 
507
 
          the mailing list rules.
508
 
 
509
 
          The eggheads@eggheads.org mailing list is not dedicated to those 
510
 
          all too common questions we have all seen on other lists... For 
511
 
          example:
512
 
 
513
 
          "Why does my bot say this: Please edit your config file."
514
 
          "How do I telnet my bot?"
515
 
          "Where do I get Eggdrop for windows??????"
516
 
          etc..
517
 
 
518
 
          Technical questions, your thoughts or suggestions on new features 
519
 
          being added to Eggdrop, things that should be removed or fixed, 
520
 
          amazing problems that even stump the guru's, etc. are what we want 
521
 
          to see here.
522
 
 
523
 
          Bug reports should be sent to bugs@eggheads.org. Please read
524
 
          and fill out the BUG-REPORT file in the doc directory.
525
 
 
526
 
          DO NOT SEND HTML E-MAILS TO ANY OF THE EGGHEADS.ORG MAILING LISTS. 
527
 
          ANYONE CAUGHT SENDING HTML E-MAILS TO ONE OF THESE LISTS WILL BE 
528
 
          REMOVED IMMEDIATELY!
529
 
 
530
 
     (9) DOCUMENTATION
531
 
 
532
 
          We're trying to keep the documentation up to date. If you feel 
533
 
          that anything is missing here or that anything should be added, 
534
 
          etc, please email eggheads@eggheads.org about it. Thank you.
535
 
 
536
 
     (10) OBTAINING HELP
537
 
 
538
 
          You can obtain help with Eggdrop in the following IRC channels:
539
 
 
540
 
          Undernet - #eggdrop, #eggheads
541
 
          EFnet - #egghelp, #eggfaq
542
 
          IRCnet - #eggdrop
543
 
          DALnet - #eggdrop
544
 
 
545
 
          If you plan to ask questions in any of the above channels,
546
 
          you should be familiar with and follow IRC etiquette.
547
 
 
548
 
         -   Don't type using CAPITAL letters, colors, or bold, and don't use 
549
 
             "!" and "?" excessively.
550
 
 
551
 
         -   Don't /msg people without their permission.
552
 
 
553
 
         -   Don't repeat or paste large amounts of text to the channel.
554
 
 
555
 
          If there are any other serious Eggdrop related channels that should
556
 
          be added to the above list, please let us know.
 
307
      See doc/compiling.FAQ.
 
308
 
 
309
    6f. SOMEONE ELSE SET UP A BOT I DON'T LIKE. ARE THERE ANY BACKDOORS I CAN
 
310
        USE TO TAKE THEIR BOT DOWN?
 
311
 
 
312
      No, there have never been any backdoors and there never will be, so
 
313
      please stop asking. Every once in a while, someone finds a way to
 
314
      exploit a bug in Eggdrop, but we fix these bugs as soon as we find out
 
315
      about them. If you want to bring down someone else's bot, you will not
 
316
      have my/our help.
 
317
 
 
318
    6g. WHAT ARE MODULES?
 
319
 
 
320
      Modules are a way of adding extra features to the bot, much like Tcl
 
321
      scripts, without requiring the bot to be recompiled. See doc/MODULES
 
322
      for more information.
 
323
 
 
324
    6h. CAN I COMPILE EGGDROP WITHOUT DYNAMIC MODULES?
 
325
 
 
326
       Yes, you can. If the configure script detects that your system CAN'T
 
327
       run modules, it will setup 'make' to link the modules in statically
 
328
       for you. You can choose this option yourself by using 'make static'.
 
329
       You can also try to compile dynamic modules on a static-only system
 
330
       by using 'make eggdrop'.
 
331
 
 
332
    6h1. DO I STILL NEED TO 'loadmodule' MODULES?
 
333
 
 
334
      YES, when you compile statically, all the modules are linked into the
 
335
      main executable. HOWEVER, they are not enabled until you use loadmodule
 
336
      to enable them, hence you get nearly the same functionality with static
 
337
      modules as with dynamic modules.
 
338
 
 
339
    6i. WHERE CAN I GET A PRE-COMPILED EGGDROP FOR MY COMPUTER?
 
340
 
 
341
      It is HIGHLY recommended AGAINST using pre-compiled Eggdrops from
 
342
      un-trusted sources. Eggdrop has been a regular target for hacking and
 
343
      crashing. Distribution of pre-compiled (binary) versions of Eggdrop are
 
344
      the easiest way for hackers to provide you with the easiest (and most
 
345
      dangerous) way of gaining access to, not only your bot, but to your
 
346
      computer account directly. Don't advertise your pre-compiled Eggdrop
 
347
      binary sites on the Eggdrop list either. =P
 
348
 
 
349
    6j. I GET 'Makefile:3 :invalid operator' OR SOME-SUCH-THING WHEN I TRY
 
350
        TO 'make'.
 
351
 
 
352
      Try 'gmake'.
 
353
 
 
354
    6k. WHEN I 'tclsh scripts/weed <userfile> c' IT BARFS CHUNKS AT ME AND
 
355
        DIES. :(
 
356
 
 
357
      Upgrade your Tcl. You are probably using Tcl 7.5 or earlier. Some of the
 
358
      commands in weed require Tcl7.6 to run, so either upgrade it or remove
 
359
      the offending lines from you userfile manually (those starting with '.'
 
360
      generally) and accept the loss of that data.
 
361
 
 
362
    6l. I GET "ld-elf.so.1: Shared object "libtcl80.so.1" not found" or
 
363
        "eggdrop: error in loading shared libraries libtcl8.1.so: \
 
364
        cannot open shared object file: No such file or directory" WHEN I TRY
 
365
        TO START MY BOT.
 
366
 
 
367
      './configure' is looking in the wrong place for Tcl; it looks like it
 
368
      compiled with one version of Tcl and tries to load another. Maybe your
 
369
      sysadmin upgraded Tcl and didn't tell you. In that case, you should just
 
370
      need to recompile your bot.
 
371
 
 
372
      Maybe, when upgrading, he didn't clean the old version of Tcl and
 
373
      './configure' is looking for the files in the wrong places, or trying
 
374
      to use different versions of tcl.h and libtcl*. Smack your admin and
 
375
      have him install Tcl properly. ;)
 
376
 
 
377
      You can also try:
 
378
 
 
379
        ./configure --with-tcllib=<path-to-tcl-lib>
 
380
                    --with-tclinc=<path-to-tcl-inc>
 
381
 
 
382
      This will tell configure where to look for the Tcl files.
 
383
 
 
384
      Try looking for libtcl by:
 
385
 
 
386
        ls /usr/lib/libtcl*
 
387
        ls /usr/local/lib/libtcl*
 
388
 
 
389
      Try looking for tcl.h by:
 
390
 
 
391
        ls /usr/include/tcl.h
 
392
        ls /usr/local/include/tcl.h
 
393
 
 
394
        If everything else fails, try to install Tcl to your home dir ;)
 
395
        (Suggested by dw@Undernet, dw@lixom.nu)
 
396
 
 
397
    6m. I GET A WHOLE PILE OF "Unresolved symbol 'Tcl_AppendResult'" (OR SOME
 
398
        OTHER SYMBOL) WHEN I TRY TO LOAD A MODULES.
 
399
 
 
400
      POSSIBILITY A: See section 6l.
 
401
 
 
402
      POSSIBILITY B:
 
403
 
 
404
        Some of the standard libraries have been compiled for static linking
 
405
        only on your machine, you have 3 options:
 
406
 
 
407
          1. If it's your own machine, recompile Tcl using dynamic linking by
 
408
             using './configure --enable-shared' when you configure Tcl (not
 
409
             the bot) and then remake, and reinstall.
 
410
 
 
411
          2. If it's not your machine, you may have to resort to 'make static'
 
412
             and 'make install DEST="path"' to make and install your bot.
 
413
 
 
414
          3. If you are of a more aggressive sense of mind, go beat the
 
415
             stuffing out of your admin for having lame static libraries. :)
 
416
 
 
417
 
 
418
  (7) SETTING UP A CRONTAB
 
419
 
 
420
    Eggdrop has become more stable with time, thanks mostly to people
 
421
    reporting bug details and helping find places where it crashes. However,
 
422
    there are still a -few- places where things aren't perfect. Few, if any,
 
423
    things in life are.
 
424
 
 
425
    Also, most systems go down from time to time. These things cause your bot
 
426
    to disappear from IRC, and you have to restart it.
 
427
 
 
428
    Eggdrop comes with a shell script called 'botchk' that will help keep the
 
429
    bot online. It will make the machine check every ten minutes to make sure
 
430
    your bot is still running. To use it, you have to add a line to your
 
431
    crontab. First, edit 'botchk' and change the directory and command line
 
432
    parameters so that it will be able to start up your bot. Then, add this
 
433
    line to your crontab:
 
434
 
 
435
      0,10,20,30,40,50 * * * * /home/mydir/botchk
 
436
 
 
437
    If you don't want to get e-mails from cron, use this:
 
438
 
 
439
      0,10,20,30,40,50 * * * * /home/mydir/botchk >/dev/null 2>&1
 
440
 
 
441
    Naturally, you need to change the path to the correct path for botchk. If
 
442
    you've never used crontab before, here is a simple way to add that line:
 
443
 
 
444
      1. Create a new file called 'mycron' and put the above line into it.
 
445
 
 
446
      2. From your shell prompt, type '% crontab mycron'.
 
447
 
 
448
    That will create a new crontab entry for you with a line that runs botchk
 
449
    every ten minutes. Botchk will then restart the bot when necessary (and
 
450
    send you email informing you).
 
451
 
 
452
 
 
453
  (7a) SETTING UP A CRONTAB USING AUTOBOTCHK
 
454
 
 
455
    Included with your Eggdrop is an Eggdrop utility called 'autobotchk'.
 
456
    Using autobotchk is probably the fastest way of creating your botchk and
 
457
    crontabbing it with just a few required steps:
 
458
 
 
459
      1. Type 'cp scripts/autobotchk ..'.
 
460
 
 
461
      2. Type './autobotchk <Eggdrop config file>'.
 
462
 
 
463
    This will hopefully crontab your bot using the default setup. If you want
 
464
    a list of autobotchk options, type './autobotchk'. An example with options
 
465
    would be:
 
466
 
 
467
      ./autobotchk <Eggdrop config file> -noemail -5
 
468
 
 
469
    This would setup crontab to run the botchk every 5 minutes and also to
 
470
    not send you e-mail saying that it restarted your bot.
 
471
 
 
472
 
 
473
  (8) BORING LEGAL STUFF
 
474
 
 
475
    The Eggdrop bot is copyright (C) by Robey Pointer. As of January, 1997,
 
476
    Eggdrop is distributed according to the GNU General Public License. There
 
477
    should be a copy of this license in the file 'COPYING'. If not, write to
 
478
    the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
479
 
 
480
    As of eggdrop1.3.28, all changes made by the Eggheads development team to
 
481
    the Eggdrop source code and any related files are copyright (C) by
 
482
    Eggheads. The source code will still be distributed according to the GNU
 
483
    General Public License as Robey Pointer did in the past.
 
484
 
 
485
    Releases previous to 1.0m were made using a different licensing scheme.
 
486
    You may, at your option, use the GNU General Public License on those
 
487
    versions (instead of the license packaged with them) with my blessing.
 
488
    For any versions bearing a copyright date of 1997 or later, you have
 
489
    no choice -- you must use the GNU General Public License.
 
490
 
 
491
    The files "match.c", "net.c", and "blowfish.c" are exempt from the above
 
492
    restrictions. "match.c" is original code by Chris Fuller (email:
 
493
    crf@cfox.bchs.uh.edu) and has been placed by him into the public domain.
 
494
    "net.c" is by me, and I [who?] also choose to place it in the public
 
495
    domain. "blowfish.c" is by various sources and is in the public domain
 
496
    as well. All 3 files contain useful functions that could easily be
 
497
    ported to other applications.
 
498
 
 
499
    Tcl is by John Ousterhout and is in no way affiliated with Eggdrop. It
 
500
    likely has its own set of copyrights and whatnots.
 
501
 
 
502
    There is no warranty, implied or whatever. You use this software at your
 
503
    own risk, no matter what purpose you put it to.
 
504
 
 
505
 
 
506
  (9) MAILING LIST
 
507
 
 
508
    There are currently a couple of mailing lists about Eggdrop.
 
509
    eggheads@eggheads.org is the one relevant for posts about Eggdrop 1.4 and
 
510
    up (suggestions, help, etc).
 
511
 
 
512
    To subscribe to the eggheads mailing list, send e-mail to
 
513
    eggheads-request@eggheads.org. In the body of the message, put "subscribe
 
514
    eggheads". You can also go to the following url:
 
515
 
 
516
      http://scrambled.eggheads.org/mailman/listinfo/eggheads
 
517
 
 
518
    ### DO NOT SEND ROBEY EMAIL ABOUT EGGDROP! ###
 
519
 
 
520
    Robey is no longer developing the Eggdrop code, so don't bother e-mailing
 
521
    him. If you have a serious problem, email the eggheads mailing list and
 
522
    it will get to the coders.
 
523
 
 
524
    Please, before posting to this list, see what things are like. When you do
 
525
    post, read over your post for readability, spelling, and grammar mistakes.
 
526
    Obviously, we're all human (or are we?) and we all make mistakes (heck,
 
527
    look at this document! ;).
 
528
 
 
529
    Open discussion and debate is integral to change and progress. Don't flame
 
530
    others over mere form (grammar and spelling), or even substantive issues
 
531
    for that matter. Please read and follow the mailing list rules.
 
532
 
 
533
    The eggheads@eggheads.org mailing list is not dedicated to those all too
 
534
    common questions we have all seen on other lists... For example:
 
535
 
 
536
      o "Why does my bot say this: Please edit your config file."
 
537
      o "How do I telnet my bot?"
 
538
      o "Where do I get Eggdrop for windows??????"
 
539
 
 
540
    Technical questions, your thoughts or suggestions on new features being
 
541
    added to Eggdrop, things that should be removed or fixed, amazing problems
 
542
    that even stump the guru's, etc. are what we want to see here.
 
543
 
 
544
    Bug reports should be sent to bugs@eggheads.org. Please read and fill out
 
545
    the BUG-REPORT file in the doc directory.
 
546
 
 
547
    DO NOT SEND HTML E-MAILS TO ANY OF THE EGGHEADS.ORG MAILING LISTS. ANYONE
 
548
    CAUGHT SENDING HTML E-MAILS TO ONE OF THESE LISTS WILL BE REMOVED
 
549
    IMMEDIATELY!
 
550
 
 
551
 
 
552
  (10) DOCUMENTATION
 
553
 
 
554
    We're trying to keep the documentation up to date. If you feel that
 
555
    anything is missing here or that anything should be added, etc, please
 
556
    e-mail docteam@eggheads.org about it. Thank you.
 
557
 
 
558
 
 
559
  (11) OBTAINING HELP
 
560
 
 
561
    You can obtain help with Eggdrop in the following IRC channels:
 
562
 
 
563
      Undernet - #eggdrop, #eggies
 
564
      EFnet - #egghelp, #eggfaq
 
565
      IRCnet - #eggdrop
 
566
      DALnet - #eggdrop, #botcentral
 
567
      OPN - #eggdrop, #egghelp
 
568
      QuakeNet - #eggdrop
 
569
 
 
570
    If you plan to ask questions in any of the above channels, you should be
 
571
    familiar with and follow IRC etiquette.
 
572
 
 
573
      o Don't type using CAPITAL letters, colors, or bold.
 
574
 
 
575
      o Don't use  "!" and "?" excessively.
 
576
 
 
577
      o Don't /msg people without their permission.
 
578
 
 
579
      o Don't repeat or paste large amounts of text to the channel.
 
580
 
 
581
    If there are any other serious Eggdrop related channels that should be
 
582
    added to the above list, please let us know.
557
583
 
558
584
  ________________________________________________________________________
559
585
 
560
586
Copyright (C) 1997 Robey Pointer
561
 
Copyright (C) 1999, 2000, 2001, 2002 Eggheads Development Team
 
587
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team
 
588