1 |
Features of Eggdrop 1.6.x |
2 |
------------------------------------------------------------------------ |
3 |
|
4 |
EGGDROP -- AN IRC BOT |
5 |
|
6 |
Eggdrop is the most advanced IRC robot available. It has been under |
7 |
development since December 1993, and, unlike most other bots, it is still |
8 |
regularly updated. Its features include: |
9 |
|
10 |
|
11 |
* completely different channel user lists like having a seperate bot for |
12 |
each channel. |
13 |
* complete channel protection, customizable via config file: permanently |
14 |
store a ban list with comments, etc |
15 |
* user records saved on disk and alterable via dcc chat: each user can |
16 |
have a password (encrypted), a list of valid hostmasks, a set of |
17 |
access flags, etc |
18 |
* the ability to "learn" new users (if you choose to have the bot do so) |
19 |
by letting users /MSG the bot "hello" and granting them automatic |
20 |
access of whatever type you specify (or even no access at all) |
21 |
* a "party line" available through dcc chat or telnet, with multiple |
22 |
channels, giving you the ability to talk to people without being |
23 |
affected by netsplits |
24 |
* console mode: you can view each channel through dcc chat or telnet, |
25 |
selectively looking at mode changes, joins and parts, channel talk, or |
26 |
any combination of the above |
27 |
* a file system where people can upload and download files, in an |
28 |
environment that looks and acts (for the most part) like a typical |
29 |
unix system -- plus the ability to mark directories as hidden / |
30 |
unaccessable to people without certain user flags |
31 |
* bot network: link two or more bots together for a party line that can |
32 |
stretch not only across channels, but across irc networks (one bot on |
33 |
EFnet, one bot on Undernet, etc) |
34 |
* script language: commands and features can be added to the bot on the |
35 |
fly, by means of the TCL script language, giving you the power of |
36 |
TOTAL customization of your bot -- similar to ircII script |
37 |
|
38 |
!!! WARNING !!! |
39 |
|
40 |
Eggdrop is NOT a simple bot to use. It is an advanced bot for people who |
41 |
know IRC and know what they're doing. If you don't know what DCC CHAT is or |
42 |
how to use it -- if you don't know the difference between #channels and |
43 |
&channels -- if you don't know what a clonebot or CTCP avalanche is -- then |
44 |
this bot is not for you. Choose a simpler bot like Vladbot or Baloobot or |
45 |
ComBot, or find one of the many scriptbots to use. |
46 |
|
47 |
This is the 1.6.x branch of the Eggdrop Bot. |
48 |
|
49 |
*** NOTE: |
50 |
|
51 |
This bot is NOT intended for users of very limited MEMORY or DISK shell |
52 |
accounts. The development of this latest design of Eggdrop is geared |
53 |
towards features and flexibility. If you have restraints on the resources |
54 |
allowed to run your bot, then you should instead consider the 1.0 Eggdrop |
55 |
version. |
56 |
|
57 |
*** |
58 |
|
59 |
This latest development of Eggdrop is now compilable in either of two |
60 |
configurations: |
61 |
|
62 |
MODULE - dynamic |
63 |
|
64 |
The MODULE version of Eggdrop 1.6.x provides for the on-the-fly loading of |
65 |
extensions to the bot code without having to recompile the entire bot. This |
66 |
is available on OS platforms which support dynamically linked/shared |
67 |
libraries in their run-time and TCL libraries. It allows for functionality |
68 |
of the bot to be loaded and unloaded at any time. |
69 |
|
70 |
The base loadable modules distributed with this Eggdrop version are: |
71 |
|
72 |
|
73 |
* assoc This is the functionality of the `assoc' command for naming |
74 |
party `chat' lines. It also serves as an example for writing your own |
75 |
modules. |
76 |
* blowfish The standard Eggdrop encrypting routines for passwords and |
77 |
other encrytions. This can be replaced with a user-written module to |
78 |
perform their own encrypting algorithms. |
79 |
* channels This allows eggdrop to have channel info stored and used on |
80 |
that server that you allowed for with the server module |
81 |
* compress This allows compression of the userfile saving diskspace, and |
82 |
bandwidth when sending large userfiles to share bots.. |
83 |
* console This provides storage of console settings when you exit the |
84 |
bot (or .store). |
85 |
* dns This provides asynchronous DNS lookups, avoiding the problem of |
86 |
the bot stalling while dns lookups are performed. |
87 |
* ctcp This provides the normal ctcp replies that you'd expect. |
88 |
* filesys This module performs the file-system operation for DCC file |
89 |
transfers to and from the BOT over via IRC DCC commands. |
90 |
* irc This controls all other irc related stuff. Not loading it is the |
91 |
equivalent of the old NO_IRC setting. |
92 |
* notes This provides support for storing of notes for users from each |
93 |
other. Notes between currently online users is supported in the core, |
94 |
this is only for storing the notes for later retrieval, direct |
95 |
user->user notes are built-in. |
96 |
* seen This provides seen commands via msg, on channel or via dcc, |
97 |
similar to the various scripts. |
98 |
* server This allows eggdrop to connect to a server, but that's about |
99 |
it. |
100 |
* share This provides the userfile sharing support (this requires the |
101 |
channels & transfer modules). |
102 |
* transfer This module performs the bot-to-bot userfile sharing |
103 |
necessary for sharebots. It is loaded automatically when filesys is |
104 |
loaded. |
105 |
* wire This provides an encrypted partyline communication. |
106 |
* woobie This is a example/skeletal module for writing your own module. |
107 |
|
108 |
MODULE - static |
109 |
|
110 |
The STATIC-MODULE version of Eggdrop 1.6.x is pretty much the same as the |
111 |
module bot, except each individual module is linked into the excutable. You |
112 |
still need to 'loadmodule <module>' to turn them on. |
113 |
|
114 |
See the file MODULES for more specific MODULE information. |
115 |
New to 1.6.x: |
116 |
|
117 |
**** BOTNET |
118 |
|
119 |
Major protocol changes, lots less messages & bytes used. |
120 |
|
121 |
You WILL get double messages if you link OLD<->NEW<->NEW<->OLD (or any |
122 |
number of NEW's between them). |
123 |
To prevent this, have all your new bots on 1 side of the botnet, and all |
124 |
the old ones on the other (although OLD<->NEW<->OLD should be ok). |
125 |
|
126 |
The order of the version and handshake messages has reversed this means on |
127 |
a new botlink between an OLD & a NEW, but you must .link from the OLD or |
128 |
the NEW wont know the password. |
129 |
|
130 |
**** USERLIST |
131 |
|
132 |
If you want to have the option of going back to an old version SAVE your |
133 |
userlist!! This is a new version userlist, and it's not backwards |
134 |
compatible once written (it can still READ old userlists take note). |
135 |
|
136 |
**** FLAGS |
137 |
|
138 |
Flags have multiplied & split up: normal user/channel flags still exist and |
139 |
are setable by .chattr. You can also now use .chattr +o|-o #channel. New |
140 |
are the "user-defined" flags which are all of A-Z for users & channels. |
141 |
Also, bot attributes are seperated now and are set using .botattr. Bots |
142 |
have "user-defined" flags 0-9. The old 0-9 user defined flags will be |
143 |
converted to A-J when you upgrade your userfile. |
144 |
|
145 |
**** SHARING |
146 |
|
147 |
*BIG CHANGE* well, big in use, small in code ;) |
148 |
|
149 |
There are now 2 sharing flags, +p = passive share, +s = aggressive share. |
150 |
Your bot will only accept sharing with passively with 1 bot at a time, |
151 |
although any number of aggressive shares is fine. |
152 |
|
153 |
Consider the botnet: |
154 |
|
155 |
HubBotA |
156 |
|-+LeafBotA |
157 |
`-+HubBotB |
158 |
|-+LeafBotB |
159 |
`-or `-+LeafBotC |
160 |
|
161 |
Flags would be set as such: |
162 |
|
163 |
HubBotA has: |
164 |
LeafBotA: +sl |
165 |
HubBotB : +s |
166 |
LeafBotC: +sl |
167 |
LeafBotA has: |
168 |
HubBotA : +ph |
169 |
HubBotB has: |
170 |
LeafBotB: +sl |
171 |
LeafBotC: +sl |
172 |
LeafBotB has: |
173 |
HubBotB : +ph |
174 |
LeafBotC has: |
175 |
HubBotB : +ph |
176 |
HubBotA : +ph |
177 |
|
178 |
how's that look? :) |
179 |
|
180 |
**** Installation |
181 |
|
182 |
make install DEST=<directory> |
183 |
|
184 |
------------------------------------------------------------------------ |
185 |
Copyright (C) 1997 Robey Pointer |
186 |
Copyright (C) 2000-2004 Eggheads Development Team |