📄 eggdrops.html
字号:
<td>TYPE</td>
</tr>
<tr>
<td>3</td>
<td>C7CB1589</td>
<td>2000</td>
<td>(telnet)</td>
<td>*</td>
<td>lstn</td>
</tr>
<tr>
<td>5</td>
<td>00000000</td>
<td>6667</td>
<td>(server)</td>
<td>er.irc.israel.net</td>
<td>serv (lag: 0)</td>
</tr>
<tr>
<td>7</td>
<td>C0725278</td>
<td>1469</td>
<td>^TCG^</td>
<td>tadmin.israel.net</td>
<td>chat flags: cPtEp/0</td>
</tr>
</table>
<p>The port is the port that is near the nick (telnet). The port 2000.</p>
<p><b>II. TERMS USED</b></p>
<p>The following are some common terms used in this document.<br>
If applicable, there is also the associated command named.</p>
<ul>
<li><b>Botnet</b><br>
The term used to describe multiple bots connected together.</li>
<li><b> Link</b><br>
The term that means the actual linking of one bot; commands: ".link <botname>"
".unlink <botname>"</li>
<li><b> Hub</b><br>
A bot is described as a hub-bot, if one or more leafs are linking<br>
to him.</li>
<li><b> Leaf</b><br>
A leaf is a bot connecting to an other bot.</li>
<li><b> Share</b><br>
The term used to describe two bots sharing user records. </li>
<li><b> Aggressive Share</b><br>
Term used to describe the method of sharing user-files. Aggressive<br>
share bots will send user data to another bot.</li>
<li><b> Passive Share</b><br>
Term used to describe the method of sharing user-files. Passive<br>
share bots will only receive users from an other bot.</li>
<li><b> Flags</b><br>
Flags are attributes that determine what a bot can or is allowed<br>
to do. Flags can be either global (+s) or channel specific (|+s #lamest).<br>
Botnet affecting flags are:</li>
<ul>
<li>s share (user records will be shared aggressively with this bot)</li>
<li>p share (user records will be shared passively with this bot)</li>
<li>g global share (share all channels)</li>
<li>h hub (bot is auto-linked)</li>
<li>a alternate (bot is auto-linked if the hub bot can't be linked)</li>
<li>l leaf (bot is not allowed to link in other bots)</li>
<li>r reject (bot will not be allowed on the net)</li>
<li>i isolate (isolate the party line across a botlink)</li>
<li>0-9 user (user defined flags)</li>
</ul>
command: ".botattr <botname> [(.+<flag> [#channel]) or (.-<flag>
[#channel])]"
<p>
<li><b>Address</b><br>
The physical address, containing the host and port address of the bot.<br>
i.e. lame.org:3333; command: ".chaddr <botname> <hostaddress:botport[/userport]>"</li>
<li><b>Relay</b><br>
The relay port number of the bot if defined in the config file.<br>
Note that you can define one for telnet connections to other bots<br>
and one for relay connections.</li>
<li> <b>Relay connection</b><br>
A relay connection is used to relay (jump) to another bot in DCC chat.<br>
You can still relay to another bot even if this is not defined in the<br>
conf file.; command: ".relay <botname>"</li>
<li><b>Port</b><br>
The telnet port is used by the bot to communicate with other bots and/or<br>
users. Note that you can define two separate ports for user and bot<br>
connections.</li>
</ul>
<p><b>III. WHAT IS A BOTNET FOR?</b></p>
<p>Basically a botnet is needed if you want to use more then one bot to protect
your channel.<br>
Linked Bots can share user records (global or channel specific) between each
other or perform script controlled tasks. Such a script can be get-ops (ops
each bot in a botnet) or some kind of a prevent-flood stuff. Just take a look
at /pub/eggdrop/scripts1.3 on ftp.eggheads.org and you'll find a lot of botnet
scripts.</p>
<p></p>
<p><br>
<b>IV. ADDING AND LINKING BOTS</b></p>
<p>With the common terms out of the way we can start with the process of linking
two bots. Before you start you have to know the following:</p>
<p> - What are the domains and ports of the bots.</p>
<p>Let's say there is BotA on lame.org listening to port 3333 and BotB on irc.org
listening to port 4444. Now you have to add each Bot to the other's userfile
(including hostmask, address and listening port of the other bot). In BotA's
console you have to type ".+bot BotB irc.org:4444" (assuming that
BotB is in the channel and so the hostmask is grabbed automatically, otherwise
you have to add it manually with ".+host") and on BotB's console ".+bot
BotA lame.org:3333". At this point you can link them for the first time
manually by typing ".link BotA" on BotB's console (or in reverse,
of course with BotB ".link BotB" on BotA's console). The bots will
give themselves now randomized passwords, which are *not* stored encrypted in
the userfile. Now you've generated your<br>
first botnet. Note that you can add and link as much Bots as you want to your
botnet.</p>
<p></p>
<p><br>
<b>V USING BOTFLAGS</b></p>
<p>Botflags are needed to assign special functions and tasks to your bots.</p>
<ul>
<li>
<p><b>"h" (hub)</b><br>
If you want your bots to auto-link after getting unlinked or started (due<br>
to a crash or a server reboot) or started, you have to set +h on the bot<br>
you want to link to an other.<br>
Note, you can assign +h only to one bot at a time!</p>
<p> command: ".botattr <botname> +h"</p>
</li>
<li>
<p><b>"a" (alternate)</b><br>
If your leaf's are for some reason not able to link to your hub, they will<br>
start to connect to an other "alternate-hub", which you can define
by<br>
setting "+a" on one bot.<br>
Note, you can assign +a only to one bot at a time!</p>
<p> command: ".botattr <botname> +a"</p>
</li>
<li>
<p><b>"l" flag (leaf)</b><br>
This flag assigned to another bot will cause your bot to unlink the other<br>
one, if it tries to link any other bot.</p>
<p> command: ".botattr <botname> +l"</p>
</li>
<li>
<p><b>"r" flag (reject)</b><br>
If you assign this flag to a bot, it won't be tolerated on your botnet and<br>
will be unlinked, if it tries to link to your one or any other bot.</p>
<p> command: ".botattr <botname> +r"</p>
</li>
<li>
<p><b>"i" flag (isolate)</b><br>
Setting this flag to a bot will effect an isolation of the partyline<br>
between your bot(net) and the other bot(net).</p>
<p> command: ".botattr <botname> +i"</p>
</li>
<li>
<p><b>"0-9" flag (user)</b><br>
These 10 flags aren't hardcoded into eggdrop and can be assigned by scripts<br>
or just for fun :-)</p>
<p> command: ".botattr <botname> +(0-9)"</p>
</li>
<li>
<p><b>"s" flag (share aggressively)</b><br>
+s If you set on BotA's console BotB +s then BotA will try to send his<br>
userfile (parts selected by |s and g flags) aggressively to BotB.</p>
<p> command: ".botattr <botname> +s"</p>
</li>
<li>
<p><b>|s With this flag you can define channels, which you want your bots</b><br>
to share.<br>
Note that you can use this flag only on +s bots!</p>
<p> command: ".botattr <botname> |s #lamest"</p>
</li>
<li>
<p><b>|+s You can assign the channel for which the bot will acceppt changes
to</b><br>
his userfile from a +p set bot.</p>
<p> command: ".botattr <botname> |+s #lamest"</p>
</li>
<li>
<p><b>"p" flag (share passively)</b><br>
If you set this flag to another bot, your bot will accept changes to his<br>
userfile by the other one (as much as you've allowed with |+s or +g)</p>
<p> command: ".botattr <botname> +p"</p>
</li>
<li>
<p><b>"g" flag (global share)</b><br>
If you set this flag on your +s or +p bot, |s and |+s are getting obsolete.<br>
Every ban and every user on every single channel will be transfered/accepted.</p>
<p> command: ".botattr <botname> +g"</p>
</li>
</ul>
<p> </p>
<p><b>VI MAKE TWO BOTS SHARE USER RECORDS</b></p>
<p>Before you start preparing your bots for sharing, you have to make sure that
you've loaded the transfer, share and filesys module into your bot (look through
the conf). You also have to ensure that the channel, which user records should
be shared, is set +shared in the conf.</p>
<p>If you've fulfilled all the requirements mentioned above, you can start to
prepare your bots.<br>
At first you have to decide which bot should share aggressively (BotA) and which
will be passively (BotB) receive the user records. You should type this on your
bots console (Note that you can't change botflags for a linked bot, you have
to unlink it first):</p>
<ul>
<li> On BotA:<br>
.botattr BotB +s</li>
<li> On BotB:<br>
.botattr BotA +p</li>
</ul>
<p>Next you have to decide if BotA should share every channel with BotB or if
just one specific. If you want him to share the user record globally you have
to type the following:</p>
<ul>
<li> On BotA:<br>
.botattr BotA +g</li>
<li> On BotB:<br>
.botattr BotA +g</li>
</ul>
<p>If you don't want to share all channels with BotB but #lamest you have to set
the following:</p>
<ul>
<li> On BotA:<br>
.botattr BotA |s #lamest</li>
<li> On BotB:<br>
.botattr BotA |+s #lamest</li>
</ul>
<p>You can add as many channels in this way as you like. Note that by sharing
user records, you also share automatically bans and ignores (globally or channel
specific) with the other bot. Botflags are *not* shared.</p>
<p>Note: Taken from eggdrop1.3.28 documents.</p>
<p><b><font size="4"><a name="9"></a>--[ What is the TCL and what does have have
to do with EggDrop? ]--</font></b></p>
<p>TCL is a programming language that is used to write scripts for EggDrop.<br>
This subject is so big I can write a whole tutorial about it, so instead I'll
just write the basics.</p>
<p>To load a TCL script you must add this line to the end of your config file:<br>
source filename.tcl</p>
<p>You can get TCL scripts from: www.egghelp.org, bseen.tclslave.net and xcalibre.net</p>
<p>Those scripts can add more function to eggdrops, like kicking on advertising
and suck stuff.</p>
<p><b><font size="4"><a name="10"></a>--[ Tips and Tricks ]--</font></b></p>
<p>Taken from the Eggdrop1.3.28 documents.</p>
<p>Some little tricks that you may or may not know about...</p>
<ul>
<li> You can "lock" a user's info line by putting a '@' as the first
letter.<br>
They won't be able to change it any more.</li>
<li> *'.status all' will dump out virtually everything you have configured on<br>
your bot</li>
<li> TCL has a command 'info body <proc>' that will list the contents
of a<br>
proc. 'info args <proc>' shows what you have defined as the parameters<br>
for the proc.</li>
<li> *You can rename a builtin command by binding over it. To rename '.status'<br>
to '.report', you'd do:<br>
unbind dcc - status *dcc:status<br>
bind dcc m report *dcc:status<br>
The first line removes the builtin binding on '.status', and the second<br>
line binds '.report' to the builtin status function. Other built-in command<br>
examples include:<br>
unbind msg - status *msg:status<br>
bind msg m report *msg:status<br>
and:<br>
unbind fil - share *fil:share<br>
bind fil m link *fil:share</li>
<li> You can unlink all bots and clear out the botnet info from memory by<br>
using '.unlink *'. It erases all channel assoc's and everything.</li>
<li> You can automagically make a ban sticky by adding a * as the first<br>
character in the ban reason.</li>
<li> You can add a user with a static hostmask when using .adduser by prefixing<br>
their nick by !.<br>
ie with a hostmask of drummer!ident@some.host.com<br>
.adduser drummer<br>
uses *!ident@*.host.com<br>
.adduser !drummer<br>
uses *!ident@some.host.com</li>
</ul>
<p><b><font size="4"><a name="11"></a>--[ Bibliography ]--</font></b><br>
Eggdrop1.3.28 Documents<br>
Personal knowledge</p>
<p>[===================================================================================]<br>
[ The EggDrop IRC Bot / Written by The Cyber God (e-mail: talrun@actcom.co.il)
]<br>
[ Version 1.0 / My ICQ#: 7864557 ]<br>
[===================================================================================]</p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -