48
<dt><strong><em>set chanfile
49
"LamestBot.chan"</em></strong></dt>
40
<dt><strong>set chanfile"LamestBot.chan"</strong></dt>
52
<p>Enter here the filename where dynamic channel settings are
43
<p>Enter here the filename where dynamic channel settings are
56
<dt><strong><em>set ban-time 120</em></strong></dt>
59
<p>Set here how long temporary bans will last (in minutes). If you
60
set this setting to 0, the bot will never remove them.</p>
63
<dt><strong><em>set exempt-time 60</em></strong></dt>
66
<p>Set here how long temporary exempts will last (in minutes). If
67
you set this setting to 0, the bot will never remove them. The bot
68
will check the exempts every X minutes, but will not remove the
69
exempt if a ban is set on the channel that matches that exempt.
70
Once the ban is removed, then the exempt will be removed the next
71
time the bot checks.</p>
73
<p>Please note that this is an IRCnet feature.</p>
76
<dt><strong><em>set invite-time 60</em></strong></dt>
79
<p>Set here how long temporary invites will last (in minutes).
80
If you set this setting to 0, the bot will never remove them.
81
The bot will check the invites every X minutes, but will not
82
remove the invite if a channel is set to +i. Once the channel
83
is -i, then the invite will be removed the next time the bot
86
<p>Please note that this is an IRCnet feature.</p>
89
<dt><strong><em>set force-expire 0</em></strong></dt>
92
<p>Set this setting to 1 if you want your bot to expire
47
<dt><strong>set force-expire 0</strong></dt>
50
<p>Set this setting to 1 if you want your bot to expire
93
51
bans/exempts/invites set by other opped bots on the channel.</p>
96
<dt><strong><em>set share-greet 0</em></strong></dt>
54
<dt><strong>set share-greet 0</strong></dt>
99
<p>Set this setting to 1 if you want your bot to share user greets
57
<p>Set this setting to 1 if you want your bot to share user greets
100
58
with other bots on the channel if sharing user data.</p>
103
<dt><strong><em>set use-info 1</em></strong></dt>
61
<dt><strong>set use-info 1</strong></dt>
106
<p>Set this setting to 1 if you want to allow users to store an
64
<p>Set this setting to 1 if you want to allow users to store an
110
<dt><strong><em>channel add #channel { SETTINGS }</em></strong></dt>
68
<dt><strong>channel add #channel { SETTINGS }</strong></dt>
113
<p>Add each static channel you want your bot to sit in using this
71
<p>Add each static channel you want your bot to sit in using this
114
72
command. There are many different possible settings you can insert
115
73
into this command, which are explained below.</p>
119
<dt><strong><em>chanmode +/-<modes></em></strong></dt>
77
<dt><strong>chanmode +/-<modes></strong></dt>
122
<p>This setting makes the bot enforce channel modes. It will
80
<p>This setting makes the bot enforce channel modes. It will
123
81
always add the +<modes> and remove the -<modes>
127
<dt><strong><em>idle-kick 0</em></strong></dt>
85
<dt><strong>idle-kick 0</strong></dt>
130
88
<p>This setting will make the bot check every minute for idle
131
89
users. Set this to 0 to disable idle check.</p>
134
<dt><strong><em>stopnethack-mode 0</em></strong></dt>
92
<dt><strong>stopnethack-mode 0</strong></dt>
137
<p>This setting will make the bot de-op anyone who enters
138
the channel with serverops. There are seven different modes
95
<p>This setting will make the bot de-op anyone who enters
96
the channel with serverops. There are seven different modes
139
97
for this settings:</p>
189
<dt><strong><em>need-op { putserv "PRIVMSG #lamest :op me
190
cos i'm lame!" }</em></strong></dt>
147
<dt><strong>revenge-mode 0</strong></dt>
150
<p>This settings defines how the bot should punish bad users
151
when revenging. There are four possible settings:</p>
157
<td>Deop the user.</td>
163
<td>Deop the user and give them the +d flag for the
170
<td>Deop the user, give them the +d flag for the channel,
177
<td>Deop the user, give them the +d flag for the channel,
178
kick, and ban them.</td>
183
<dt><strong>ban-time 120</strong></dt>
186
<p>Set here how long temporary bans will last (in minutes). If
187
you set this setting to 0, the bot will never remove them.</p>
190
<dt><strong>exempt-time 60</strong></dt>
193
<p>Set here how long temporary exempts will last (in minutes).
194
If you set this setting to 0, the bot will never remove them.
195
The bot will check the exempts every X minutes, but will not
196
remove the exempt if a ban is set on the channel that matches
197
that exempt. Once the ban is removed, then the exempt will be
198
removed the next time the bot checks. Please note that this is
199
an IRCnet feature.</p>
202
<dt><strong>invite-time 60</strong></dt>
205
<p>Set here how long temporary invites will last (in minutes).
206
If you set this setting to 0, the bot will never remove them.
207
The bot will check the invites every X minutes, but will not
208
remove the invite if a channel is set to +i. Once the channel
209
is -i then the invite will be removed the next time the bot
210
checks. Please note that this is an IRCnet feature.</p>
213
<dt><strong>need-op { putserv "PRIVMSG #lamest :op me
214
cos i'm lame!" }</strong></dt>
193
217
<p>This setting will make the bot run the script enclosed in
194
braces if it does not have ops. This must be shorter than
195
120 characters. If you use scripts like getops.tcl or
218
braces if it does not have ops. This must be shorter than
219
120 characters. If you use scripts like getops.tcl or
196
220
botnetop.tcl, you don't need to set this setting.</p>
199
<dt><strong><em>need-invite { putserv "PRIVMSG #lamest
200
:let me in!" }</em></strong></dt>
203
<p>This setting will make the bot run the script enclosed in
204
braces if it needs an invite to the channel. This must be
205
shorter than 120 characters. If you use scripts like
206
getops.tcl or botnetop.tcl, you don't need to set this
210
<dt><strong><em>need-key { putserv "PRIVMSG #lamest :let
211
me in!" }</em></strong></dt>
214
<p>This setting will make the bot run the script enclosed in
215
braces if it needs the key to the channel. This must be
216
shorter than 120 characters. If you use scripts like
217
getops.tcl or botnetop.tcl, you don't need to set this
221
<dt><strong><em>need-unban { putserv "PRIVMSG #lamest :let
222
me in!" }</em></strong></dt>
225
<p>This setting will make the bot run the script enclosed in
226
braces if it needs to be unbanned on the channel. This must
227
be shorter than 120 characters. If you use scripts like
228
getops.tcl or botnetop.tcl, you don't need to set this
232
<dt><strong><em>need-limit { putserv "PRIVMSG #lamest :let
233
me in!" }</em></strong></dt>
236
<p>This setting will make the bot run the script enclosed in
237
braces if it needs the limit to be raised on the channel.
223
<dt><strong>need-invite { putserv "PRIVMSG #lamest
224
:let me in!" }</strong></dt>
227
<p>This setting will make the bot run the script enclosed in
228
braces if it needs an invite to the channel. This must be
229
shorter than 120 characters. If you use scripts like
230
getops.tcl or botnetop.tcl, you don't need to set this
234
<dt><strong>need-key { putserv "PRIVMSG #lamest :let
235
me in!" }</strong></dt>
238
<p>This setting will make the bot run the script enclosed in
239
braces if it needs the key to the channel. This must be
240
shorter than 120 characters. If you use scripts like
241
getops.tcl or botnetop.tcl, you don't need to set this
245
<dt><strong>need-unban { putserv "PRIVMSG #lamest :let
246
me in!" }</strong></dt>
249
<p>This setting will make the bot run the script enclosed in
250
braces if it needs to be unbanned on the channel. This must
251
be shorter than 120 characters. If you use scripts like
252
getops.tcl or botnetop.tcl, you don't need to set this
256
<dt><strong>need-limit { putserv "PRIVMSG #lamest :let
257
me in!" }</strong></dt>
260
<p>This setting will make the bot run the script enclosed in
261
braces if it needs the limit to be raised on the channel.
238
262
This must be shorter than 120 characters. If you use scripts
239
like getops.tcl or botnetop.tcl, you don't need to set
263
like getops.tcl or botnetop.tcl, you don't need to set
240
264
this setting.</p>
243
<dt><strong><em>flood-chan 10:60</em></strong></dt>
267
<dt><strong>flood-chan 10:60</strong></dt>
246
<p>Set here how many channel messages in how many seconds
270
<p>Set here how many channel messages in how many seconds
247
271
from one host constitutes a flood. Setting this to 0 or 0:0
248
272
disables text flood protection for the channel.</p>
251
<dt><strong><em>flood-deop 3:10</em></strong></dt>
275
<dt><strong>flood-deop 3:10</strong></dt>
254
278
<p>Set here how many deops in how many seconds from one host
256
280
flood protection for the channel.</p>
259
<dt><strong><em>flood-kick 3:10</em></strong></dt>
283
<dt><strong>flood-kick 3:10</strong></dt>
262
286
<p>Set here how many kicks in how many seconds from one host
263
constitutes a flood. Setting this to 0 or 0:0 disables kick
287
constitutes a flood. Setting this to 0 or 0:0 disables kick
264
288
flood protection for the channel.</p>
267
<dt><strong><em>flood-join 5:60</em></strong></dt>
291
<dt><strong>flood-join 5:60</strong></dt>
270
294
<p>Set here how many joins in how many seconds from one host
271
constitutes a flood. Setting this to 0 or 0:0 disables join
295
constitutes a flood. Setting this to 0 or 0:0 disables join
272
296
flood protection for the channel.</p>
275
<dt><strong><em>flood-ctcp 3:60</em></strong></dt>
299
<dt><strong>flood-ctcp 3:60</strong></dt>
278
<p>Set here how many channel ctcps in how many seconds from
279
one host constitutes a flood. Setting this to 0 or 0:0
302
<p>Set here how many channel ctcps in how many seconds from
303
one host constitutes a flood. Setting this to 0 or 0:0
280
304
disables ctcp flood protection for the channel.</p>
283
<dt><strong><em>flood-nick 5:60</em></strong></dt>
307
<dt><strong>flood-nick 5:60</strong></dt>
286
<p>Set here how many nick changes in how many seconds from
287
one host constitutes a flood. Setting this to 0 or 0:0
310
<p>Set here how many nick changes in how many seconds from
311
one host constitutes a flood. Setting this to 0 or 0:0
288
312
disables nick flood protection for the channel.</p>
294
<dt><strong><em>channel set <chan> +/-<setting></em>
318
<dt><strong>channel set <chan> +/-<setting>
298
322
<p>There are many different options for channels which you can
299
define. They can be enabled or disabled by a plus or minus in
323
define. They can be enabled or disabled by a plus or minus in
300
324
front of them.</p>
302
326
<p>A complete list of all available channel settings:</p>
331
355
<dt><strong>dynamicexempts</strong></dt>
334
<p>Only activate exempts on the channel when necessary? This
335
keeps the channel's exempt list from getting excessively
336
long. The bot still remembers every exempt, but it only
337
activates a exempt on the channel when it sees a ban set
338
that matches the exempt. The exempt remains active on the
358
<p>Only activate exempts on the channel when necessary? This
359
keeps the channel's exempt list from getting excessively
360
long. The bot still remembers every exempt, but it only
361
activates a exempt on the channel when it sees a ban set
362
that matches the exempt. The exempt remains active on the
339
363
channel for as long as the ban is still active.</p>
342
366
<dt><strong>userexempts</strong></dt>
345
<p>Allow exempts to be made by users directly? If turned
346
off, the bot will require all exempts to be made through
369
<p>Allow exempts to be made by users directly? If turned
370
off, the bot will require all exempts to be made through
347
371
the bot's console.</p>
350
374
<dt><strong>dynamicinvites</strong></dt>
353
<p>Only activate invites on the channel when necessary?
354
This keeps the channel's invite list from getting
355
excessively long. The bot still remembers every invite, but
377
<p>Only activate invites on the channel when necessary?
378
This keeps the channel's invite list from getting
379
excessively long. The bot still remembers every invite, but
356
380
the invites are only activated when the channel is set to
357
381
invite only and a user joins after requesting an invite.
358
382
Once set, the invite remains until the channel goes to -i.</p>
495
<p>The following settings are used as default values when you .+chan
534
<p>The following settings are used as default values when you .+chan
496
535
#chan or .tcl channel add #chan. Look in the section above for
497
536
explanation of every option.</p>
499
<p><strong><em>set global-flood-chan 10:60</em></strong><br>
500
<strong><em>set global-flood-deop 3:10</em></strong><br>
501
<strong><em>set global-flood-kick 3:10</em></strong><br>
502
<strong><em>set global-flood-join 5:60</em></strong><br>
503
<strong><em>set global-flood-ctcp 3:60</em></strong><br>
504
<strong><em>set global-flood-nick 5:60</em></strong></p>
506
<p><strong><em>set global-chanmode "nt-likm"</em></strong><br>
507
<strong><em>set global-stopnethack-mode 0</em></strong><br>
508
<strong><em>set global-revenge-mode 1</em></strong></p>
510
<p><strong><em>set global-chanset {</em></strong></p>
538
<p><strong>set global-flood-chan 10:60</strong><br>
539
<strong>set global-flood-deop 3:10</strong><br>
540
<strong>set global-flood-kick 3:10</strong><br>
541
<strong>set global-flood-join 5:60</strong><br>
542
<strong>set global-flood-ctcp 3:60</strong><br>
543
<strong>set global-flood-nick 5:60</strong></p>
545
<p><strong>set global-chanmode "nt-likm"</strong><br>
546
<strong>set global-stopnethack-mode 0</strong><br>
547
<strong>set global-revenge-mode 0</strong><br>
548
<strong>set global-ban-time 120</strong><br>
549
<strong>set global-exempt-time 60</strong><br>
550
<strong>set global-invite-time 60</p>
552
<p><strong>set global-chanset {</strong></p>
512
-nodesynch -enforcebans
513
+dynamicbans +userbans
519
-inactive -protectfriends
521
+userexempts +dynamicexempts
522
+userinvites +dynamicinvites
556
+dontkickops +dynamicbans
557
+dynamicexempts +dynamicinvites
560
-protectfriends +protectops
564
+userbans +userexempts
565
+userinvites +protecthalfops
524
<p><strong><em>}</em></strong></p>
528
<p><a name="tclcmds"></a>2. <strong>Tcl commands</strong></p>
530
<p>See doc/tcl-commands.doc for information on each of these
535
<li><strong>channel add <name> <option-list></strong>
538
<li><strong>channel set <name> <options></strong></li>
540
<li><strong>channel info <name></strong></li>
542
<li><strong>channel remove <name></strong></li>
544
<li><strong>savechannels</strong></li>
546
<li><strong>loadchannels</strong></li>
548
<li><strong>channels</strong></li>
550
<li><strong>validchan <channel></strong></li>
552
<li><strong>isdynamic <channel></strong></li>
554
<li><strong>newchanban <channel> <ban> <creator>
555
<comment> [lifetime] [options]</strong></li>
557
<li><strong>newban <ban> <creator> <comment>
558
[lifetime] [options]</strong></li>
560
<li><strong>killchanban <channel> <ban></strong></li>
562
<li><strong>killban <ban></strong></li>
564
<li><strong>isban <ban> [channel]</strong></li>
566
<li><strong>ispermban <ban> [channel]</strong></li>
568
<li><strong>matchban <nick!user@host> [channel]</strong></li>
570
<li><strong>banlist [channel]</strong></li>
572
<li><strong>newchanexempt <channel> <exempt>
573
<creator> <comment> [lifetime] [options]</strong></li>
575
<li><strong>newexempt <exempt> <creator> <comment>
576
[lifetime] [options]</strong></li>
578
<li><strong>killchanexempt <channel> <exempt></strong>
581
<li><strong>killexempt <exempt></strong></li>
583
<li><strong>isexempt <exempt> [channel]</strong></li>
585
<li><strong>ispermexempt <exempt> [channel]</strong></li>
587
<li><strong>matchexempt <nick!user@host> [channel]</strong> </li>
589
<li><strong>exemptlist [channel]</strong></li>
591
<li><strong>newchaninvite <channel> <invite>
592
<creator> <comment> [lifetime] [options]</strong></li>
594
<li><strong>newinvite <invite> <creator> <comment>
595
[lifetime] [options]</strong></li>
597
<li><strong>killchaninvite <channel> <invite></strong></li>
599
<li><strong>killinvite <invite></strong></li>
601
<li><strong>isinvite <invite> [channel]</strong></li>
603
<li><strong>isperminvite <invite> [channel]</strong></li>
605
<li><strong>matchinvite <nick!user@host> [channel]</strong></li>
607
<li><strong>invitelist [channel]</strong></li>
609
<li><strong>setlaston <handle> [channel] [time]</strong></li>
611
<li><strong>getchaninfo <handle> <channel></strong></li>
613
<li><strong>setchaninfo <handle> <channel>
614
<info></strong></li>
616
<li><strong>addchanrec <handle> <channel></strong></li>
618
<li><strong>delchanrec <handle> <channel></strong></li>
620
<li><strong>stick <banmask> [channel]</strong></li>
622
<li><strong>unstick <banmask> [channel]</strong></li>
624
<li><strong>stickexempt <exemptmask> [channel]</strong></li>
626
<li><strong>unstickexempt <exemptmask> [channel]</strong></li>
628
<li><strong>stickinvite <invitemask> [channel]</strong></li>
630
<li><strong>unstickinvite <invitemask> [channel]</strong></li>
632
<li><strong>setudef <flag/int> <name></strong></li>
634
<li><strong>renudef <flag/int> <oldname> <newname>
637
<li><strong>deludef <flag/int> <name></strong></li>
639
<li><strong>haschanrec <handle> <channel></strong></li>
568
<p><strong>}</strong></p>
644
572
<p><em>Copyright © 1997 Robey Pointer<br>
645
Copyright © 1999, 2000, 2001, 2002 <a href="http://www.eggheads.org/">
646
Eggheads Development Team</a></em></p>
573
Copyright © 1999, 2000, 2001, 2002, 2003, 2004
574
<a href="http://www.eggheads.org/"> Eggheads Development Team</a></em></p>