<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forum.eggheads.org/app.php/feed/topic/9471" />

	<title>egghelp/eggheads community</title>
	<subtitle>Discussion of eggdrop bots, shell accounts and tcl scripts.</subtitle>
	<link href="https://forum.eggheads.org/index.php" />
	<updated>2005-04-24T18:34:47-04:00</updated>

	<author><name><![CDATA[egghelp/eggheads community]]></name></author>
	<id>https://forum.eggheads.org/app.php/feed/topic/9471</id>

		<entry>
		<author><name><![CDATA[De Kus]]></name></author>
		<updated>2005-04-24T18:34:47-04:00</updated>

		<published>2005-04-24T18:34:47-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=48519#p48519</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=48519#p48519"/>
		<title type="html"><![CDATA[bug, guard*.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=48519#p48519"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code>proc guard_jdec {chan} { global guardj incr guardj($chan) -1}</code></pre></div>my intuition tells me this proc causes the error after using rehash, because guardj will be unset on rehash, but the timer goes on which trigger that proc.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=2382">De Kus</a> — Sun Apr 24, 2005 6:34 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2005-04-24T15:46:34-04:00</updated>

		<published>2005-04-24T15:46:34-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=48516#p48516</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=48516#p48516"/>
		<title type="html"><![CDATA[bug, guard*.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=48516#p48516"><![CDATA[
Then comment the following lines in your bot's config:<blockquote class="uncited"><div>unbind dcc n tcl *dcc:tcl<br>unbind dcc n set *dcc:set</div></blockquote>(i.e. add # behind each)<br><br>And add your handle to the owner variable (set owner "&lt;your handle&gt;")<br><br>Now, you can use the .set command.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Sun Apr 24, 2005 3:46 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ach]]></name></author>
		<updated>2005-04-24T14:55:17-04:00</updated>

		<published>2005-04-24T14:55:17-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=48515#p48515</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=48515#p48515"/>
		<title type="html"><![CDATA[bug, guard*.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=48515#p48515"><![CDATA[
<blockquote class="uncited"><div>type '.set errorInfo' in your partyline so we would know where exactly the error occured.</div></blockquote>mmm good <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile">, but @partyline '.set errorInfo' -&gt; What?  You need '.help'  <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_sad.gif" width="15" height="15" alt=":(" title="Sad"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6132">ach</a> — Sun Apr 24, 2005 2:55 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2005-04-24T08:37:41-04:00</updated>

		<published>2005-04-24T08:37:41-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=48506#p48506</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=48506#p48506"/>
		<title type="html"><![CDATA[bug, guard*.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=48506#p48506"><![CDATA[
type '.set errorInfo' in your partyline so we would know where exactly the error occured.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Sun Apr 24, 2005 8:37 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ach]]></name></author>
		<updated>2005-04-24T03:09:16-04:00</updated>

		<published>2005-04-24T03:09:16-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=48501#p48501</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=48501#p48501"/>
		<title type="html"><![CDATA[bug, guard*.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=48501#p48501"><![CDATA[
this is the script guard.tcl<br><div class="codebox"><p>Code: </p><pre><code>set guard(ver) "v1.01.00"set guard(tag) "\[\002Guard\002\]"if {[info exists guardn]} {unset guardn}if {[info exists guardj]} {unset guardj}if {[info exists guardc]} {unset guardc}# This variable is set to 0 during some attacks. Usefull to have# "toy scripts" check it so if there's a flood going on it wont# activate things that could slow the bot down or aid in flooding it offif {![info exists publics]} {set publics 1}# [0/1] Set to 1 if you want the bot to send out a "911" call when being#       attacked to other bots on the botnet. Bots on the same net that#       answer the call will join the attacked channel and get OPs.#       (They will only be auto-OPed for a short period after the 911 call#        is placed.)set guard(dial911) 0# This is the userflag the bot record must have to get auto-OPs during# a 911 call. Only when the calling bot is in "911 condition" can any# bots gets OPed that join.set guard(911flag) C# [0/1] Set this to 1 if you wish to use the IRC server SILENCE command.set guard(usesilence) 1# Time in minutes that a channel lockdown will last.set guard(lockdowntime) 3# [0/1] Set this to 1 if you want to kick/ban any user with non-standard#       charactors in thier account name. (High ASCII)set guard(nobogus) 1# This is the time in second to ban users with non-standard charactors# in thier account name. (Mainly to prevent auto-rejoin)set guard(bogusban) 30# This is the number of seconds data records are kept.set guard(expire) 3600# This is the number of minutes to check for expired data.set guard(expiret) 30# Change this if you have bots linked in that are on other networks if you# don't want them to set bans requested by the script, answer 911 calls,# etc.set guard(netcode) 760# General ban length in minutes. Don't belive I use it anymore.set guard(bantime) 60# Time in minutes to ban flooders. Not sure it's used anymore.set guard(floodbantime) 10# X:Y Lock down if there's more then X joins in Y secondsset guard(joinflood) "10:20"# X:Y Lock down if there's more then X messages in Y secondsset guard(msgflood) "10:20"# X:Y Lock down if there's more then X CTCP in Y secondsset guard(ctcpflood) "5:20"# X:Y Lock down if there's more then X notices in Y secondsset guard(noticeflood) "5:20"# Maximim percentage of caps a line may containset guard(caps_per) 50# Minimum length of line to check for all caps.set guard(caps_min) 40#####[ Caps Lock ]###### If you need to be told what this variable is, then you don't need a bot. :pset guard(caps_reason) "Please do not use excessive caps."# Number of offences before warning. set guard(caps_warn) 5# Number of offences before kicking.set guard(caps_kick) 1# Number of offences before banning.set guard(caps_ban) 2#####[ No Spaces ]###### Minimun numbers of charactors a line must contain before being checked. set guard(spaces_min) 60# Number of offences before warning.set guard(spaces_warn) 4# Number of offences before kicking.set guard(spaces_kick) 1# Number of offences before banning.set guard(spaces_ban) 2# Again, if ya need to be told what this variable is, just kill yourself.set guard(spaces_reason) "Umf. Try using some spaces next time."#####[ Repeating ]###### Number of offences before warning.set guard(repeat_warn) 3# Number of offences before kicking.set guard(repeat_kick) 5# Number of offences before banning.set guard(repeat_ban) 6#####[ Add Charactor Flood ]###### Number of offences before banning on an add-charactor floodset guard(addflood_ban) 4set guard(addflood_reason) "Add-charactor Flood: There goes another float in the idiot parade"#####[ Subtraction Charactor Flood ]###### Number of offences before banning on a subtraction-charactor floodset guard(subflood_ban) 4set guard(subflood_reason) "Subtraction-charactor Flood:There goes another float in the idiot parade"#####[ Single Charactor Flood ]###### Number of offences before banning on a single-charactor floodset guard(scflood_ban) 5set guard(scflood_reason) "1CF:There goes another float in the idiot parade"#####[ Excessive Colors ]###### Channel(s) to check for excessive colorsset guard(nocolors) "#DestrucT"# Number of offences before warning.set guard(color_warn) 5# Number of offences before kicking.set guard(color_kick) 7# Number of offences before banningset guard(color_ban) 8# Minimum number of color codes before checking.set guard(color_max) 1# You guessed it. If you need to be told what this variable is, you're an idiot.set guard(color_reason) "Please do not use excessive colors on channel"##### No more user definable variables beyond this point. ########## No. Really. No user servicable parts beyond this area ########## Stuborn little [censored], arn't ya? ########## Go away allready. lol #####bind kick - ** kickguardproc kickguard {nick uh hand chan target reason} {if {$nick == "!"} {return 0}if {![isop $nick $chan]} { guardkick $nick $chan "NonOPed user abusing dysync" putlog "DESYNC ABUSE: $nick!$uh on $chan Kicked $target ($reason)"                          } return 0                                                  }bind mode - ** modeguardproc modeguard {nick uh hand chan mode target} {if {$nick == ""} {return 0}#if {[validop $hand $chan]} {return 0}if {(![isop $nick $chan]) &amp;&amp; ($target != $nick)} { guardkick $nick $chan "NonOPed user abusing dysync" putlog "DESYNC ABUSE: $nick!$uh on $chan Set mode $mode $target"                          } return 0                                                  }proc guard_jdec {chan} { global guardj incr guardj($chan) -1}proc guard_dec {type} { global guardc incr guardc($type) -1}proc guard_inc {type flimit ftime } {global guardc if {![info exists guardc($type)]} {set guardc($type) 1} else {incr guardc($type) 1} utimer $ftime "guard_dec $type" if {$guardc($type) &lt; $flimit} {return 1} putlog "$type over max hits of $flimit in $ftime seconds" guard_lockdown $type}bind join - * guard_joinproc guard_join {nick uhost hand chan} {global guard guardj if {[matchattr $hand E] == 1} {return 0} if {[onchansplit $nick $chan]} {putlog "$chan returned from split";return 0} set sitemask "*!*[string trimleft [maskhost $uhost] *!]" set chan [string tolower $chan] set account [string tolower [string range $uhost 0 [expr [string first @ $uhost] - 1]]] if {$guard(nobogus) &amp;&amp; [guard_isbogus $account]} { guardban $nick $sitemask $chan "Bogus Account Name Detected"                                                  } if {![info exists guardj($chan)]} {set guardj($chan) 1} else {incr guardj($chan) 1} utimer $guard(jointime) "guard_jdec $chan" if {$guardj($chan) &lt; $guard(join)} {return 1}  putlog "$chan over max joins of $guard(join) in $guard(jointime) seconds"  guard_dial911 $chan  if {[botisop $chan] == 0} {putlog "$guard(tag) Possible botnet join- NotOPed. Can't do anything."; return 1}  set reason "Possible Botnet join detected"#  putserv "privmsg $chan: Guardian Warning: Possible Botnet join detected"# guardban $nick $sitemask $chan "Possible Botnet join detected"#guardkick $nick $chan $reason guard_lockdown BotNetJoin if {([expr [unixtime] - $guard(lastlimit)] &gt; 300)} {   set guard(lastlimit) [unixtime]   putquick "MODE $chan +ql [llength [chanlist $chan]]" -next   utimer 60 "guard_unlock $chan"                                                   }#  putallbots "guardban $guard(netcode) $nick $uhost $sitemask $reason 10"}proc guard_isbogus {acount} { if {[regsub -all -- "\[^\041-\176\]" $acount "" temp] &gt;= 1} {return 1} return 0}bind ctcr - PING guard_replyproc guard_reply {nick uhost hand dest key arg} {global guard subst -nobackslashes -nocommands -novariables arg regsub -all {\[} $arg "!EXPLOIT!" arg regsub -all {\]} $arg "!EXPLOIT!" arg regsub -all {\"} $arg "!QT!" argif {([string match "*!EXPLOIT!*" " $arg "] &gt; 0)} {   putlog "$guard(tag) BUG exploit by $nick!$uhost\($hand\): $arg on $dest"   set sitemask "*!*[string trimleft [maskhost $uhost] *!]"   guardban $nick $sitemask "*" "Bracket Exploit Attempt"   return 1                                              }}proc guard_unlock {chan} { putserv "MODE $chan -q-l"}proc guard_ram {text} { set serveridx 0 set data [dcclist] foreach line $data {  if {[string tolower [lindex $line 3]] == "server"} {set serveridx [lindex $line 0]}                    } if {$serveridx == 0} {putserv "$text"} else {putdcc $serveridx "$text"} unset serveridx data}bind pubm - "% *" pub_guardproc pub_guard {nick uhost hand chan rest} {subst -nobackslashes -nocommands -novariables text guard $nick $uhost $hand $chan $rest}bind notc - "*" notice_guardproc notice_guard {nick uhost hand text dest} { global guard subst -nobackslashes -nocommands -novariables text guard $nick $uhost $hand "*" $text guard_inc notice $guard(notice) $guard(noticetime)}bind ctcp - ACTION action_guardproc action_guard {nick uhost hand chan key text} { global guard subst -nobackslashes -nocommands -novariables text guard $nick $uhost $hand $chan $text}bind msgm - "*" msg_guardproc msg_guard {nick uhost hand text} { global guard guard $nick $uhost $hand "*" $text guard_inc msg $guard(msg) $guard(msgtime)}bind ctcp - "PING" ctcp_guardbind ctcp - "FINGER" ctcp_guardbind ctcp - "TIME" ctcp_guardbind ctcp - "CLIENTINFO" ctcp_guardbind ctcp - "VERSION" ctcp_guardproc ctcp_guard {nick uhost hand dest key rest} {global guard subst -nobackslashes -nocommands -novariables rest guard_inc ctcp $guard(ctcp) $guard(ctcptime) guard "$nick" $uhost "$hand" "*" "$rest" return 0}bind flud - * guard_floodproc guard_flood {nick uhost hand type chan} {global guardif {([matchattr $hand b])} {return 0}if {([matchattr $hand o])} {return 0}if {([matchattr $hand f])} {return 0}if {$chan != "*"} { if {([matchchanattr $hand |o $chan])} {return 0} if {([matchchanattr $hand |f $chan])} {return 0} if {[isop $nick $chan]} {return 0}                  } putlog "FLOOD: From:$nick!$uhost Type: $type Chan:$chan" set sitemask "*!*[string trimleft [maskhost $uhost] *!]" newban $sitemask Guardian "$type flood detected. Naughty Monkey. Go sit in the corner." $guard(floodbantime) newignore $sitemask Guardian "$type flood detected. Naughty Monkey. Go sit in the corner." $guard(floodbantime) guard_dial911 $chan guard_lockdown $type}proc guard_lockdown {type} {global guard publics if {$guard(lockdown) == 1} {return 0} set guard(lockdown) 1 set type [string tolower $type] putlog "$guard(tag) Entering Lockdown mode from a $type flood" set guard(oldpublics) $publics set publics 0 if {[lsearch -glob "notice msg ctcp" "*$type*"] &gt; -1} {    newignore *!*@* Guardian "$type flood lockdown" $guard(lockdowntime)    if {$guard(usesilence) == 1} {putserv "SILENCE *!*@*"}                                                       } timer $guard(lockdowntime) guard_standdown}proc guard_standdown {} {global guard publics if {$guard(lockdown) == 0} {return 0} set guard(lockdown) 0 putlog "$guard(tag) Standing down." set publics $guard(oldpublics) unset guard(oldpublics) killignore *!*@* if {$guard(usesilence) == 1} {putserv "SILENCE -*!*@*"}}proc guard {nick uhost hand desc text} {global guard guardnsubst -nobackslashes -nocommands -novariables textif {([matchattr $hand b])} {return 0}if {([matchattr $hand o])} {return 0}if {([matchattr $hand f])} {return 0}if {($desc != "*") &amp;&amp; ([string index $desc 0] == "#")} { if {([matchchanattr $hand |o $desc])} {return 0} if {([matchchanattr $hand |f $desc])} {return 0} if {[isop $nick $desc]} {return 0}                  }regsub -all {\{} $text "?" textregsub -all {\(} $text "?" textregsub -all {\"} $text "?" textregsub -all {\[} $text "?" textregsub -all {\]} $text "?" textset rtext $textif {[llength $text] == 1} {set text [lindex $text 0]}set text [string tolower $text]set lnick [string tolower $nick]set sitemask "*!*[string trimleft [maskhost $uhost] *!]"if {![info exists guardn($lnick)]} {set guardn($lnick) "0 0 0 0 0 0 0 [unixtime] $text"                                    append guardn(nicks) "$lnick "                                   } set g_repeat [lindex $guardn($lnick) 0] set g_sflood [lindex $guardn($lnick) 1] set g_aflood [lindex $guardn($lnick) 2] set g_1flood [lindex $guardn($lnick) 3] set g_cc [lindex $guardn($lnick) 4] set g_caps [lindex $guardn($lnick) 5] set g_spaces [lindex $guardn($lnick) 6] set g_time [lindex $guardn($lnick) 7] set g_text [lrange $guardn($lnick) 8 end] set caps 0 set spaces 0 set gloop 0; set CC 0 while {$gloop &lt; [string length $text]} {  if {[string match "*[string index $rtext $gloop]*" "ABCDEFGHIJKLMNOPQRSTUVWXYZ"]} {incr caps 1}  if {[string index $text $gloop] == "\003"} {incr CC 1}  if {[string index $text $gloop] == " "} {incr spaces 1}  incr gloop 1                                        }if {([guardchan $desc $guard(nocolors)]) &amp;&amp; ($CC &gt;&gt; $guard(color_max))} {incr g_cc 1} else {set g_cc 0}set totc [string length $rtext]if {$text != ""} {set capsp [expr (${caps}.0 / ${totc}.0) * 100]} else {set capsp 0}if {($totc &gt; $guard(caps_min)) &amp;&amp; ($capsp &gt; $guard(caps_per))} {incr g_caps 1} else {set g_caps 0}if {($totc &gt; $guard(spaces_min)) &amp;&amp; ($spaces == 0)} {incr g_spaces 1} else {set g_spaces 0}#repeat flood if {$g_text == $text} {incr g_repeat 1} else {set g_repeat 0}# Add char floodif {[string range $text 0 [expr [string length $text] - 2]] == $g_text} {incr g_aflood} else {set g_aflood 0}# Sub char floodif {[string range $g_text 0 [expr [string length $g_text] - 2]] == $text} {incr g_sflood} else {set g_sflood 0}if {[string length $text] == 1} {incr g_1flood} else {set g_1flood 0}#if ([$strlen($Rtext)] == 1) {@SCcnt = SCcnt + 1}{@SCcnt = 1} if {$g_cc == $guard(color_warn)} {guardsay $nick $desc "$nick: $guard(color_reason)"} if {$g_cc == $guard(color_kick)} {guardkick $nick $desc $guard(color_reason)} if {$g_cc == $guard(color_ban)} {guardban $nick $sitemask $desc $guard(color_reason)} if {$g_spaces == $guard(spaces_warn)} {guardsay $nick $desc "$nick: $guard(color_spaces)"} if {$g_spaces == $guard(spaces_kick)} {guardkick $nick $desc $guard(spaces_reason)} if {$g_spaces == $guard(spaces_ban)} {guardban $nick $sitemask $desc $guard(spaces_reason)} if {$g_caps == $guard(caps_warn)} {guardsay $nick $desc "$nick: $guard(caps_reason)"} if {$g_caps == $guard(caps_kick)} {guardkick $nick $desc "$guard(caps_reason)"} if {$g_caps == $guard(caps_ban)} {guardban $nick $sitemask $desc "$guard(caps_reason)"} if {$g_1flood == $guard(scflood_ban)} {set g_1flood 0; guardban $nick $sitemask $desc $guard(scflood_reason)} if {$g_sflood == $guard(subflood_ban)} {set g_sflood 0; guardban $nick $sitemask $desc $guard(subflood_reason)} if {$g_aflood == $guard(addflood_ban)} {set g_aflood 0; guardban $nick $sitemask $desc $guard(addflood_reason)} if {$g_repeat == $guard(repeat_warn)} {guardsay $nick $desc "$nick: Please do not repeat"} if {$g_repeat == $guard(repeat_kick)} {guardkick $nick $desc "$nick: Please do not repeat. Last warning."} if {$g_repeat == $guard(repeat_ban)} {guardban $nick $sitemask $desc "Don't Repeat! Don't Repeat! Don't Repeat! Don't Repeat!"} set guardn($lnick) "$g_repeat $g_sflood $g_aflood $g_1flood $g_cc $g_caps $g_spaces [unixtime] $text" return 0}proc guardchan {chan chans} { set chan [string tolower $chan] set chans [string tolower $chans] set dothechan 0 foreach c $chans {  if {($chan == $c)} {set dothechan 1}                  } if {$dothechan == 0} {return 0} else {return 1}}proc guardsay {nick chan text} { if {$chan != "*"} {putserv "PRIVMSG $chan :$text"} putserv "PRIVMSG $nick :$text"}proc guardkick {nick chan reason} {if {[string index $chan 0] == "#"} {putquick "KICK $chan $nick :$reason"} else { guard_kickfromallchans $nick $reason}}proc guard_kickfromallchans {nick reason} {  foreach chan [channels] {   if {[onchan $nick $chan]} {                              putserv "KICK $chan $nick :\002$reason\002"                             }                          }}proc guardban {nick sitemask chan reason} {global guard putallbots "guardban $guard(netcode) $nick $sitemask $sitemask $reason"if {[string index $chan 0] == "#"} { newchanban $chan $sitemask Guardian $reason $guard(bantime) putserv "KICK $chan $nick :$reason"                                   } else {                        newban $sitemask Guardian "$reason" $guard(bantime)                        guard_kickfromallchans $nick "$reason"                                          }#  newchanban &lt;channel&gt; &lt;ban&gt; &lt;creator&gt; &lt;comment&gt; [lifetime] [options]#  newban &lt;ban&gt; &lt;creator&gt; &lt;comment&gt; [lifetime] [options]}bind bot - guardban_reply guardban_reply_inproc guardban_reply_in {bot cmd args} { global guard putlog "$guard(tag) Guardban reply from $bot: $args"                                      }bind bot - guardban guardban_inproc guardban_in {bot cmd arg} { global guard network set c [lindex $arg 0] set n [lindex $arg 1] set u [lindex $arg 2] set s [lindex $arg 3] set r [lrange $arg 4 end] if {$c == $guard(netcode)} {  putlog "$guard(tag) ban requested from $bot: nick:$n uhost:$u sitemask:$s reason:$r"  set data [finduser $n!$u]  if {$data != "*"} {putbot $bot "guardban_reply Sorry, $n!$u matches one of my users. (Handle:$data)"                     putlog "$guard(tag) $n!$u matches user ($data). Not banning."                     return 0}  if {[isban $s]} {putbot $bot "guardban_reply $s is allready in my ban list."                   putlog "$guard(tag) $s allready in banlist."                   return 0} newban $s Guardian "($bot) $r" $guard(bantime)  putbot $bot "guardban_reply $s has been banned: $r"                            }                                 }proc guard_dial911 {chan} { global guard   if {$guard(in911) == 1} {return 0}  if {![botisop $chan]} {putlog "$guard(tag) Not OPed on $chan! Can't call 911!"}  set guard(in911) 1  putallbots "guard911 $guard(netcode) $chan"  putlog "$guard(tag) Placing 911 call to botnet $guard(netcode)"  timer 10 guardend911}proc guardend911 {} { global guard putlog "$guard(tag) Halting 911 call" set guard(in911) 0}#  putallbots "guard911 $guard(netcode) $chan"bind bot - guard911 guard911_inproc guard911_in {bot cmd arg} { global guard network set c [lindex $arg 0] set chan [lindex $arg 1] if {$c == $guard(netcode)} {  putlog "$guard(tag) 911 call recieved from $bot for channel $chan"  if {![validchan $chan]} {   putlog "$guard(tag) Answering 911 call"   channel add $chan   timer 20 "guard911hu $chan"                          }                            }}proc guard911hu {chan} { global guard putlog "$guard(tag) 911 Call Has Ended for $chan" channel remove $chan}bind join $guard(911flag) * guard_911joinproc guard_911join {nick uhost hand chan} { global guard if {$guard(in911) == 1} {putquick "MODE $chan +o $nick"}}proc guard_slasher {line} {                    regsub -all {\\} $line "\\\\" line                    regsub -all {\&lt;} $line "\\\&lt;" line                    regsub -all {\&gt;} $line "\\\&gt;" line                    regsub -all {\"} $line "\\\"" line                    regsub -all {\(} $line "\\\(" line                    regsub -all {\)} $line "\\\)" line                    regsub -all {\{} $line "\\\{" line                    regsub -all {\}} $line "\\\}" line                    regsub -all {\[} $line "\\\[" line                    regsub -all {\]} $line "\\\]" line                    regsub -all {\;} $line "\\\;" line                    regsub -all {\:} $line "\\\:" line                    regsub -all {\.} $line "\\\." line  return $line}proc validop {hand chan} {if {([matchattr $hand b])} {return 1}if {([matchattr $hand o])} {return 1}if {([matchattr $hand f])} {return 1}if {$chan != "*"} { if {([matchchanattr $hand |o $chan])} {return 1} if {([matchchanattr $hand |f $chan])} {return 1} if {[isop $nick $chan]} {return 1}                  }return 0}proc guard_expire {} {global guardn guard if {![info exists guardn]} {return 0} putlog "$guard(tag) Checking for expired data" set newnicks "" foreach n [string tolower $guardn(nicks)] {  set g_time [lindex $guardn($n) 7]  set g_last [expr [unixtime] - $g_time]  if {$g_last &gt; $guard(expire)} {unset guardn($n)} else {append newnicks "$n "}                     } putlog "$guard(tag) [llength $newnicks] out of [llength $guardn(nicks)] kept." set guardn(nicks) $newnickstimer $guard(expiret) guard_expire}timer $guard(expiret) guard_expireproc guard_loadfloodtimes {n t v nd td} {global guardset guard($n) $ndset guard($t) $td if {![regexp ":" "$v"]} {putlog "ERROR: Can't parse $v correctlly. Using defualt of $nd:$td"} else {      set g [string first ":" $v]      set g1 [string range $v 0 [expr $g - 1]]      set g2 [string range $v [expr $g + 1] end] if {($g1 &gt; 0)} {set guard($n) $g1} if {($g2 &gt; 0)} {set guard($t) $g2}}#putlog "Parsed $v and got $n value of $guard($n) and $t value of $guard($t)"}# These settings are used internally by the script. Don't be an ass and# mess with them. :pset guard(joins) 0; guard_loadfloodtimes join jointime $guard(joinflood) 10 60set guard(msgs) 0;  guard_loadfloodtimes msg msgtime $guard(msgflood) 10 40set guard(ctcp) 0; guard_loadfloodtimes ctcp ctcptime $guard(ctcpflood) 10 20set guard(notices) 0; guard_loadfloodtimes notice noticetime $guard(noticeflood) 10 20set guard(lockdown) 0set guard(in911) 0set guard(lastlimit) [expr [unixtime] - 1000]</code></pre></div>@De Kus: fix it plz..<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6132">ach</a> — Sun Apr 24, 2005 3:09 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[De Kus]]></name></author>
		<updated>2005-04-23T12:51:27-04:00</updated>

		<published>2005-04-23T12:51:27-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=48476#p48476</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=48476#p48476"/>
		<title type="html"><![CDATA[bug, guard*.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=48476#p48476"><![CDATA[
find the script using the var "guardj" and fix it. probably it isnt registred globally correctly or someone forgot to initiazed the array before usage.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=2382">De Kus</a> — Sat Apr 23, 2005 12:51 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ach]]></name></author>
		<updated>2005-04-23T12:28:09-04:00</updated>

		<published>2005-04-23T12:28:09-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=48472#p48472</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=48472#p48472"/>
		<title type="html"><![CDATA[bug, guard*.tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=48472#p48472"><![CDATA[
on partyline : <br>-=**[19:14]**=- &lt;Windows`XP&gt; [19:14] FLOOD: From:eyayeayeare!~aeteatae@83.228.39.187 Type: pub Chan:#Destruct<br>-=**[19:14]**=- &lt;Windows`XP&gt; [19:14] [Guard] Placing 911 call to botnet 760<br>-=**[19:14]**=- &lt;Windows`XP&gt; [19:14] [Guard] Entering Lockdown mode from a pub flood<br>and the bug ---&gt;<br>-=**[19:14]**=- &lt;Windows`XP&gt; [19:14]<em class="text-italics">Tcl error in script for 'timer16464895':</em><br>-=**[19:14]**=- &lt;Windows`XP&gt; [19:14]<em class="text-italics"> can't read "guardj(#destruct)": no such variable</em> <br>Plz,fix it <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_sad.gif" width="15" height="15" alt=":(" title="Sad">(<br>P.S. the $botnick == Windows`XP<br>10x *<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6132">ach</a> — Sat Apr 23, 2005 12:28 pm</p><hr />
]]></content>
	</entry>
	</feed>
