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

	<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>2011-09-08T13:57:51-04:00</updated>

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

		<entry>
		<author><name><![CDATA[caesar]]></name></author>
		<updated>2011-09-08T13:57:51-04:00</updated>

		<published>2011-09-08T13:57:51-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97671#p97671</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97671#p97671"/>
		<title type="html"><![CDATA[Takeover Protection.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97671#p97671"><![CDATA[
You don't need [nick2hand $nick $chan] since you already have that info in $hand, also you don't need [isop $nick $chan] as one can't kick without having 'operator' (@) on the channel (except some server operator or whatever).<br><br>I would go for something like:<div class="codebox"><p>Code: </p><pre><code>if {[validuser $hand]} returnif {[throttled $chan,$host]} {putserv "PRIVMSG chanserv :aop $chan del $nick" }</code></pre></div>Anyway, following the logic of the 'throttled' proc I see a major failure at this part:<div class="codebox"><p>Code: </p><pre><code>    if {[info exists throttled($id)]} { return 1    }</code></pre></div>A user just issued his first kick so the throttled proc kicks in and checks if there's an id with that $host,$chan and since there isn't any (since is his first kick) the proc will return 1, then 'isop' check will also return 1 and 'validuser' check will (let's say he isn't a known user) will also return 1 thus the if statement is validated and the user 'aop' removed from the first kick.<br><div class="codebox"><p>Code: </p><pre><code>proc throttled {id} {global throttledif {[info exists throttled($id)]} {if {$throttled($id) &gt;= 3} {list unset throttled($id)return 1} else {incr $throttled($id)}} else {set throttled($id) 1}utimer 3 [list unset throttled($id)] }</code></pre></div>I haven't tested this but should work as intended. To make stuff easier you could add a part and sign proc to purge them from the list.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=187">caesar</a> — Thu Sep 08, 2011 1:57 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Luminous]]></name></author>
		<updated>2011-09-07T15:59:38-04:00</updated>

		<published>2011-09-07T15:59:38-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97658#p97658</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97658#p97658"/>
		<title type="html"><![CDATA[Takeover Protection.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97658#p97658"><![CDATA[
I suppose you could take advantage of the old tried and true "throttle" proc with some tweaks:<br><div class="codebox"><p>Code: </p><pre><code>bind kick * * unaopproc throttled {id time} {   global throttled    if {[info exists throttled($id)]} { return 1    } { set throttled($id) [clock seconds]      utimer $time [list unset throttled($id)] return 0    }}proc unaop {nick host hand chan target reason} { set ktime "3"   if {[throttled $host,$chan $ktime] &amp;&amp; [isop $nick $chan] &amp;&amp; ![validuser [nick2hand $nick $chan]]} {     putserv "PRIVMSG chanserv :aop $chan del $nick"   }}</code></pre></div>This doesn't solve the second part of your question though, since I don't know what you mean by "blacklist them from the channel". I'm not sure how well this works though... let me know, heh.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=11101">Luminous</a> — Wed Sep 07, 2011 3:59 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[samhain]]></name></author>
		<updated>2011-09-06T03:57:44-04:00</updated>

		<published>2011-09-06T03:57:44-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97651#p97651</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97651#p97651"/>
		<title type="html"><![CDATA[Takeover Protection.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97651#p97651"><![CDATA[
Hi I am looking for a script that If a person who is op on the channel and if his nick or host is not added in the bot, and kicks more than 3 people, in X seconds, The bot should issue this command: Chanserv Aop #channel-name Del NameoFtheperson and Also blacklist that person out of the channel. Thanks.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=8567">samhain</a> — Tue Sep 06, 2011 3:57 am</p><hr />
]]></content>
	</entry>
	</feed>
