QUICK STARTUP:

(1) Edit 'Makefile' to specify your system.  Currently eggdrop is known
    to compile under:
      SunOS, NeXT, Linux, Ultrix, BSD/386(maybe), HP-UX(maybe), AIX
    If you're compiling with Tcl (HIGHLY RECOMMENDED), be sure to set the
    directories appropriately.
(2) Edit 'src/eggdrop.h' to your liking if you're the hacker type, or if you
    have trouble compiling.
(3) USING TCL: Edit 'lamestbot' (a sample script) and rename it to something
      you can remember (like "mybot")
    NOT USING TCL: Rename 'egg.config.dist' to 'egg.config' and edit it
(4) Type 'make' from this directory.
(5) Start the bot with the "-m" option to create a user file.
    TCL: ie, "eggdrop -m lamestbot"
    NON-TCL: ie, "eggdrop -m"
(6) When starting the bot in the future, drop the "-m".  If you compiled with
    Tcl and have edited your bot script correctly, you can type:
      chmod u+x <my-bot-script-name>
    and from then on, you will be able to run your bot directly from the
    script.  Ie, you can just type "lamestbot" from your shell prompt, to
    start up your bot.


UPGRADING:

--- 0.9d
    the bot is now meant to be linked with Tcl; this is specified in the
    Makefile; the current version of Tcl can be found in
      ftp://ftp.cs.berkeley.edu/ucb/tcl
    if it's not already available on your system
    YOU WILL HAVE TO REFORMAT YOUR CONFIG FILE IF YOU COMPILE WITH TCL

--- 0.9e
    existing Tcl scripts may have to be edited

--- 0.9g
    if you use share-bots, upgrade them all of them simultaneously -- user
    records for other bots are no longer swapped, so a non-upgraded bot will
    either lose or create duplicate bot entries

Type 'make eggdrop' from this directory.


WHAT DO I DO IF I GET THE ERROR "USER FILE NOT FOUND"?

(1) Run eggdrop with the "-m" option (ie, "eggdrop -m mybot").
(2) Go to IRC and send "hello" to your bot (ie, "/msg mybot hello").
(3) You will become a master on your bot.  You can leave the bot running
    (nobody else will become a master if they say "hello"), but in the future
    don't use the "-m" option when running the bot.


WHAT DO I DO IF I GET A WARNING WHILE COMPILING THAT SAYS "ATOL REDEFINED"?

You must be using gcc.  Just ignore it, the redefinition of atol() is
intentional, because on some crappy BSD/386 systems, atol() is broken.


MY EGGDROP WON'T RUN; IT JUST SAYS "CAN'T FIND YOUR HOSTNAME!"

Your machine is set up strangely, and eggdrop can't figure out its network
hostname.  You can get around this by setting an environment variable called
HOSTNAME.  In sh or ksh:
  $ HOSTNAME=myhost.domain.edu
  $ export HOSTNAME
In csh or tcsh:
  % setenv HOSTNAME myhost.domain.edu
It should work after that.  You may want to bug your system administrator to
set up her /etc/hosts file correctly, or add those above commands to your
'.login' file (sh or ksh: '.profile').


WHAT THE HECK IS TCL?

Tcl is a scripting language written by John Ousterhout.  It's much better
than most "in-built" script langauges (like the one in ircII) and is meant
to be linked with anything needing a script langauge.  So I linked it with
eggdrop.  Most systems should have Tcl on them by now -- you can check by
trying the command "tclsh".  If it works, you will be given a "%" prompt,
and you can type "exit" to exit the program.  That means Tcl is on your
system.  If tclsh doesn't load, then Tcl probably isn't on your system, and
you will need to ftp it if you want to use the script language features of
eggdrop.  The best ftp site is:
   ftp://ftp.cs.berkeley.edu/ucb/tcl
and I think the current version is 7.3 (that's the one I used, anyway).

The file "ext" in the eggdrop directory contains a list of the commands added
to Tcl by eggdrop.  Another file, "lamestbot", is a script file meant to be
executed from the command line.  It starts up an eggdrop bot called "LamestBot"
which sits on channel #lamest.  NOTE THAT IF YOU COMPILE WITH TCL, YOUR CONFIG
FILE MUST LOOK LIKE THIS, NOT LIKE EGG.CONFIG.DIST.  The file "botkick" is a
sample script file which implements a "kick" command via msg.


MY BOT SEEMS TO BE CREATING "ZOMBIE" PROCESSES ON THE SYSTEM. HELP!

Some operating systems apparently don't properly signal eggdrop when processes
die.  A kludge has been put into the bot to fix this, if necessary, by trying
to search for zombies every so often.  Go into the file "eggdrop.h" and change
the line:
   #undef HUNT_ZOMBIES
to:
   #define HUNT_ZOMBIES
This seems to fix the zombie problem on every system I've tried it on.


COMPILE ERROR: SOMETHING ABOUT "WAITPID"?

You're trying to hunt for zombies on a non-posix compliant system.  I can't
really help you any more. :)  Go back and #undef HUNT_ZOMBIES.


WHEN MY BOT GETS DUMPED OFF A FEW SERVERS IN A ROW, IT DIES AND SAYS THAT
NO SERVER WILL CONNECT WITH IT.  I DON'T LIKE THAT.  I WANT IT TO KEEP TRYING
FOREVER AND EVER UNTIL A SERVER WILL ACCEPT IT.

Go into "eggdrop.h", find the line:
   #undef NEVER_GIVE_UP
and change it to:
   #define NEVER_GIVE_UP


MY USER LIST IS VERY LARGE.  HOW CAN I CUT IT DOWN?

There is a Tcl script called "weed" distributed with eggdrop.  To use it, type:
   tclsh weed
It will give you a list of options for weeding out your userlist.  You can
erase users who haven't been on the channel within a specified number of days,
or erase any ops who haven't set a password yet, etc.  Lots of options.


Robey Pointer <robey@ulca10.residence.gatech.edu>



AUTO-RESTART PROGRAM

The auto-restart program I was running on Valis proved to be pretty popular,
so it's now packaged with the bot.  The two files are "botchk" and "autore.c".
The first file is a csh script which checks the machine's process list for
an eggdrop bot running, and if it can't find one, loads eggdrop.  The second
file is in C and needs to be compiled; it listens at telnet port 1974, and,
whenever someone telnets to that port, it runs the csh script.

The csh script MUST BE EDITED FIRST!  You need to change the command line and
directories to point to your bot.  You may also want to edit the C file to
change the telnet port it listens to.  It's not a very user-friendly setup,
so if you're a novice at this stuff, you probably shouldn't try to run the
auto-restart program.

The "botchk" script, by itself, might be a good candidate for your crontab
file.  If you don't know what that is, don't worry about it.


DISTRIBUTION

The latest version of eggdrop code is always available on Valis (irc bot)
in the root dcc directory.  If you do not have file access on Valis, make
sure it knows who you are (/msg it 'hello'), and you should get automatic
file access.  If not, send email to:
   robey@wc130.residence.gatech.edu
and I will give you file access.  I like to know who's running the bot, so
please drop me an email sometime!  The code on Valis is guaranteed not to
have any (known) "back doors", etc...  I can't vouch for code you get any-
where else.

A better way to get the bot is to type:
   % telnet maverick.math.uic.edu 1994 | sh
When it's done, you should have a file like 'eggdrop0.9e.tar.gz' (or the
lastest version) in your current directory.

I copyright the code, but grant anyone permission to use it, so long as
the copyright notices stay in place.  You may modify the code for your own
purposes in any way you choose, but you may not distribute the bot, or any
entire file of it, after you have modified it.  This is because, even though
I'm sure *most* people are probably better coders than I am, I don't want
any code being spread around with my name on it, that isn't by me.  If you
make handy modifications, distribute them in "patch" format (and send them
to the mailing list while you're at it!).  Oh yeah, the file "reg.c" isn't
by me, so I don't claim any rights to it or anything.  Do what you want to
with that one.  (Additional note: part of it *is* by me now, but I choose to
leave the whole thing in the public domain.)


MAILING LIST

There is an official eggdrop mailing list!  Bug fixes, comments, suggestions,
complaints, and all sorts of eggdrop-related things are posted there all the
time...  To subscribe, send a human-readable subscription request to:
   eggdrop-request@wc130.residence.gatech.edu
If you're going to run an eggdrop bot, I highly suggest subscribing to this
list, since bug fixes can be helpful.


WARRANTY

There is none, implied or whatever.  Especially since this is pre-release
stuff.  The bot's not even done yet.  I bet there are *lots* of nasty things
in there that I still have to fix.


DOCUMENTATION

I removed the docs/ directory that was in previous releases.  They were
written by Gavroche many years ago, but by now they have nothing to do with
reality.  Several people have offered to re-write or update them, but nobody
has actually shown me anything so I don't think anything is really being done
about it.  Sorry!  The mailing list would be a great place to ask if you have
any questions.

In the meantime, I have been trying hard to keep the online documentation (in
the help/ directory) fairly up-to-date.  You can browse around through there
for some handy tips.  Sadly, I haven't updated them for Tcl yet.  Please let
me know if you find any help files that exist, but are incorrect or out of
date.

I know that documentation would REALLY BE HELPFUL.  All I can say is...  I've
been keeping pretty busy with classwork (I go to school) and I haven't even
had much time to keep updating the bot.  You'll notice that it's been longer
and longer between versions. :)  If this ever gets to v1.0, I will make sure
THAT version has documentation, even if I have to write it myself.  Until then,
volunteers would be appreciated.

robey
                       _
  ___   __ _  __ _  __| |_ __  ___  _ __
 / _ \ / _` |/ _` |/ _` | '__|/ _ \| '_ \
|  __/| (_| | (_| | (_| | |  | (_) | |_) |
 \___| \__, |\__, |\__,_|_|   \___/| .__/
       |___/ |___/                 |_|
