<?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/112" />

	<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>2001-10-08T21:22:00-04:00</updated>

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

		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2001-10-08T21:22:00-04:00</updated>

		<published>2001-10-08T21:22:00-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=387#p387</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=387#p387"/>
		<title type="html"><![CDATA[Anti Control Code & Long Character on PUBLIC & NOTICE [Error]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=387#p387"><![CDATA[
set chktsu 1<br><br>set chkltx 0<br><br>set tsu_maxchar 255<br><br>set ltx_maxchar 325<br><br>set tsu_hostallow {<br>  "@dal.net"<br>}<br><br>set tsu_kmsgs {<br>  "excess control codes"<br>}<br><br>set tsu_amsgs {<br>  "too many control codes! lessen your use of control codes.."<br>}<br><br>set ltx_kmsgs {<br>  "excessive long text"<br>}<br><br>set ltx_amsgs {<br>  "You've phrased too much long characters.. decrease it please.."<br>}<br><br>set tsu_banop 0<br><br>set tsu_bantime 2<br><br>set tsu_ignoretime 1<br><br>set ltx_bantime 2<br><br>set ltx_ignoretime 1<br><br>set tsu_lockchan 1<br><br>set tsu_locktime 15<br><br># This is for your benefit hehe <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_wink.gif" width="15" height="15" alt=":wink:" title="Wink">, you can either set your own LOGO here, your logo will appear-<br># when the bot notice you, or when it makes msgs/notices/kicks or scripts loading. So keep smiling-<br># and set this variable as you wish <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_wink.gif" width="15" height="15" alt=":wink:" title="Wink">, you can either set this to "" to leave it blank.<br>set pltxlg "[Bc]:"<br><br>proc bottsutrig {nick uhost hand rest} {<br>global botnick chktsu chkltx tsu_maxchar ltx_maxchar tsu_hostallow tsu_kmsgs tsu_amsgs ltx_kmsgs ltx_amsgs tsu_bantime tsu_ignoretime tsu_lockchan tsu_locktime ltx_bantime ltx_ignoretime pltxlg<br>if {[isbotnick $nick] || [matchattr $hand o]} {return 0}<br>foreach tallowhost [string tolower $tsu_hostallow] {if {[string match *$tallowhost* [string tolower $uhost]]} {return 0}}<br>if {[string match "#*" [lindex $rest 0]]} {set chan [lindex $rest 0] ; set tvictim $chan ; set rest [lrange $rest 1 end]} else {set chan "" ; set tvictim $botnick}<br>if {$chktsu} {<br>if {[string match ** $rest] || [string match ** $rest] || [string match ** $rest]} {<br>set tlength [string length $rest] ; set bcode 0 ; set ucode 0 ; set kcode 0<br>for {set i 0} {$i &lt; $tlength} {incr i} {<br>if {[string index $rest $i] == ""} {incr bcode}<br>if {[string index $rest $i] == ""} {incr ucode}<br>if {[string index $rest $i] == ""} {incr kcode}<br>}<br>if {$bcode &gt;= $tsu_maxchar/3 || $ucode &gt;= $tsu_maxchar/3 || $kcode &gt;= $tsu_maxchar/3} {<br>set banhost *!*@[lindex [split $uhost @] 1]<br>set tsu_reason "$pltxlg Control Codes Exceed (BC: $bcode - UC: $ucode - CC: $kcode) to $tvictim from: $nick."<br>set tsu_kmsg "4$pltxlg $nick: (BC: $bcode - UC: $ucode - CC: $kcode): [lindex $tsu_kmsgs [rand [llength $tsu_kmsgs]]]"<br>set tsu_amsg "$pltxlg $nick: (BC: $bcode - UC: $ucode - CC: $kcode): [lindex $tsu_amsgs [rand [llength $tsu_amsgs]]]"<br>dotsuban $nick $uhost $banhost $chan $tsu_reason $tsu_kmsg $tsu_amsg $tsu_bantime $tsu_ignoretime<br>putlog "$pltxlg Control Codes Exceed (BC: $bcode - UC: $ucode - CC: $kcode) to $tvictim from: $nick." ; return 0<br>}<br>}<br>}<br>if {$chkltx} {<br>if {[string length $rest] &gt;= $ltx_maxchar} {<br>set banhost *!*@[lindex [split $uhost @] 1]<br>set ltx_reason "$pltxlg Long Text ([string length $rest]) to $tvictim from: $nick."<br>set ltx_kmsg "4$pltxlg $nick: [lindex $ltx_kmsgs [rand [llength $ltx_kmsgs]]]"<br>set ltx_amsg "$pltxlg $nick: ([string length $rest]): [lindex $ltx_amsgs [rand [llength $ltx_amsgs]]]"<br>dotsuban $nick $uhost $banhost $chan $ltx_reason $ltx_kmsg $ltx_amsg $ltx_bantime $ltx_ignoretime<br>putlog "$pltxlg Long Text ([string length $rest]) to $tvictim from: $nick." ; return 0<br>}<br>} ; return 0<br>}<br><br>proc dotsuban {nick uhost tbanhost tchan treason tkickmsg topmsg tbantime tignoretime} {<br>global botnick tsu_banop tsu_lockchan tsu_locktime pltxlg<br>if {$tchan != ""} {<br>if {[botisop $tchan]} {<br>if {[isop $nick $tchan]} {if {!$tsu_banop} {putquick "PRIVMSG $tchan :$topmsg" ; return 0}}<br>newignore $tbanhost $botnick $treason $tignoretime<br>putlog "$pltxlg Placing in Ignore on: $tbanhost for $tignoretime minute(s)."<br>if {$tsu_lockchan} {<br>putquick "MODE $tchan +mc" ; if {$tsu_locktime &lt;= 0} {set tsu_locktime 5}<br>putlog "$pltxlg Activating Channel lock in channel: $tchan for $tsu_locktime sec(s)." ; utimer $tsu_locktime "utsulock $tchan"<br>}<br>newchanban $tchan $tbanhost $botnick $treason $tbantime<br>set lmembers [chanlist $tchan]<br>foreach tsumember $lmembers {<br>set lselectedhost [getchanhost $tsumember $tchan]<br>set tsubanhost *!*@[lindex [split $lselectedhost @] 1]<br>if {$tbanhost == $tsubanhost} {<br>if {[isop $tsumember $tchan]} {putquick "MODE $tchan -o+b $tsumember $tsumember!*@*"<br>} else {if {[isvoice $tsumember $tchan]} {putquick "MODE $tchan -v+b $tsumember $tsumember!*@*"} else {putquick "MODE $tchan +b $tsumember!*@*"}<br>} ; newchanban $tchan $tsumember!*@* $botnick $treason $tbantime ; putkick $tchan $tsumember $tkickmsg<br>}<br>}<br>} else {<br>newignore $tbanhost $botnick $treason $tignoretime<br>putlog "$pltxlg Placing in Ignore on: $tbanhost for $tignoretime minute(s). Reason: $treason."<br>}<br>} else {<br>newignore $tbanhost $botnick $treason $tignoretime<br>putlog "$pltxlg Placing in Ignore on: $tbanhost for $tignoretime minute(s). Reason: $treason."<br>} ; return 0<br>}  <br><br>proc chntsutrig {nick uhost hand chan rest} {global botnick ; append chars "$chan $rest" ; bottsutrig $nick $uhost $hand $chars}<br><br>proc utsulock {tsu_chan} {<br>global botnick pltxlg<br>if {[validchan $tsu_chan]} {<br>if {[botisop $tsu_chan]} {<br>set tcurrmode [getchanmode $tsu_chan]<br>if {[string match "*m*" $tcurrmode] || [string match "*c*" $tcurrmode]} {putquick "MODE $tsu_chan -mc" ; putlog "$pltxlg Opening Channel lock on: $tsu_chan."}<br>}<br>} ; return 0<br>}<br><br>proc nottsutrig {from keyword arg} {<br>global botnick<br>set nick [lindex [split $from !] 0] ; set uhost [lindex [split $from !] 1]<br>if {[string match "*.*" $from]} {return 0} ; set chan ""<br>if {[string match "#*" [lindex $arg 0]]} {<br># if {[string match "*@*" [lindex $arg 0]]} {set chan [lindex [split [string tolower [lindex $arg 0]] @] 1]}<br>set chan [lindex $arg 0] ; set rest [lrange $arg 1 end]<br>} else {set rest $arg}<br>if {$chan != ""} {append chars "$chan $rest"} else {set chars $rest}<br>bottsutrig $nick $uhost $uhost $chars ; return 0<br>}<br><br>set tsuprotloaded 1<br><br>if {[info exist tsuprotloaded]} {<br>if {${tsuprotloaded}} {<br>bind msgm - * bottsutrig<br>bind pubm - * chntsutrig<br>bind raw - NOTICE nottsutrig<br>} else {<br>unbind msgm - * bottsutrig<br>unbind pubm - * chntsutrig<br>unbind raw - NOTICE nottsutrig<br>}<br>putlog "*** ${pltxlg} Protection, Control Codes + Long Text Blocker. Loaded."<br>}<br><br><br>please help me with this tcl, it can't detect any notice flood with control code and can you make it so it can determine wether are there Long Text and Long Notice.<br>i would like to set the tsunami character into 50 each control code (b,c,u) and 300 characters for long text and 150 characters for long notice. thanks <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":smile:" title="Smile"><br><br> <p>Statistics: Posted by Guest — Mon Oct 08, 2001 9:22 pm</p><hr />
]]></content>
	</entry>
	</feed>
