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

	<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>2020-06-10T09:55:10-04:00</updated>

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

		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2020-06-10T09:55:10-04:00</updated>

		<published>2020-06-10T09:55:10-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=108534#p108534</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=108534#p108534"/>
		<title type="html"><![CDATA[Help with Clones.. Tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=108534#p108534"><![CDATA[
if the bans are manually removed it hangs and wont set the bans again if clones rejoin<br><br>and on the timed unban perhaps its an idea to use pushmode to have it remove  in stacked order rather then  1 by 1<br><br>and the duplicate bans seems to be solved now<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Wed Jun 10, 2020 9:55 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2020-06-10T08:12:49-04:00</updated>

		<published>2020-06-10T08:12:49-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=108532#p108532</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=108532#p108532"/>
		<title type="html"><![CDATA[Help with Clones.. Tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=108532#p108532"><![CDATA[
hey there SpiKe^^<br> i tested your last posted tcl and it only sets the bans and kicks the first time i used it and after i cleared bans and rejoined same clones it didnt seem to trigger anymore<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Wed Jun 10, 2020 8:12 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SpiKe^^]]></name></author>
		<updated>2020-06-09T17:51:03-04:00</updated>

		<published>2020-06-09T17:51:03-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=108523#p108523</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=108523#p108523"/>
		<title type="html"><![CDATA[DeClone v0.4]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=108523#p108523"><![CDATA[
Here is another try at the clone kicker script.<br><br>simo: please test this and report back.<br><div class="codebox"><p>Code: </p><pre><code>## DeClone v0.4 ### Set the next line as the kick msg you want to say set clone_msg "Clones" # Set the next line as the number of clones to scan for set clone_max 3# Set the next line as the channels you want to run in (* = allchannels)set clone_chans "#SuKooN" # Set ban time (in seconds) set clone_bantime 120 # Exempt +o users from this script ??#  0 = No, do not exempt users with +o#  1 = Yes, exempt users with +o#  2 = Yes, also exempt users with +vset clone_exemptops 1# Set exempt users by standard "nick!user@host" mask ??# If you do not have any mask to exempt: set clone_exemptmask {}set clone_exemptmask {*!*@DALnet*!*@*.users.quakenet.org*!*@*.irccloud.com}###########  End Settings  ###########proc join_clone {nk uh hand chan} {  global clone_msg clone_max clone_chans clone_exemptops declones if {$clone_chans ne "*" &amp;&amp; [lsearch -nocase $clone_chans $chan] == -1} { return } if {[isbotnick $nk] || ![botisop $chan] || [matchattr $hand bm|m $chan]} { return } if {[llength $::clone_exemptmask]} {   foreach mask $::clone_exemptmask {     if {[string match -nocase $mask $nk!$uh]} {  return  }   } } set host [string tolower [lindex [split $uh @] 1]] set chan [string tolower $chan] if {[info exists declones($chan,$host)]} {   set nowls $declones($chan,$host) } else {  set nowls ""  } set new "" foreach user [chanlist $chan] {    if {[string equal -nocase [lindex [split [getchanhost $user $chan] @] 1] $host]} {      set hn [nick2hand $user $chan]     if {$clone_exemptops&gt;0 &amp;&amp; ([isop $user $chan] || [matchattr $hn o|o $chan])} {       return     }     if {$clone_exemptops&gt;1 &amp;&amp; ([isvoice $user $chan] || [matchattr $hn v|v $chan])} {       return     }     if {[lsearch -nocase $nowls $user] == -1} {  lappend new $user  }   } }  if {([llength $nowls]+[llength $new]) &gt;= $clone_max} {   if {![llength $nowls]} {     putquick "MODE $chan +b *!*@$host"      utimer $::clone_bantime [list unban_clone $chan $host]    }   if {[llength $new]} {     qkick $chan [join $new ","] $clone_msg     set declones($chan,$host) [concat $nowls $new]   } } } proc unban_clone {chan host} { if {[lsearch -exact [join [chanbans $chan]] "*!*@$host"] &gt; -1} {   putserv "MODE $chan -b *!*@$host" } catch {unset declones($chan,$host)}} bind join - * join_clone putlog "DeClone v0.4 Loaded."</code></pre></div>You will also need to load this kick queuing  script from an earlier thread.<br><a href="http://forum.egghelp.org/viewtopic.php?t=20782" class="postlink">http://forum.egghelp.org/viewtopic.php?t=20782</a><br><div class="codebox"><p>Code: </p><pre><code>##########################################################  ##  qkick ver 0.2 by SpiKe^^ - 25 May 2020  ##  A possible alternative for the Eggdrop tcl command: ##  ##          putkick &lt;channel&gt; &lt;nick,nick,...&gt; [reason]  ##  ##  New tcl command:                                    ##  ##          qkick &lt;channel&gt; &lt;nick,nick,...&gt; [reason]    ##  ##########################################################  proc qkick {ch {nk ""} {wy ""}} {  global qkick    set qmax 10    set qsec 1    set qwhy "Go away."    if {![validchan $ch]} { return 1 }    set ch [string tolower $ch]    set nkls [split $nk ","]    if {[info exists qkick($ch)] &amp;&amp; [llength $qkick($ch)]} {      set nkls [concat $qkick($ch) $nkls]    }    if {$wy ne ""} {      set qwhy $wy      set qkick(why$ch) $wy    } elseif {[info exists qkick(why$ch)]} {      set qwhy $qkick(why$ch)    }    if {$nk eq "" || [llength $nkls]&gt;=$qmax} {      while {[llength $nkls]} {        if {[llength $nkls]&lt;$qmax &amp;&amp; $nk ne ""} { break }        if {[llength $nkls]&gt;$qmax} {          set kick [join [lreplace $nkls $qmax end] ","]          set nkls [lrange $nkls $qmax end]        } else {          set kick [join $nkls ","]          set nkls [list]        }        putserv "KICK $ch $kick :$qwhy"      }    }    if {![info exists qkick($ch)]} {      set qkick($ch) $nkls      utimer $qsec [list qkick $ch]    } elseif {$nk eq ""} {      unset qkick($ch)      catch {unset qkick(why$ch)}    } else {      set qkick($ch) $nkls    }    return 0  }  putlog "qkick ver 0.2 loaded." </code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7749">SpiKe^^</a> — Tue Jun 09, 2020 5:51 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2020-05-27T12:06:49-04:00</updated>

		<published>2020-05-27T09:53:46-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=108481#p108481</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=108481#p108481"/>
		<title type="html"><![CDATA[Help with Clones.. Tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=108481#p108481"><![CDATA[
very nice work again SpiKe^^ i tested it on my testnet and added a<br><br> privmsg $chan + *!*$host <br><br>and found it kept setting bans on already banned clone hosts is there a way to have it set once per clone host ?<br><br>also it pushes out the stacked kicks fine at the start but then it starts gettin much slower<br><br>tested with this:<br><div class="codebox"><p>Code: </p><pre><code>## DeClone v0.3 ### Set the next line as the kick msg you want to sayset clone_msg "10Clones Are Not Allowed 120 Sec Ban ...!!!"# Set the next line as the number of clones to scan forset clone_max 3# Set the next line as the channels you want to run in (* = allchannels)set clone_chans "#SuKooN"# Set ban time (in seconds)set clone_bantime 120# Exempt +o users from this script ??#  0 = No, do not exempt users with +o#  1 = Yes, exempt users with +o#  2 = Yes, also exempt users with +vset clone_exemptops 1# Set exempt users by standard "nick!user@host" mask ??# If you do not have any mask to exempt: set clone_exemptmask {}set clone_exemptmask {*!*@DALnet*!*@*.users.quakenet.org*!*@*.irccloud.com}###########  End Settings  ###########proc join_clone {nick uhost hand chan} { global clone_msg clone_max clone_chans clone_exemptops if {$clone_chans ne "*" &amp;&amp; [lsearch -nocase $clone_chans $chan] == -1} { return } if {[isbotnick $nick] || ![botisop $chan] || [matchattr $hand bm|m $chan]} { return } if {[llength $::clone_exemptmask]} {   foreach mask $::clone_exemptmask {     if {[string match -nocase $mask $nick!$uhost]} {  return  }   } } set host [lindex [split $uhost @] 1] set clonelist "" foreach user [chanlist $chan] {   if {[string equal -nocase [lindex [split [getchanhost $user $chan] @] 1] $host]} {     set hn [nick2hand $user $chan]     if {$clone_exemptops&gt;0 &amp;&amp; ([isop $user $chan] || [matchattr $hn o|o $chan])} {       return     }     if {$clone_exemptops&gt;1 &amp;&amp; ([isvoice $user $chan] || [matchattr $hn v|v $chan])} {       return     }     lappend clonelist $user   } } if {[set count [llength $clonelist]] &gt;= $clone_max} {   set max 6   putserv "privmsg $chan +b *!*@$host"   putquick "MODE $chan +b *!*@$host"   while {$count &gt; 0} {           ;# Thanks caesar #     if {$count &gt; $max} {       set users [join [lrange $clonelist 0 [expr {$max - 1}]] ","]       set clonelist [lrange $clonelist $max end]       incr count -$max     } else {       set users [join $clonelist ","]       set count 0     }     putquick "KICK $chan $users :$clone_msg"   }   utimer $::clone_bantime [list putserv "MODE $chan -b *!*@$host"] }}bind join - * join_clone</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Wed May 27, 2020 9:53 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[F|irT]]></name></author>
		<updated>2018-01-19T05:22:06-04:00</updated>

		<published>2018-01-19T05:22:06-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=106596#p106596</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=106596#p106596"/>
		<title type="html"><![CDATA[Thanks .. All Scripter .. Special Thanks to SpiKe^^]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=106596#p106596"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code>## DeClone v0.3 ## # Set the next line as the kick msg you want to say set clone_msg "10Clones Are Not Allowed 120 Sec Ban ...!!!" # Set the next line as the number of clones to scan for set clone_max 3 # Set the next line as the channels you want to run in (* = allchannels) set clone_chans "#SuKooN" # Set ban time (in seconds) set clone_bantime 120 # Exempt +o users from this script ?? #  0 = No, do not exempt users with +o #  1 = Yes, exempt users with +o #  2 = Yes, also exempt users with +v set clone_exemptops 1 # Set exempt users by standard "nick!user@host" mask ?? # If you do not have any mask to exempt: set clone_exemptmask {} set clone_exemptmask { *!*@DALnet *!*@*.users.quakenet.org *!*@*.irccloud.com } ###########  End Settings  ########### proc join_clone {nick uhost hand chan} {  global clone_msg clone_max clone_chans clone_exemptops  if {$clone_chans ne "*" &amp;&amp; [lsearch -nocase $clone_chans $chan] == -1} { return }  if {[isbotnick $nick] || ![botisop $chan] || [matchattr $hand bm|m $chan]} { return }  if {[llength $::clone_exemptmask]} {    foreach mask $::clone_exemptmask {      if {[string match -nocase $mask $nick!$uhost]} {  return  }    }  }  set host [lindex [split $uhost @] 1]  set clonelist ""  foreach user [chanlist $chan] {    if {[string equal -nocase [lindex [split [getchanhost $user $chan] @] 1] $host]} {      set hn [nick2hand $user $chan]      if {$clone_exemptops&gt;0 &amp;&amp; ([isop $user $chan] || [matchattr $hn o|o $chan])} {        return      }      if {$clone_exemptops&gt;1 &amp;&amp; ([isvoice $user $chan] || [matchattr $hn v|v $chan])} {        return      }      lappend clonelist $user    }  }  if {[set count [llength $clonelist]] &gt;= $clone_max} {    set max 6    putquick "MODE $chan +b *!*@$host"    while {$count &gt; 0} {           ;# Thanks caesar #      if {$count &gt; $max} {        set users [join [lrange $clonelist 0 [expr {$max - 1}]] ","]        set clonelist [lrange $clonelist $max end]        incr count -$max      } else {        set users [join $clonelist ","]        set count 0      }      putquick "KICK $chan $users :$clone_msg"    }    utimer $::clone_bantime [list putserv "MODE $chan -b *!*@$host"]  } } bind join - * join_clone putlog "DeClone v0.3 Loaded." </code></pre></div>----------------------------------------------------------------------------------<br>Tested in all format excellent work .. here are few result to show .. <br><br>[21:37] * MaSt3r sets mode: +b *!*@103.255.6.80<br>[21:37] * meri_bhn was kicked by MaSt3r (10Clones Are Not Allowed 120 Sec Ban ...!!!)<br>[21:37] * bhn_k_doud was kicked by MaSt3r (10Clones Are Not Allowed 120 Sec Ban ...!!!)<br>[21:37] * any_real_amil was kicked by MaSt3r (10Clones Are Not Allowed 120 Sec Ban ...!!!)<br>-------------------------------------------------------------------------------------<br>[14:00] * Joins: cRaZy` (~R-P@119.157.179.86)<br>[14:00] * F|irT sets mode: +v cRaZy`<br>- Clones from 119.157.179.86<br>- 1. cRaZy` (~R-P)<br>- 2. R-K (~R-P)<br>- 3. R-P (~R-P)<br>Not Kicking voice user match with clones... as i wanted .. good<br>----------------------------------------------------------------------------<br>[14:05] * Parts: +cRaZy` (~R-P@119.157.179.86)<br>[14:05] * Joins: cRaZy` (~R-P@119.157.179.86)<br>[14:05] * MaSt3r sets mode: +b *!*@119.157.179.86<br>[14:05] * R-K was kicked by MaSt3r (Clones Are Not Allowed 120 Sec Ban ...!!!)<br>[14:05] * R-P was kicked by MaSt3r (Clones Are Not Allowed 120 Sec Ban ...!!!)<br>[14:05] * cRaZy` was kicked by MaSt3r (Clones Are Not Allowed 120 Sec Ban ...!!!)<br>-------------------------------------------------------------------------------------<br>- Clones from id-234240.tooting.irccloud.com<br>- 1. boy19 (uid234240)<br>- 2. f-30 (uid234240)<br>- 3. Mard1 (uid234240)<br>---------------------------------------------------------------------------------<br>Protecting Some host i add like Cloud .. not reading clones on cloud host ..<br>-------------------------------------------------------------------------------------<br><br>i am running this srcipt on Dalnet .. No issue ... Thank Goes To SpiKe^^ to Helping it to make it write..<br><br>F|irT...!<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12521">F|irT</a> — Fri Jan 19, 2018 5:22 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SpiKe^^]]></name></author>
		<updated>2018-01-17T12:30:14-04:00</updated>

		<published>2018-01-17T12:30:14-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=106594#p106594</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=106594#p106594"/>
		<title type="html"><![CDATA[Help with Clones.. Tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=106594#p106594"><![CDATA[
Here is hopefully the final working copy...<div class="codebox"><p>Code: </p><pre><code>## DeClone v0.3 ### Set the next line as the kick msg you want to say set clone_msg "Clones" # Set the next line as the number of clones to scan for set clone_max 2 # Set the next line as the channels you want to run in (* = allchannels)set clone_chans "#SuKooN" # Set ban time (in seconds) set clone_bantime 120 # Exempt +o users from this script ??#  0 = No, do not exempt users with +o#  1 = Yes, exempt users with +o#  2 = Yes, also exempt users with +vset clone_exemptops 1# Set exempt users by standard "nick!user@host" mask ??# If you do not have any mask to exempt: set clone_exemptmask {}set clone_exemptmask {*!*@DALnet*!*@*.users.quakenet.org*!*@*.irccloud.com}###########  End Settings  ###########proc join_clone {nick uhost hand chan} {  global clone_msg clone_max clone_chans clone_exemptops if {$clone_chans ne "*" &amp;&amp; [lsearch -nocase $clone_chans $chan] == -1} { return } if {[isbotnick $nick] || ![botisop $chan] || [matchattr $hand bm|m $chan]} { return } if {[llength $::clone_exemptmask]} {   foreach mask $::clone_exemptmask {     if {[string match -nocase $mask $nick!$uhost]} {  return  }   } } set host [lindex [split $uhost @] 1]  set clonelist "" foreach user [chanlist $chan] {    if {[string equal -nocase [lindex [split [getchanhost $user $chan] @] 1] $host]} {      set hn [nick2hand $user $chan]     if {$clone_exemptops&gt;0 &amp;&amp; ([isop $user $chan] || [matchattr $hn o|o $chan])} {       return     }     if {$clone_exemptops&gt;1 &amp;&amp; ([isvoice $user $chan] || [matchattr $hn v|v $chan])} {       return     }     lappend clonelist $user    } }  if {[set count [llength $clonelist]] &gt;= $clone_max} {    set max 6    putquick "MODE $chan +b *!*@$host"    while {$count &gt; 0} {           ;# Thanks caesar #     if {$count &gt; $max} {        set users [join [lrange $clonelist 0 [expr {$max - 1}]] ","]        set clonelist [lrange $clonelist $max end]        incr count -$max      } else {        set users [join $clonelist ","]        set count 0      }      putquick "KICK $chan $users :$clone_msg"    }    utimer $::clone_bantime [list putserv "MODE $chan -b *!*@$host"]  } } bind join - * join_clone putlog "DeClone v0.3 Loaded."</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7749">SpiKe^^</a> — Wed Jan 17, 2018 12:30 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SpiKe^^]]></name></author>
		<updated>2018-01-16T14:26:02-04:00</updated>

		<published>2018-01-16T14:26:02-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=106588#p106588</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=106588#p106588"/>
		<title type="html"><![CDATA[Help with Clones.. Tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=106588#p106588"><![CDATA[
Try this, report back.<br><div class="codebox"><p>Code: </p><pre><code># Set the next line as the kick msg you want to say set clone_msg "Clones" # Set the next line as the number of clones to scan for set clone_max 2 # Set the next line as the channels you want to run in (* = allchannels)set clone_chans "#SuKooN" # Set ban time (in seconds) set clone_bantime 120 # Exempt +o users from this script ??#  0 = No, do not exempt users with +o#  1 = Yes, exempt users with +o#  2 = Yes, also exempt users with +vset clone_exemptops 1# Set exempt users by standard "nick!user@host" mask ??set clone_exemptmask {*!*@DALnet*!*@*.users.quakenet.org*!*@*.irccloud.com}###########  End Settings  ###########proc join_clone {nick uhost hand chan} {  global clone_msg clone_max clone_chans clone_exemptops if {$clone_chans ne "*" &amp;&amp; [lsearch -nocase $clone_chans $chan] == -1} { return } if {[isbotnick $nick] || ![botisop $chan] || [matchattr $hand bm|m $chan]} { return } if {$clone_exemptops&gt;0 &amp;&amp; [matchattr $hand o|o $chan]} {  return  } if {$clone_exemptops&gt;1 &amp;&amp; [matchattr $hand v|v $chan]} {  return  } if {[llength $::clone_exemptmask]} {   foreach mask $::clone_exemptmask {     if {[string match -nocase $mask $nick!$uhost]} {  return  }   } } set host [lindex [split $uhost @] 1]  set clonelist "" foreach user [chanlist $chan] {    if {[string equal -nocase [lindex [split [getchanhost $user $chan] @] 1] $host]} {      if {$clone_exemptops&gt;0 &amp;&amp; [isop $user $chan]} {  return  }     if {$clone_exemptops&gt;1 &amp;&amp; [isvoice $user $chan]} {  return  }     lappend clonelist $user    } }  if {[set count [llength $clonelist]] &gt;= $clone_max} {    set max 6    putquick "MODE $chan +b *!*@$host"    while {$count &gt; 0} {   ;# Thanks caesar #     if {$count &gt; $max} {        set users [join [lrange $clonelist 0 [expr {$max - 1}]] ","]        set clonelist [lrange $clonelist $max end]        incr count -$max      } else {        set users [join $clonelist ","]        set count 0      }      putquick "KICK $chan $users :$clone_msg"    }    utimer $::clone_bantime [list putserv "MODE $chan -b *!*@$host"]  } } bind join - * join_clone </code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7749">SpiKe^^</a> — Tue Jan 16, 2018 2:26 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SpiKe^^]]></name></author>
		<updated>2018-01-15T23:48:22-04:00</updated>

		<published>2018-01-15T23:48:22-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=106581#p106581</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=106581#p106581"/>
		<title type="html"><![CDATA[Help with Clones.. Tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=106581#p106581"><![CDATA[
caesar:<br><br>I didn't write the script, and just fixed the one issue F|irT asked to have fixed...<blockquote class="uncited"><div>There is nothing wrong with this tcl .. need ban time option bot auto remove the ban the timer i set ..</div></blockquote>All are valid fixes for this script though.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7749">SpiKe^^</a> — Mon Jan 15, 2018 11:48 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[F|irT]]></name></author>
		<updated>2018-01-15T22:32:17-04:00</updated>

		<published>2018-01-15T22:32:17-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=106579#p106579</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=106579#p106579"/>
		<title type="html"><![CDATA[More to come.. ?]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=106579#p106579"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code># Set the next line as the kick msg you want to say  set clone_msg "Clones"  # Set the next line as the number of clones to scan for  set clone_max 2  # Set the next line as the channels you want to run in  set clone_chans "#SuKooN"  # Set ban time (in seconds)  set clone_bantime 120  proc join_clone {nick uhost hand chan} {   global clone_msg clone_max clone_chans botnick   if {(([lsearch -exact [string tolower $clone_chans] [string tolower $chan]] != -1) || ($clone_chans == "*")) &amp;&amp; (![matchattr $hand m|m $chan]) &amp;&amp; (![matchattr $hand b]) &amp;&amp; ($nick != $botnick)} {    set host [lindex [split $uhost @] 1]    set count 0    foreach i [chanlist $chan] {     if {[string equal -nocase [lindex [split [getchanhost $i $chan] @] 1] $host]} {      incr count      lappend cnicks "$i"     }    }    if {$count &gt;= $clone_max} {     putquick "MODE $chan +b *!*@$host"     foreach cnick $cnicks {      putquick "KICK $chan $cnick :$clone_msg"     }     utimer $::clone_bantime [list putserv "MODE $chan -b *!*@$host"]    }   }  }  bind join - * join_clone </code></pre></div>i did not try caesar yet ... will try that soon .. <br><br>working fine the timer is on .. no issue .. but there is a problem i saw like to share .. it's baning cloud ip .. as well as ops match the clones cloud .. here are some result fot u ..<blockquote class="uncited"><div>[07:07] * Joins: Jutt (<a href="mailto:uid187859@ealing.irccloud.com">uid187859@ealing.irccloud.com</a>)<br>[07:07] * ChanServ sets mode: +o Jutt<br>[07:07] * MaSt3r sets mode: +b *!*@ealing.irccloud.com<br>[07:07] * Charsi-Larka was kicked by MaSt3r (Clones Are Not Allowed 120 Sec Ban ...!!!)<br>[07:07] * Jutt was kicked by MaSt3r (Clones Are Not Allowed 120 Sec Ban ...!!!)</div></blockquote>if it is possibel to make some some ip protect option .  or to protect not to kick ops/voice user .. it will be fair enuff for me ..<br><br>Thanks .. hoping for the reply soon ..<br><br>F|irT<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12521">F|irT</a> — Mon Jan 15, 2018 10:32 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[caesar]]></name></author>
		<updated>2018-01-15T02:07:36-04:00</updated>

		<published>2018-01-15T02:07:36-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=106570#p106570</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=106570#p106570"/>
		<title type="html"><![CDATA[Help with Clones.. Tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=106570#p106570"><![CDATA[
Questions:<br><br>1. Why do you use -exact and turn the two string into lower case and not go with -nocase directly that basically dose the same thing?<br><br>2. ($nick != $botnick) really? Who are you and what have you done to SpiKe? <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><br><br>3. Why didn't check if bot is channel operator (<em class="text-italics">botisop</em>) before doing any checks and punishments?<br><br>I would change this section:<div class="codebox"><p>Code: </p><pre><code>foreach i [chanlist $chan] {    if {[string equal -nocase [lindex [split [getchanhost $i $chan] @] 1] $host]} {     incr count     lappend cnicks "$i"    }   }   if {$count &gt;= $clone_max} {    putquick "MODE $chan +b *!*@$host"    foreach cnick $cnicks {     putquick "KICK $chan $cnick :$clone_msg"    } </code></pre></div>with:<div class="codebox"><p>Code: </p><pre><code>foreach user [chanlist $chan] {if {[string equal -nocase [lindex [split [getchanhost $user $chan] @] 1] $host]} {lappend kickList $user}}if {[info exists kickList]} { set max 6set count [llength $kickList]if {$count &gt;= $clone_max} {putquick "MODE $chan +b *!*@$host"while {$count &gt; 0} {if {$count &gt; $max} {set users [join [lrange $kickList 0 [expr {$max - 1}]] ","]set kickList [lrange $kickList $max end]incr count -$max} else {set users [join $kickList ","]set count 0}putquick "KICK $chan $users $clone_msg"}}}}</code></pre></div>that will try to kick up to <em class="text-italics">$max</em> per line.<br><br>For example with the code as is right now if you have 3 people that needs to be kicked then the bot will send 3 kick lines to the server. But, with the change I mentioned above the bot will kick all 3 with just a single line sent to the server (in theory should be faster).<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=187">caesar</a> — Mon Jan 15, 2018 2:07 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SpiKe^^]]></name></author>
		<updated>2018-01-14T13:59:51-04:00</updated>

		<published>2018-01-14T13:59:51-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=106568#p106568</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=106568#p106568"/>
		<title type="html"><![CDATA[Help with Clones.. Tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=106568#p106568"><![CDATA[
This seems like the easiest way to expire those bans.<br><div class="codebox"><p>Code: </p><pre><code># Set the next line as the kick msg you want to say  set clone_msg "Clones"  # Set the next line as the number of clones to scan for  set clone_max 2  # Set the next line as the channels you want to run in  set clone_chans "#SuKooN"  # Set ban time (in seconds) set clone_bantime 120 proc join_clone {nick uhost hand chan} {   global clone_msg clone_max clone_chans botnick   if {(([lsearch -exact [string tolower $clone_chans] [string tolower $chan]] != -1) || ($clone_chans == "*")) &amp;&amp; (![matchattr $hand m|m $chan]) &amp;&amp; (![matchattr $hand b]) &amp;&amp; ($nick != $botnick)} {    set host [lindex [split $uhost @] 1]    set count 0    foreach i [chanlist $chan] {     if {[string equal -nocase [lindex [split [getchanhost $i $chan] @] 1] $host]} {      incr count      lappend cnicks "$i"     }    }    if {$count &gt;= $clone_max} {     putquick "MODE $chan +b *!*@$host"     foreach cnick $cnicks {      putquick "KICK $chan $cnick :$clone_msg"     }     utimer $::clone_bantime [list putserv "MODE $chan -b *!*@$host"]   }   }  }  bind join - * join_clone </code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7749">SpiKe^^</a> — Sun Jan 14, 2018 1:59 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[F|irT]]></name></author>
		<updated>2018-01-14T09:14:32-04:00</updated>

		<published>2018-01-14T09:14:32-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=106566#p106566</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=106566#p106566"/>
		<title type="html"><![CDATA[Help with Clones.. Tcl]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=106566#p106566"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code># Set the next line as the kick msg you want to say set clone_msg "Clones" # Set the next line as the number of clones to scan for set clone_max 2 # Set the next line as the channels you want to run in set clone_chans "#SuKooN" proc join_clone {nick uhost hand chan} {  global clone_msg clone_max clone_chans botnick  if {(([lsearch -exact [string tolower $clone_chans] [string tolower $chan]] != -1) || ($clone_chans == "*")) &amp;&amp; (![matchattr $hand m|m $chan]) &amp;&amp; (![matchattr $hand b]) &amp;&amp; ($nick != $botnick)} {   set host [lindex [split $uhost @] 1]   set count 0   foreach i [chanlist $chan] {    if {[string equal -nocase [lindex [split [getchanhost $i $chan] @] 1] $host]} {     incr count     lappend cnicks "$i"    }   }   if {$count &gt;= $clone_max} {    putquick "MODE $chan +b *!*@$host"    foreach cnick $cnicks {     putquick "KICK $chan $cnick :$clone_msg"    }   }  } } bind join - * join_clone</code></pre></div>------------------------------------------------------------------------------------<br>There is nothing wrong with this tcl .. need ban time option bot auto remove the ban the timer i set .. <br><br>If any one can help me for it . thanks to them ..<br><br>F|irT<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12521">F|irT</a> — Sun Jan 14, 2018 9:14 am</p><hr />
]]></content>
	</entry>
	</feed>
