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

	<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-06-06T00:42:24-04:00</updated>

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

		<entry>
		<author><name><![CDATA[CooLB0Y]]></name></author>
		<updated>2005-06-06T00:42:24-04:00</updated>

		<published>2005-06-06T00:42:24-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=50292#p50292</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=50292#p50292"/>
		<title type="html"><![CDATA[repeat1.1]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=50292#p50292"><![CDATA[
thanks <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=4744">CooLB0Y</a> — Mon Jun 06, 2005 12:42 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[slennox]]></name></author>
		<updated>2005-06-05T16:02:44-04:00</updated>

		<published>2005-06-05T16:02:44-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=50281#p50281</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=50281#p50281"/>
		<title type="html"><![CDATA[repeat1.1]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=50281#p50281"><![CDATA[
Replace the two instances of:<br><div class="codebox"><p>Code: </p><pre><code>newchanban $chan $bmask repeat $rp_breason $rp_btime</code></pre></div>with<div class="codebox"><p>Code: </p><pre><code>pushmode $chan +b $bmask</code></pre></div>Though it'd probably be a better idea to give your ops +o status on the bot and enable the userbans channel setting, otherwise you may find yourself having to make the above type of change in numerous scripts.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=13034">slennox</a> — Sun Jun 05, 2005 4:02 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[CooLB0Y]]></name></author>
		<updated>2005-06-05T07:06:01-04:00</updated>

		<published>2005-06-05T07:06:01-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=50263#p50263</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=50263#p50263"/>
		<title type="html"><![CDATA[repeat1.1]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=50263#p50263"><![CDATA[
i want in this tcl the bot to set the ban in the channel only and the chan ops can remove it<div class="codebox"><p>Code: </p><pre><code># repeat.tcl v1.1 (9 April 1999) by slennox &lt;slenny@ozemail.com.au&gt;# Latest versions can be found at www.ozemail.com.au/~slenny/eggdrop/## This script detects people who repeat the same line of text on a channel# multiple times, and kicks and/or bans them. It is a complete rewrite of# the original repeat.tcl script by Tris.## There are three repeat detectors in this script - one for small repeat# floods, one for large repeat floods, and one for 'spam' type repeats# (e.g. people who ask the same question multiple times in a channel). An# additional mechanism detects whether multiple repeat floods are coming # from a particular host.## Note that the script isn't perfect since it uses only three single,# cycling utimers to prevent the bot becoming bogged down with separate# utimers for each message sent to a channel. This means it won't always# detect a repeat flood, but it will work most of the time (and aggressive# repeat floods should always be detected).## v1.0 - Initial release# v1.1 - Reorganised main proc and fixed problem with multiple repeat flood# ban triggering when it shouldn't, added detection of repeated notices,# changed some other things# Small repeat flood, kick on repeats:secondsset rp_kflood 2:10# Small repeat flood kick reasonset rp_kreason "Stop repeating we are not blinds!!!"# Large repeat flood, kick-ban on repeats:secondsset rp_bflood 3:10# Large repeat flood kick-ban reasonset rp_breason "Stop repeating we are not blinds!!!"# Spam repeat flood, kick on repeats:secondsset rp_sflood 3:10# Spam repeat flood kick reasonset rp_sreason "stop repeating"# Set the string length for spam-type text (lines of text shorter than this# will not be counted by the 'spam' type repeat detector)set rp_slength 40# Repeat offences, ban on two repeat floods from a particular host within# how many secondsset rp_mtime 240# Repeat offences ban reasonset rp_mreason "multiple repeat floods"# Length of time in minutes to ban large repeat flooders and repeat# offendersset rp_btime 10# Don't edit anything below unless you know what you're doingproc rp_pubmsg {nick uhost hand chan text} {  global botnick rp_bcount rp_bflood rp_breason rp_btime rp_kcount rp_kflood rp_kreason rp_scount rp_sflood rp_slength rp_sreason  set uhost [string tolower $uhost]  set chan [string tolower $chan]  set text [string tolower $text]  if {$nick == $botnick} {return 0}  if {[matchattr $hand f|f $chan]} {return 0}  if {![info exists rp_bcount($uhost:$chan:$text)]} {    set rp_bcount($uhost:$chan:$text) 0  }  incr rp_bcount($uhost:$chan:$text)  if {![info exists rp_kcount($uhost:$chan:$text)]} {    set rp_kcount($uhost:$chan:$text) 0  }  incr rp_kcount($uhost:$chan:$text)  if {[string length $text] &gt; $rp_slength} {    if {![info exists rp_scount($uhost:$chan:$text)]} {      set rp_scount($uhost:$chan:$text) 0    }    incr rp_scount($uhost:$chan:$text)  }  if {$rp_bcount($uhost:$chan:$text) == [lindex $rp_bflood 0]} {    if {[botisop $chan] &amp;&amp; [onchan $nick $chan]} {      putserv "KICK $chan $nick :$rp_breason"    }    set bmask *!*[string tolower [string range $uhost [string first "@" $uhost] end]]    newchanban $chan $bmask repeat $rp_breason $rp_btime    return 0  }  if {$rp_kcount($uhost:$chan:$text) == [lindex $rp_kflood 0]} {    rp_mhost $nick $uhost $chan    if {[botisop $chan] &amp;&amp; [onchan $nick $chan]} {      putserv "KICK $chan $nick :$rp_kreason"    }    return 0  }  if {[info exists rp_scount($uhost:$chan:$text)]} {    if {$rp_scount($uhost:$chan:$text) == [lindex $rp_sflood 0]} {      rp_mhost $nick $uhost $chan      if {[botisop $chan] &amp;&amp; [onchan $nick $chan]} {        putserv "KICK $chan $nick :$rp_sreason"      }      return 0    }  }}proc rp_pubact {nick uhost hand dest key arg} {  rp_pubmsg $nick $uhost $hand $dest $arg}proc rp_pubnotc {from keyword arg} {  set nick [lindex [split $from !] 0]  set chan [string tolower [lindex [split $arg] 0]]  if {![validchan $chan] || ![onchan $nick $chan]} {return 0}  set uhost [getchanhost $nick $chan]  set hand [nick2hand $nick $chan]  set text [join [lrange [split $arg] 1 end]]  rp_pubmsg $nick $uhost $hand $chan $text}proc rp_mhost {nick uhost chan} {  global rp_btime rp_mhosts rp_mreason rp_mtime  set mhost [lindex [split $uhost "@"] 1]  if {![info exists rp_mhosts($chan)]} {    set rp_mhosts($chan) ""  }  set mlist $rp_mhosts($chan)  if {[lsearch -exact $mlist $mhost] != -1} {    set bmask *!*[string tolower [string range $uhost [string first "@" $uhost] end]]    newchanban $chan $bmask repeat $rp_mreason $rp_btime  } else {    lappend rp_mhosts($chan) $mhost    utimer $rp_mtime "rp_mhostreset $chan"  }}proc rp_mhostreset {chan} {  global rp_mhosts  set rp_mhosts($chan) [lrange rp_mhosts($chan) 1 end]}proc rp_kreset {} {  global rp_kcount rp_kflood  if {[info exists rp_kcount]} {    unset rp_kcount  }  utimer [lindex $rp_kflood 1] rp_kreset}proc rp_breset {} {  global rp_bcount rp_bflood  if {[info exists rp_bcount]} {    unset rp_bcount  }  utimer [lindex $rp_bflood 1] rp_breset}proc rp_sreset {} {  global rp_scount rp_sflood  if {[info exists rp_scount]} {    unset rp_scount  }  utimer [lindex $rp_sflood 1] rp_sreset}if {![string match *rp_kreset* [utimers]]} {  global rp_kflood  utimer [lindex $rp_kflood 1] rp_kreset}if {![string match *rp_breset* [utimers]]} {  global rp_bflood  utimer [lindex $rp_bflood 1] rp_breset}if {![string match *rp_sreset* [utimers]]} {  global rp_sflood  utimer [lindex $rp_sflood 1] rp_sreset}set rp_kflood [split $rp_kflood :]set rp_bflood [split $rp_bflood :]set rp_sflood [split $rp_sflood :]bind pubm - * rp_pubmsgbind ctcp - ACTION rp_pubactbind raw - NOTICE rp_pubnotcputlog "Loaded repeat.tcl v1.1 by slennox"</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=4744">CooLB0Y</a> — Sun Jun 05, 2005 7:06 am</p><hr />
]]></content>
	</entry>
	</feed>
