Eggdrop Stable
Features

Features of Eggdrop 1.6.x
________________________________________________________________________
EGGDROP -- AN IRC BOT
Eggdrop is the most advanced IRC robot available. It has been
under
development since December 1993, and, unlike most other bots,
it is still
regularly updated. Its features include:
* completely different channel user lists like having a separate
bot for
each channel.
* complete channel protection, customizable via config file: permanently
store a ban list with comments, etc
* user records saved on disk and alterable via dcc chat: each
user can
have a password (encrypted), a list of valid hostmasks, a set
of
access flags, etc
* the ability to "learn" new users (if you choose to
have the bot do so)
by letting users /MSG the bot "hello" and granting them
automatic
access of whatever type you specify (or even no access at all)
* a "party line" available through dcc chat or telnet,
with multiple
channels, giving you the ability to talk to people without being
affected by netsplits
* console mode: you can view each channel through dcc chat or
telnet,
selectively looking at mode changes, joins and parts, channel
talk, or
any combination of the above
* a file system where people can upload and download files, in
an
environment that looks and acts (for the most part) like a typical
unix system -- plus the ability to mark directories as hidden
/
unaccessible to people without certain user flags
* bot network: link two or more bots together for a party line
that can
stretch not only across channels, but across irc networks (one
bot on
EFnet, one bot on Undernet, etc)
* script language: commands and features can be added to the bot
on the
fly, by means of the Tcl script language, giving you the power
of
TOTAL customization of your bot -- similar to ircII script
!!! WARNING !!!
Eggdrop is NOT a simple bot to use. It is an advanced bot for
people who
know IRC and know what they're doing. If you don't know what DCC
CHAT is or
how to use it -- if you don't know the difference between #channels
and
&channels -- if you don't know what a clonebot or CTCP avalanche
is -- then
this bot is not for you. Choose a simpler bot like Vladbot or
Baloobot or
ComBot, or find one of the many scriptbots to use.
This is the 1.6.x branch of the Eggdrop Bot.
*** NOTE:
This bot is NOT intended for users of very limited MEMORY or
DISK shell
accounts. The development of this latest design of Eggdrop is
geared
towards features and flexibility. If you have restraints on the
resources
allowed to run your bot, then you should instead consider the
1.0 Eggdrop
version.
***
This latest development of Eggdrop is now compilable in either
of two
configurations:
MODULE - dynamic
The MODULE version of Eggdrop 1.6.x provides for the on-the-fly
loading of
extensions to the bot code without having to recompile the entire
bot. This
is available on OS platforms which support dynamically linked/shared
libraries in their run-time and Tcl libraries. It allows for functionality
of the bot to be loaded and unloaded at any time.
The base loadable modules distributed with this Eggdrop version
are:
* assoc This is the functionality of the `assoc' command for naming
party `chat' lines. It also serves as an example for writing your
own
modules.
* blowfish The standard Eggdrop encrypting routines for passwords
and
other encryption. This can be replaced with a user-written module
to
perform their own encrypting algorithms.
* channels This allows eggdrop to have channel info stored and
used on
that server that you allowed for with the server module
* compress This allows compression of the userfile saving diskspace,
and
bandwidth when sending large userfiles to share bots..
* console This provides storage of console settings when you exit
the
bot (or .store).
* dns This provides asynchronous DNS lookups, avoiding the problem
of
the bot stalling while dns lookups are performed.
* ctcp This provides the normal ctcp replies that you'd expect.
* filesys This module performs the file-system operation for DCC
file
transfers to and from the BOT over via IRC DCC commands.
* irc This controls all other irc related stuff. Not loading it
is the
equivalent of the old NO_IRC setting.
* notes This provides support for storing of notes for users from
each
other. Notes between currently online users is supported in the
core,
this is only for storing the notes for later retrieval, direct
user->user notes are built-in.
* seen This provides seen commands via msg, on channel or via
dcc,
similar to the various scripts.
* server This allows eggdrop to connect to a server, but that's
about
it.
* share This provides the userfile sharing support (this requires
the
channels & transfer modules).
* transfer This module performs the bot-to-bot userfile sharing
necessary for sharebots. It is loaded automatically when filesys
is
loaded.
* wire This provides an encrypted partyline communication.
* woobie This is a example/skeletal module for writing your own
module.
MODULE - static
The STATIC-MODULE version of Eggdrop 1.6.x is pretty much the
same as the
module bot, except each individual module is linked into the executable.
You
still need to 'loadmodule <module>' to turn them on.
See the file MODULES for more specific MODULE information.
New to 1.6.x:
**** BOTNET
Major protocol changes, lots less messages & bytes used.
You WILL get double messages if you link OLD<->NEW<->NEW<->OLD
(or any
number of NEW's between them).
To prevent this, have all your new bots on 1 side of the botnet,
and all
the old ones on the other (although OLD<->NEW<->OLD
should be ok).
The order of the version and handshake messages has reversed
this means on
a new botlink between an OLD & a NEW, but you must .link from
the OLD or
the NEW wont know the password.
**** USERLIST
If you want to have the option of going back to an old version
SAVE your
userlist!! This is a new version userlist, and it's not backwards
compatible once written (it can still READ old userlists take
note).
**** FLAGS
Flags have multiplied & split up: normal user/channel flags
still exist and
are setable by .chattr. You can also now use .chattr +o|-o #channel.
New
are the "user-defined" flags which are all of A-Z for
users & channels.
Also, bot attributes are separated now and are set using .botattr.
Bots
have "user-defined" flags 0-9. The old 0-9 user defined
flags will be
converted to A-J when you upgrade your userfile.
**** SHARING
*BIG CHANGE* well, big in use, small in code ;)
There are now 2 sharing flags, +p = passive share, +s = aggressive
share.
Your bot will only accept sharing with passively with 1 bot at
a time,
although any number of aggressive shares is fine.
Consider the botnet:
HubBotA
|-+LeafBotA
`-+HubBotB
|-+LeafBotB
`-or `-+LeafBotC
Flags would be set as such:
HubBotA has:
LeafBotA: +sl
HubBotB : +s
LeafBotC: +sl
LeafBotA has:
HubBotA : +ph
HubBotB has:
LeafBotB: +sl
LeafBotC: +sl
LeafBotB has:
HubBotB : +ph
LeafBotC has:
HubBotB : +ph
HubBotA : +ph
how's that look? :)
**** Installation
make install DEST=<directory>
________________________________________________________________________
Copyright (C) 1997 Robey Pointer
Copyright (C) 2000, 2001, 2002 Eggheads Development Team