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

	<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>2026-04-06T09:06:42-04:00</updated>

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

		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2026-04-06T09:06:42-04:00</updated>

		<published>2026-04-06T09:06:42-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113463#p113463</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113463#p113463"/>
		<title type="html"><![CDATA[Re: Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113463#p113463"><![CDATA[
ok thanks<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Mon Apr 06, 2026 9:06 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[CrazyCat]]></name></author>
		<updated>2026-04-06T08:52:08-04:00</updated>

		<published>2026-04-06T08:52:08-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113461#p113461</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113461#p113461"/>
		<title type="html"><![CDATA[Re: Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113461#p113461"><![CDATA[
I juste gave you some examples of bad usage of [lindex] and other list stuff applyed on strings.<br>Try to correct everything.<br><br>And peharps you can change some things, like using <a href="https://docs.eggheads.org/using/tcl-commands.html#maskhost-nick-user-host-masktype" class="postlink">maskhost</a> to create the ban mask rather than the blbtype proc...<br>The script is old, you'd probably redo it<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=691">CrazyCat</a> — Mon Apr 06, 2026 8:52 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2026-04-06T08:34:13-04:00</updated>

		<published>2026-04-06T08:34:13-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113460#p113460</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113460#p113460"/>
		<title type="html"><![CDATA[Re: Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113460#p113460"><![CDATA[
thanks CrazyCat, after i apllied the changes i get this complaint:<br><br><blockquote class="uncited"><div>(+Amigo)  : !rembl \[ALme\]ria*!*@*</div></blockquote>getting this complaint:<br><blockquote class="uncited"><div> \[ALme\]ria*!*@* was not found in the blacklist. </div></blockquote>while the ban is in the banlist::<br> <blockquote class="uncited"><div><br>(+Amigo)  : !listbl<br>[1] - Mask: {ALJHHGHG_KHJ}*!*@* - Requester: ctcp - Bantime: 0 <br>[2] - Mask: \[AL\]me?ria}*!*@* - Requester: ctcp - Bantime: 0 <br>[3] - Mask: ALme?ria*!*@* - Requester: ctcp - Bantime: 0 <br>[4] - Mask: ALme*ria*!*@* - Requester: ctcp - Bantime: 0 <br>[5] - Mask: \[ALme\]ria*!*@* - Requester: ctcp - Bantime: 0 <br>[*] - End of list. <br></div></blockquote><br>also  when using :<br><blockquote class="uncited"><div><br> !rembl [ALme]ria*!*@*</div></blockquote>i get this error again:<br><blockquote class="uncited"><div>Tcl error [bl:pub]: list element in braces followed by "*!*@*" instead of space</div></blockquote><blockquote class="uncited"><div><br>14:43:34 &lt;Amigo&gt; .set errorInfo<br>14:43:34 &lt;Hawk&gt; Currently: list element in braces followed by "*!*@*" instead of space<br>14:43:34 &lt;Hawk&gt; Currently:     while executing<br>14:43:34 &lt;Hawk&gt; Currently: "lindex $b 0"<br>14:43:34 &lt;Hawk&gt; Currently:     (procedure "bl:do:rem" line 14)<br>14:43:34 &lt;Hawk&gt; Currently:     invoked from within<br>14:43:34 &lt;Hawk&gt; Currently: "bl:do:rem [join [lrange [split $arg] 1 end]]"<br>14:43:34 &lt;Hawk&gt; Currently:     (procedure "bl:pub" line 31)<br>14:43:34 &lt;Hawk&gt; Currently:     invoked from within<br>14:43:34 &lt;Hawk&gt; Currently: "bl:pub $_pubm1 $_pubm2 $_pubm3 $_pubm4 $_pubm5"</div></blockquote>current code:<br><div class="codebox"><p>Code: </p><pre><code>##############################################################################                                                                           ## Coded by: Opposing (Fz_Egg@yahoo.com)                                     ## Version : 1.4                                                             ## Released: November 29, 2010                                               ## Source  : http://Sir-Fz.blogspot.com/                                     ###                                                                          ## Description: A blacklist script that stores the banned masks in a db file ##              and bans everyone who matches the blacklisted masks on join  ##              or when the bot gets op.                                     ##                                                                           ## Available Commands:                                                       ## - DCC: .addbl &lt;nick&gt;!&lt;user&gt;@&lt;host&gt; [reason] [bantime] : Adds ban.         ##        .rembl &lt;nick&gt;!&lt;user&gt;@&lt;host&gt;                    : Deletes ban.      ##        .listbl                                        : Lists bans.       ## - PUB: addbl &lt;nick&gt;!&lt;user&gt;@&lt;host&gt; [reason] [bantime]  : Adds ban          ##        rembl &lt;nick&gt;!&lt;user&gt;@&lt;host&gt;                     : Deletes ban.      ##        listbl                                         : Lists bans.       ##                                                                           ## USE (DCC) .chanset #channel +blacklist to enable blacklist on a channel.  ##                                                                           ## Credits:                                                                  ##         Thanks to strikelite and user (if I recall correctly) from the    ##         egghelp.org forum for helping me with this script (back in 2003). ##         Also used user's (egghelp.org forum) maskhost proc.               ##                                                                           ## History:                                                                  ##         - 1.4: Fixed a bug when using the bansame option where nicknames  ##           with special characters (\, [, ]) were not properly banned.     ##         - 1.3: Added Flooding out protection, where the bot will start    ##           using the slowest queue in case a number of blacklisted users   ##           join in a certain period of seconds which can be defined by the ##           user. + fixed a bug with brackets.                              ##         - 1.2: Fixed a few bugs and made the script create the blacklist  ##           file if it doesn't exist.                                       ##         - 1.1: added the black list chan flag, and other features into    ##           patterns of handling the blacklist.                             ##         - 1.0: First release.                                             ##                                                                           ## Report bugs/suggestions to Fz_Egg@yahoo.com                               ##                                                                           ## Copyright © 2005 Opposing (aka Sir_Fz)                                    ##                                                                           ## This program is free software; you can redistribute it and/or modify      ## it under the terms of the GNU General Public License as published by      ## the Free Software Foundation; either version 2 of the License, or         ## (at your option) any later version.                                       ##                                                                           ## This program is distributed in the hope that it will be useful,           ## but WITHOUT ANY WARRANTY; without even the implied warranty of            ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             ## GNU General Public License for more details.                              ##                                                                           ## You should have received a copy of the GNU General Public License         ## along with this program; if not, write to the Free Software               ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA ##                                                                           ############################################################################################################## Configurations start here: ## __________________________ ### Blacklist File:#set blackl(file) "scripts/blacklist.txt"set blackl(file) "test-scripts-6/blacklist.txt"## Blacklist "Excess Flood" protection. Set here how many blacklisted users are allowed## to join in how many seconds before using the slow queue in order for the bot not to## flood out with reason "Excess Flood."set blackl(punish) 4:2## Do you want the bot to also check for blacklisted users on op ? (0: no / 1: yes)set blackl(checkop) 1## Do you want to ban the same ban from the blacklist file## or do you want it to be spcific ? (0: specific / 1: same ban as the file) ### example:## Suppose that *!lamest@* is banned.# .. joins lamer!lamest@lamer.org# .. bot sets mode +b *!lamest@*# .. lamer kicked by bot "Blacklisted user."## This happens if this option is set to 1.## but if you set it to 0, then you can choose what bantype you want to ban.set blackl(bansame) 1## if blackl(bansame) is set to 0:## What ban type do you want to ban ?# 0: *!user@full.host.tld # 1: *!*user@full.host.tld # 2: *!*@full.host.tld # 3: *!*user@*.host.tld # 4: *!*@*.host.tld # 5: nick!user@full.host.tld # 6: nick!*user@full.host.tld # 7: nick!*@full.host.tld # 8: nick!*user@*.host.tld # 9: nick!*@*.host.tldset blackl(btype) 2## Set default ban reason if not specified.## NOTE: use %requester to use the nick of the one who set the ban.set blackl(kmsg) "Banned: Requested by %requester"## set default ban time (in minutes) if no bantime specified. (0 means no ban time)set blackl(btime) 0## Do you want the ban to be removed from the file after ban time expires ? (0: no / 1: yes)## if set to 0, the bot will only remove the ban from the channel but not from the file.set blackl(rbabt) 0## Set here the trigger for public commands.## example: set blackl(trig) "!"## now using !listbl on main will show the blacklist.set blackl(trig) "!"## Set flags that are allowed to use these commands.## &lt;global flags&gt;|&lt;channel flags&gt;set blackl(flags) n|-# Configurations end here. ##################################################################################################### Code starts here, please do not edit anything unless you know TCL: ## __________________________________________________________________ #bind nick - * bl:banbind join - * bl:banbind dcc $blackl(flags) addbl bl:addbind dcc $blackl(flags) rembl bl:rembind dcc $blackl(flags) listbl bl:listbind pubm $blackl(flags) * bl:pubbind mode - "* +o" bl:copsetudef flag blacklistif {[file exists $blackl(file)]} {  set BLNicks [split [read [set inf [open $blackl(file)]]] "\n"][close $inf]} { set BLNicks [list]}foreach {blackl(lim) blackl(secs)} [split $blackl(punish) :] {break}proc bl:ban {nick uhost hand chan {nn ""}} { global BLNicks blackl blflood if {![botisop $chan] || ![channel get $chan blacklist]} {return 0} if {![info exists blflood([set chan [string tolower $chan]])]} { set blflood($chan) 0 } if {$nn != ""} { set nick $nn } foreach blnick $BLNicks {  if {[string match -nocase [set ban [lindex [split $blnick] 0]] $nick!$uhost]} {   set ban [string map {\\\\ \\ \\\[ \[ \\\] \]} $ban]    if {[blfollow $blackl(secs) blflood($chan)] &lt; $blackl(lim)} {    putquick "KICK $chan $nick :[string map [list %requester [lindex [split $blnick] 1]] [join [lrange [split $blnick] 2 end-1]]]"  if {$blackl(bansame)} {    set ban [string map {\\\\ \\ \\\[ \[ \\\] \]} $ban]   putquick "MODE $chan -o+b $nick $ban"     if {!([set btime [lindex [split $blnick] end]] &lt;= 0)} {      timer $btime [list rem:blban $chan $ban]     }    } {     putquick "MODE $chan -o+b $nick [set aban [blbtype $nick!$uhost $blackl(btype)]]"     if {!([set btime [lindex [split $blnick] end]] &lt;= 0)} {      timer $btime [list rem:blban $chan $aban]     }    }   } {    puthelp "KICK $chan $nick :[string map [list %requester [lindex [split $blnick] 1]] [join [lrange [split $blnick] 2 end-1]]]"  if {$blackl(bansame)} {   set ban [string map {\\\\ \\ \\\[ \[ \\\] \]} $ban]   pushmode $chan -o $nick   pushmode $chan +b $ban     if {!([set btime [lindex [split $blnick] end]] &lt;= 0)} {      timer $btime [list rem:blban $chan $ban]     }    } {     pushmode $chan -o $nick     pushmode $chan +b [set aban [blbtype $nick!$uhost $blackl(btype)]]     if {!([set btime [lindex [split $blnick] end]] &lt;= 0)} {      timer $btime [list rem:blban $chan $aban]     }    }   }   putlog "\[\002BlackList\002\]: Banned \002$nick\002!\002$uhost\002 matching [string map {! \002!\002 @ \002@\002} \002$ban\002] on \002$chan\002"   break  } }}proc bl:add {hand idx arg} { if {$arg == ""} { putlog "SYNTAX: \003.addbl &lt;nick!user@host&gt; \[reason\] \[btime\]\003"; return 0 } if {![string match -nocase *!*@* [set blnick [lindex [split $arg] 0]]]} {  putlog "SYNTAX: \003.addbl \002&lt;nick&gt;\002!\002&lt;user&gt;\002@\002&lt;host&gt;\002 \[reason\] \[bantime\]\003"  return 0 } if {[bl:do:add $hand $arg]} {  foreach chan [channels] {   if {![channel get $chan blacklist]} { continue }   foreach ubchecked [chanlist $chan] {    bl:ban $ubchecked [getchanhost $ubchecked $chan] [nick2hand $ubchecked] $chan   }  }  putlog "[string map {! \002!\002 @ \002@\002} \002$blnick\002] has been \002added\002 to the blacklist." } {  putlog "[string map {! \002!\002 @ \002@\002} \002$blnick\002] already \002exists\002 in the blacklist." }}proc bl:do:add {hand arg} { global blackl BLNicks set added 0 if {[llength [lrange [split $arg] 1 end]] == 1} {  if {[string is integer [lindex [split $arg] end]]} {   set kreason "$blackl(kmsg)"   set btime "[lindex [split $arg] end]"  } else {   set kreason "[lrange [split $arg] 1 end]"   set btime "$blackl(btime)"  } } elseif {[llength [lrange [split $arg] 1 end]] &gt; 1} {  if {[string is integer [lindex [split $arg] end]]} {   set kreason "[join [lrange [split $arg] 1 end-1]]"   set btime "[lindex [split $arg] end]"  } else {   set kreason "[join [lrange [split $arg] 1 end]]"   set btime "$blackl(btime)"  } } else {  set kreason "$blackl(kmsg)"  set btime "$blackl(btime)" } if {![file exists $blackl(file)]} {   set temp [open $blackl(file) w]  close $temp } set blnick "[string map {\\ \\\\ \[ \\\[ \] \\\]} [lindex [split $arg] 0]]" if {![we:can:find:ban $blnick add]} {  puts [set fs [open $blackl(file) a]] "$blnick $hand $kreason $btime"  close $fs  set BLNicks [split [read [set inf [open $blackl(file)]]] "\n"][close $inf]  set added 1 } set added}proc bl:rem {hand idx arg} { if {$arg == ""} { putlog "SYNTAX: \003.rembl &lt;nick!user@host&gt;\003"; return 0 } if {![string match -nocase *!*@* [set blnick [lindex [split $arg] 0]]]} {   putlog "SYNTAX: \003.rembl \002&lt;nick&gt;\002!\002&lt;user&gt;\002@\002&lt;host&gt;\002\003"  return 0 } if {[bl:do:rem $arg]} {  foreach chan [channels] {   if {![channel get $chan blacklist]} { continue }   foreach ban [chanbans $chan] {    if {[string match -nocase $blnick [set sban [lindex $ban 0]]]} {     pushmode $chan -b $sban    }   }  }  putlog "[string map {! \002!\002 @ \002@\002} \002$blnick\002] was \002deleted\002 from the blacklist." } {  putlog "[string map {! \002!\002 @ \002@\002} \002$blnick\002] was \002not\002 found in the blacklist." }}proc bl:do:rem arg { global blackl BLNicks set remmed 0 set blnick [lindex [split $arg] 0] if {![file exists $blackl(file)]} {   set temp [open $blackl(file) w]  close $temp } if {[we:can:find:ban $blnick rem]} {  set z ""  set a [open $blackl(file) r]  while {![eof $a]} {   set b [gets $a]  if {[string equal -nocase [string index $b 0] $blnick]}  # if {![string equal -nocase [lindex $b 0] $blnick]} { lappend z ${b} }  }  close $a  set n [open $blackl(file) w]  foreach k $z {   if {$k != ""} { puts $n $k }  }  close $n  set BLNicks [split [read [set inf [open $blackl(file)]]] "\n"][close $inf]  set remmed 1 } set remmed}proc bl:list {hand idx arg} { global BLNicks if {[string equal "{} {}" $BLNicks] || [string equal "" $BLNicks]} {  putlog "There are \002no\002 bans in the blacklist." } {  set c 1  foreach blnick $BLNicks {   if {$blnick != ""} {    putlog "\[\002$c\002\] - \002Mask\002: [lindex [split $blnick] 0] - \002Requester\002: [lindex [split $blnick] 1] - \002Bantime\002: [lindex [split $blnick] end]"    incr c   } {    putlog "\[\002*\002\] - End of list."   }  } }}proc bl:pub {nick uhost hand chan arg} { global blackl BLNicks if {![string equal $blackl(trig) [string index $arg 0]]} {return 0}  switch -- [string range $arg 1 end] {  "addbl" {   if {[join [lrange [split $arg] 1 end]] == ""} { puthelp "NOTICE $nick :SYNTAX: \003$blackl(trig)addbl &lt;nick!user@host&gt; \[reason\] \[btime\]\003"; return 0 }   if {![string match -nocase *!*@* [set blnick [lindex [split $arg] 1]]]} {    puthelp "NOTICE $nick :SYNTAX: \003$blackl(trig)addbl \002&lt;nick&gt;\002!\002&lt;user&gt;\002@\002&lt;host&gt;\002 \[reason\] \[bantime\]\003"    return 0   }   if {[bl:do:add $hand [join [lrange [split $arg] 1 end]]]} {    if {[channel get $chan blacklist]} {     foreach ubchecked [chanlist $chan] {      bl:ban $ubchecked [getchanhost $ubchecked $chan] [nick2hand $ubchecked] $chan     }    }     pushmode2 $chan +b $blnick    puthelp "NOTICE $nick :[string map {! \002!\002 @ \002@\002} \002$blnick\002] has been \002added\002 to the blacklist."   } {    puthelp "NOTICE $nick :[string map {! \002!\002 @ \002@\002} \002$blnick\002] already \002exists\002 in the blacklist."   }  }  "rembl" {   #  putchan $chan "[join [lrange [split $arg] 1 end]]"   if {[join [lrange [split $arg] 1 end]] == ""} { puthelp "NOTICE $nick :SYNTAX: \003$blackl(trig)rembl &lt;nick!user@host&gt;\003"; return 0 }   if {![string match -nocase *!*@* [set blnick [lindex [split $arg] 1]]]} {     puthelp "NOTICE $nick :SYNTAX: \003$blackl(trig)rembl \002&lt;nick&gt;\002!\002&lt;user&gt;\002@\002&lt;host&gt;\002\003"    return 0   }   if {[bl:do:rem [join [lrange [split $arg] 1 end]]]} {     if {[channel get $chan blacklist]} {     foreach ban [chanbans $chan] {      if {[string match -nocase $blnick [set sban [lindex $ban 0]]]} {       pushmode $chan -b $sban      }     }    }    puthelp "NOTICE $nick :[string map {! \002!\002 @ \002@\002} \002$blnick\002] was \002deleted\002 from the blacklist."   } {    puthelp "NOTICE $nick :[string map {! \002!\002 @ \002@\002} \002$blnick\002] was \002not\002 found in the blacklist."   }  }  "listbl" {   if {[string equal "{} {}" $BLNicks] || [string equal "" $BLNicks]} {    puthelp "NOTICE $nick :There are \002no\002 bans in the blacklist."   } {    set c 1    foreach blnick $BLNicks {     if {$blnick != ""} {      puthelp "NOTICE $nick :\[\002$c\002\] - \002Mask\002: [lindex [split $blnick] 0] - \002Requester\002: [lindex [split $blnick] 1] - \002Bantime\002: [lindex [split $blnick] end]"      incr c     } {      puthelp "NOTICE $nick :\[\002*\002\] - End of list."     }    }   }  } }}proc bl:cop {nick uhost hand chan mc targ} { global blackl if {[isbotnick $targ] &amp;&amp; $blackl(checkop) &amp;&amp; [channel get $chan blacklist]} {  foreach blnick [chanlist $chan] {   bl:ban $blnick [getchanhost $blnick $chan] [nick2hand $blnick] $chan  } }}proc rem:blban {chan ban} { global blackl if {$blackl(rbabt)} {  pushmode $chan -b $ban  bl:do:rem $ban } {  pushmode $chan -b $ban }}proc we:can:find:ban {blnick type} { global blackl set spfound 0 switch -- $type {  "add" {    foreach temp [split [string tolower [read [set inf [open $blackl(file)]]]] "\n"][close $inf] {    if {[string equal -nocase [lindex [split $temp] 0] $blnick]} { set spfound 1 ; break }   }  }  "rem" {   foreach temp [split [string tolower [read [set inf [open $blackl(file)]]]] "\n"][close $inf] {    if {[string equal -nocase [lindex [split $temp] 0] [string map {\\ \\\\ \[ \\\[ \] \\\]} $blnick]]} { set spfound 1 ; break }   }  } } set spfound}proc blfollow {secs blvar} { upvar $blvar fvar utimer $secs [list bldicr $blvar] incr fvar}proc bldicr blvar { upvar $blvar fvar if {$fvar &gt; 0} {  incr fvar -1 }}set blbtypeDefaultType 3proc blbtype [list name [list type $blbtypeDefaultType]] {  if {[scan $name {%[^!]!%[^@]@%s} nick user host]!=3} {   error "Usage: maskbhost &lt;nick!user@host&gt; \[type\]"  }  if [string match {[3489]} $type] {   if [string match {*[0-9]} $host] {    set host [join [lrange [split $host .] 0 2] .].*   } elseif {[string match *.*.* $host]} {    set host *.[join [lrange [split $host .] end-1 end] .]   }  }  if [string match {[1368]} $type] {   set user *[string trimleft $user ~]  } elseif {[string match {[2479]} $type]} {   set user *  }  if [string match {[01234]} $type] {   set nick *  }  set name $nick!$user@$host }#putlog "BlackList v1.4 By Opposing (a.k.a Sir_Fz) Loaded..."################################ putlog "[file normalize [info script]]"############################### </code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Mon Apr 06, 2026 8:34 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[CrazyCat]]></name></author>
		<updated>2026-04-06T07:24:28-04:00</updated>

		<published>2026-04-06T07:24:28-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113459#p113459</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113459#p113459"/>
		<title type="html"><![CDATA[Re: Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113459#p113459"><![CDATA[
Because you kept<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark-reasonable.min.css"> <strong>script</strong>  <strong>script</strong> <div class="codebox"><pre><code class="language-tcl">switch -- [lindex [split [lindex [split $arg $blackl(trig)] 1]] 0] {</code></pre></div> <strong>script</strong> We spoke about that in #eggdrop<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark-reasonable.min.css"> <strong>script</strong>  <strong>script</strong> <div class="codebox"><pre><code class="language-tcl">switch -- [string range $arg 1 end] {</code></pre></div> <strong>script</strong> And you treat string as lists...<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark-reasonable.min.css"> <strong>script</strong>  <strong>script</strong> <div class="codebox"><pre><code class="language-tcl">set b [gets $a]   if {![string equal -nocase [lindex $b 0] $blnick]} { lappend z ${b} }</code></pre></div> <strong>script</strong> Why don't use:<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark-reasonable.min.css"> <strong>script</strong>  <strong>script</strong> <div class="codebox"><pre><code class="language-tcl">if {[string equal -nocase [string index $b 0] $blnick]}</code></pre></div> <strong>script</strong> <p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=691">CrazyCat</a> — Mon Apr 06, 2026 7:24 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2026-04-05T18:53:30-04:00</updated>

		<published>2026-04-05T18:53:30-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=113458#p113458</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=113458#p113458"/>
		<title type="html"><![CDATA[Re: Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=113458#p113458"><![CDATA[
i have a strange issue when trying to remove a ban <br><div class="codebox"><p>Code: </p><pre><code>##############################################################################                                                                           ## Coded by: Opposing (Fz_Egg@yahoo.com)                                     ## Version : 1.4                                                             ## Released: November 29, 2010                                               ## Source  : http://Sir-Fz.blogspot.com/                                     ###                                                                          ## Description: A blacklist script that stores the banned masks in a db file ##              and bans everyone who matches the blacklisted masks on join  ##              or when the bot gets op.                                     ##                                                                           ## Available Commands:                                                       ## - DCC: .addbl &lt;nick&gt;!&lt;user&gt;@&lt;host&gt; [reason] [bantime] : Adds ban.         ##        .rembl &lt;nick&gt;!&lt;user&gt;@&lt;host&gt;                    : Deletes ban.      ##        .listbl                                        : Lists bans.       ## - PUB: addbl &lt;nick&gt;!&lt;user&gt;@&lt;host&gt; [reason] [bantime]  : Adds ban          ##        rembl &lt;nick&gt;!&lt;user&gt;@&lt;host&gt;                     : Deletes ban.      ##        listbl                                         : Lists bans.       ##                                                                           ## USE (DCC) .chanset #channel +blacklist to enable blacklist on a channel.  ##                                                                           ## Credits:                                                                  ##         Thanks to strikelite and user (if I recall correctly) from the    ##         egghelp.org forum for helping me with this script (back in 2003). ##         Also used user's (egghelp.org forum) maskhost proc.               ##                                                                           ## History:                                                                  ##         - 1.4: Fixed a bug when using the bansame option where nicknames  ##           with special characters (\, [, ]) were not properly banned.     ##         - 1.3: Added Flooding out protection, where the bot will start    ##           using the slowest queue in case a number of blacklisted users   ##           join in a certain period of seconds which can be defined by the ##           user. + fixed a bug with brackets.                              ##         - 1.2: Fixed a few bugs and made the script create the blacklist  ##           file if it doesn't exist.                                       ##         - 1.1: added the black list chan flag, and other features into    ##           patterns of handling the blacklist.                             ##         - 1.0: First release.                                             ##                                                                           ## Report bugs/suggestions to Fz_Egg@yahoo.com                               ##                                                                           ## Copyright © 2005 Opposing (aka Sir_Fz)                                    ##                                                                           ## This program is free software; you can redistribute it and/or modify      ## it under the terms of the GNU General Public License as published by      ## the Free Software Foundation; either version 2 of the License, or         ## (at your option) any later version.                                       ##                                                                           ## This program is distributed in the hope that it will be useful,           ## but WITHOUT ANY WARRANTY; without even the implied warranty of            ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             ## GNU General Public License for more details.                              ##                                                                           ## You should have received a copy of the GNU General Public License         ## along with this program; if not, write to the Free Software               ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA ##                                                                           ############################################################################################################## Configurations start here: ## __________________________ ### Blacklist File:#set blackl(file) "scripts/blacklist.txt"set blackl(file) "test-scripts-6/blacklist.txt"## Blacklist "Excess Flood" protection. Set here how many blacklisted users are allowed## to join in how many seconds before using the slow queue in order for the bot not to## flood out with reason "Excess Flood."set blackl(punish) 4:2## Do you want the bot to also check for blacklisted users on op ? (0: no / 1: yes)set blackl(checkop) 1## Do you want to ban the same ban from the blacklist file## or do you want it to be spcific ? (0: specific / 1: same ban as the file) ### example:## Suppose that *!lamest@* is banned.# .. joins lamer!lamest@lamer.org# .. bot sets mode +b *!lamest@*# .. lamer kicked by bot "Blacklisted user."## This happens if this option is set to 1.## but if you set it to 0, then you can choose what bantype you want to ban.set blackl(bansame) 1## if blackl(bansame) is set to 0:## What ban type do you want to ban ?# 0: *!user@full.host.tld # 1: *!*user@full.host.tld # 2: *!*@full.host.tld # 3: *!*user@*.host.tld # 4: *!*@*.host.tld # 5: nick!user@full.host.tld # 6: nick!*user@full.host.tld # 7: nick!*@full.host.tld # 8: nick!*user@*.host.tld # 9: nick!*@*.host.tldset blackl(btype) 2## Set default ban reason if not specified.## NOTE: use %requester to use the nick of the one who set the ban.set blackl(kmsg) "Banned: Requested by %requester"## set default ban time (in minutes) if no bantime specified. (0 means no ban time)set blackl(btime) 0## Do you want the ban to be removed from the file after ban time expires ? (0: no / 1: yes)## if set to 0, the bot will only remove the ban from the channel but not from the file.set blackl(rbabt) 0## Set here the trigger for public commands.## example: set blackl(trig) "!"## now using !listbl on main will show the blacklist.set blackl(trig) "!"## Set flags that are allowed to use these commands.## &lt;global flags&gt;|&lt;channel flags&gt;set blackl(flags) n|-# Configurations end here. ##################################################################################################### Code starts here, please do not edit anything unless you know TCL: ## __________________________________________________________________ #bind nick - * bl:banbind join - * bl:banbind dcc $blackl(flags) addbl bl:addbind dcc $blackl(flags) rembl bl:rembind dcc $blackl(flags) listbl bl:listbind pubm $blackl(flags) * bl:pubbind mode - "* +o" bl:copsetudef flag blacklistif {[file exists $blackl(file)]} {  set BLNicks [split [read [set inf [open $blackl(file)]]] "\n"][close $inf]} { set BLNicks [list]}foreach {blackl(lim) blackl(secs)} [split $blackl(punish) :] {break}proc bl:ban {nick uhost hand chan {nn ""}} { global BLNicks blackl blflood if {![botisop $chan] || ![channel get $chan blacklist]} {return 0} if {![info exists blflood([set chan [string tolower $chan]])]} { set blflood($chan) 0 } if {$nn != ""} { set nick $nn } foreach blnick $BLNicks {  if {[string match -nocase [set ban [lindex [split $blnick] 0]] $nick!$uhost]} {   set ban [string map {\\\\ \\ \\\[ \[ \\\] \]} $ban]    if {[blfollow $blackl(secs) blflood($chan)] &lt; $blackl(lim)} {    putquick "KICK $chan $nick :[string map [list %requester [lindex [split $blnick] 1]] [join [lrange [split $blnick] 2 end-1]]]"  if {$blackl(bansame)} {    set ban [string map {\\\\ \\ \\\[ \[ \\\] \]} $ban]   putquick "MODE $chan -o+b $nick $ban"     if {!([set btime [lindex [split $blnick] end]] &lt;= 0)} {      timer $btime [list rem:blban $chan $ban]     }    } {     putquick "MODE $chan -o+b $nick [set aban [blbtype $nick!$uhost $blackl(btype)]]"     if {!([set btime [lindex [split $blnick] end]] &lt;= 0)} {      timer $btime [list rem:blban $chan $aban]     }    }   } {    puthelp "KICK $chan $nick :[string map [list %requester [lindex [split $blnick] 1]] [join [lrange [split $blnick] 2 end-1]]]"  if {$blackl(bansame)} {   set ban [string map {\\\\ \\ \\\[ \[ \\\] \]} $ban]   pushmode $chan -o $nick   pushmode $chan +b $ban     if {!([set btime [lindex [split $blnick] end]] &lt;= 0)} {      timer $btime [list rem:blban $chan $ban]     }    } {     pushmode $chan -o $nick     pushmode $chan +b [set aban [blbtype $nick!$uhost $blackl(btype)]]     if {!([set btime [lindex [split $blnick] end]] &lt;= 0)} {      timer $btime [list rem:blban $chan $aban]     }    }   }   putlog "\[\002BlackList\002\]: Banned \002$nick\002!\002$uhost\002 matching [string map {! \002!\002 @ \002@\002} \002$ban\002] on \002$chan\002"   break  } }}proc bl:add {hand idx arg} { if {$arg == ""} { putlog "SYNTAX: \003.addbl &lt;nick!user@host&gt; \[reason\] \[btime\]\003"; return 0 } if {![string match -nocase *!*@* [set blnick [lindex [split $arg] 0]]]} {  putlog "SYNTAX: \003.addbl \002&lt;nick&gt;\002!\002&lt;user&gt;\002@\002&lt;host&gt;\002 \[reason\] \[bantime\]\003"  return 0 } if {[bl:do:add $hand $arg]} {  foreach chan [channels] {   if {![channel get $chan blacklist]} { continue }   foreach ubchecked [chanlist $chan] {    bl:ban $ubchecked [getchanhost $ubchecked $chan] [nick2hand $ubchecked] $chan   }  }  putlog "[string map {! \002!\002 @ \002@\002} \002$blnick\002] has been \002added\002 to the blacklist." } {  putlog "[string map {! \002!\002 @ \002@\002} \002$blnick\002] already \002exists\002 in the blacklist." }}proc bl:do:add {hand arg} { global blackl BLNicks set added 0 if {[llength [lrange [split $arg] 1 end]] == 1} {  if {[string is integer [lindex [split $arg] end]]} {   set kreason "$blackl(kmsg)"   set btime "[lindex [split $arg] end]"  } else {   set kreason "[lrange [split $arg] 1 end]"   set btime "$blackl(btime)"  } } elseif {[llength [lrange [split $arg] 1 end]] &gt; 1} {  if {[string is integer [lindex [split $arg] end]]} {   set kreason "[join [lrange [split $arg] 1 end-1]]"   set btime "[lindex [split $arg] end]"  } else {   set kreason "[join [lrange [split $arg] 1 end]]"   set btime "$blackl(btime)"  } } else {  set kreason "$blackl(kmsg)"  set btime "$blackl(btime)" } if {![file exists $blackl(file)]} {   set temp [open $blackl(file) w]  close $temp } set blnick "[string map {\\ \\\\ \[ \\\[ \] \\\]} [lindex [split $arg] 0]]" if {![we:can:find:ban $blnick add]} {  puts [set fs [open $blackl(file) a]] "$blnick $hand $kreason $btime"  close $fs  set BLNicks [split [read [set inf [open $blackl(file)]]] "\n"][close $inf]  set added 1 } set added}proc bl:rem {hand idx arg} { if {$arg == ""} { putlog "SYNTAX: \003.rembl &lt;nick!user@host&gt;\003"; return 0 } if {![string match -nocase *!*@* [set blnick [lindex [split $arg] 0]]]} {   putlog "SYNTAX: \003.rembl \002&lt;nick&gt;\002!\002&lt;user&gt;\002@\002&lt;host&gt;\002\003"  return 0 } if {[bl:do:rem $arg]} {  foreach chan [channels] {   if {![channel get $chan blacklist]} { continue }   foreach ban [chanbans $chan] {    if {[string match -nocase $blnick [set sban [lindex $ban 0]]]} {     pushmode $chan -b $sban    }   }  }  putlog "[string map {! \002!\002 @ \002@\002} \002$blnick\002] was \002deleted\002 from the blacklist." } {  putlog "[string map {! \002!\002 @ \002@\002} \002$blnick\002] was \002not\002 found in the blacklist." }}proc bl:do:rem arg { global blackl BLNicks set remmed 0 set blnick [lindex [split $arg] 0] if {![file exists $blackl(file)]} {   set temp [open $blackl(file) w]  close $temp } if {[we:can:find:ban $blnick rem]} {  set z ""  set a [open $blackl(file) r]  while {![eof $a]} {   set b [gets $a]   if {![string equal -nocase [lindex $b 0] $blnick]} { lappend z ${b} }  }  close $a  set n [open $blackl(file) w]  foreach k $z {   if {$k != ""} { puts $n $k }  }  close $n  set BLNicks [split [read [set inf [open $blackl(file)]]] "\n"][close $inf]  set remmed 1 } set remmed}proc bl:list {hand idx arg} { global BLNicks if {[string equal "{} {}" $BLNicks] || [string equal "" $BLNicks]} {  putlog "There are \002no\002 bans in the blacklist." } {  set c 1  foreach blnick $BLNicks {   if {$blnick != ""} {    putlog "\[\002$c\002\] - \002Mask\002: [lindex [split $blnick] 0] - \002Requester\002: [lindex [split $blnick] 1] - \002Bantime\002: [lindex [split $blnick] end]"    incr c   } {    putlog "\[\002*\002\] - End of list."   }  } }}proc bl:pub {nick uhost hand chan arg} { global blackl BLNicks if {![string equal $blackl(trig) [string index $arg 0]]} {return 0} # switch -- [lindex [lindex [split $arg $blackl(trig)] 1] 0] {}    switch -- [lindex [split [lindex [split $arg $blackl(trig)] 1]] 0] {   "xaddbl" {   if {[join [lrange [split $arg] 1 end]] == ""} { puthelp "NOTICE $nick :SYNTAX: \003$blackl(trig)addbl &lt;nick!user@host&gt; \[reason\] \[btime\]\003"; return 0 }   if {![string match -nocase *!*@* [set blnick [lindex [split $arg] 1]]]} {    puthelp "NOTICE $nick :SYNTAX: \003$blackl(trig)addbl \002&lt;nick&gt;\002!\002&lt;user&gt;\002@\002&lt;host&gt;\002 \[reason\] \[bantime\]\003"    return 0   }   if {[bl:do:add $hand [join [lrange [split $arg] 1 end]]]} {    if {[channel get $chan blacklist]} {     foreach ubchecked [chanlist $chan] {      bl:ban $ubchecked [getchanhost $ubchecked $chan] [nick2hand $ubchecked] $chan     }    }     pushmode $chan +b $blnick    puthelp "NOTICE $nick :[string map {! \002!\002 @ \002@\002} \002$blnick\002] has been \002added\002 to the blacklist."   } {    puthelp "NOTICE $nick :[string map {! \002!\002 @ \002@\002} \002$blnick\002] already \002exists\002 in the blacklist."   }  }  "xrembl" {   #  putchan $chan "[join [lrange [split $arg] 1 end]]"   if {[join [lrange [split $arg] 1 end]] == ""} { puthelp "NOTICE $nick :SYNTAX: \003$blackl(trig)rembl &lt;nick!user@host&gt;\003"; return 0 }   if {![string match -nocase *!*@* [set blnick [lindex [split $arg] 1]]]} {     puthelp "NOTICE $nick :SYNTAX: \003$blackl(trig)rembl \002&lt;nick&gt;\002!\002&lt;user&gt;\002@\002&lt;host&gt;\002\003"    return 0   }   if {[bl:do:rem [join [lrange [split $arg] 1 end]]]} {     if {[channel get $chan blacklist]} {     foreach ban [chanbans $chan] {      if {[string match -nocase $blnick [set sban [lindex $ban 0]]]} {       pushmode $chan -b $sban      }     }    }    puthelp "NOTICE $nick :[string map {! \002!\002 @ \002@\002} \002$blnick\002] was \002deleted\002 from the blacklist."   } {    puthelp "NOTICE $nick :[string map {! \002!\002 @ \002@\002} \002$blnick\002] was \002not\002 found in the blacklist."   }  }  "xlistbl" {   if {[string equal "{} {}" $BLNicks] || [string equal "" $BLNicks]} {    puthelp "NOTICE $nick :There are \002no\002 bans in the blacklist."   } {    set c 1    foreach blnick $BLNicks {     if {$blnick != ""} {      puthelp "NOTICE $nick :\[\002$c\002\] - \002Mask\002: [lindex [split $blnick] 0] - \002Requester\002: [lindex [split $blnick] 1] - \002Bantime\002: [lindex [split $blnick] end]"      incr c     } {      puthelp "NOTICE $nick :\[\002*\002\] - End of list."     }    }   }  } }}proc bl:cop {nick uhost hand chan mc targ} { global blackl if {[isbotnick $targ] &amp;&amp; $blackl(checkop) &amp;&amp; [channel get $chan blacklist]} {  foreach blnick [chanlist $chan] {   bl:ban $blnick [getchanhost $blnick $chan] [nick2hand $blnick] $chan  } }}proc rem:blban {chan ban} { global blackl if {$blackl(rbabt)} {  pushmode $chan -b $ban  bl:do:rem $ban } {  pushmode $chan -b $ban }}proc we:can:find:ban {blnick type} { global blackl set spfound 0 switch -- $type {  "add" {    foreach temp [split [string tolower [read [set inf [open $blackl(file)]]]] "\n"][close $inf] {    if {[string equal -nocase [lindex [split $temp] 0] $blnick]} { set spfound 1 ; break }   }  }  "rem" {   foreach temp [split [string tolower [read [set inf [open $blackl(file)]]]] "\n"][close $inf] {    if {[string equal -nocase [lindex [split $temp] 0] [string map {\\ \\\\ \[ \\\[ \] \\\]} $blnick]]} { set spfound 1 ; break }   }  } } set spfound}proc blfollow {secs blvar} { upvar $blvar fvar utimer $secs [list bldicr $blvar] incr fvar}proc bldicr blvar { upvar $blvar fvar if {$fvar &gt; 0} {  incr fvar -1 }}set blbtypeDefaultType 3proc blbtype [list name [list type $blbtypeDefaultType]] {  if {[scan $name {%[^!]!%[^@]@%s} nick user host]!=3} {   error "Usage: maskbhost &lt;nick!user@host&gt; \[type\]"  }  if [string match {[3489]} $type] {   if [string match {*[0-9]} $host] {    set host [join [lrange [split $host .] 0 2] .].*   } elseif {[string match *.*.* $host]} {    set host *.[join [lrange [split $host .] end-1 end] .]   }  }  if [string match {[1368]} $type] {   set user *[string trimleft $user ~]  } elseif {[string match {[2479]} $type]} {   set user *  }  if [string match {[01234]} $type] {   set nick *  }  set name $nick!$user@$host }putlog "BlackList v1.4 By Opposing (a.k.a Sir_Fz) Loaded..."</code></pre></div>using this command :<br><blockquote class="uncited"><div> !rembl ALme*ria*!*@* testing   </div></blockquote>gettin this error :<br><blockquote class="uncited"><div>  Tcl error [bl:pub]: list element in braces followed by "*!*@*" instead of space </div></blockquote><br>output of .set  errorInfo:<br><br><blockquote class="uncited"><div><br> .set errorInfo<br> Currently: list element in braces followed by "*!*@*" instead of space<br> Currently:     while executing<br> Currently: "lindex $b 0"<br> Currently:     (procedure "bl:do:rem" line 14)<br> Currently:     invoked from within<br> Currently: "bl:do:rem [join [lrange [split $arg] 1 end]]"<br> Currently:     (procedure "bl:pub" line 31)<br> Currently:     invoked from within<br> Currently: "bl:pub $_pubm1 $_pubm2 $_pubm3 $_pubm4 $_pubm5"<br></div></blockquote><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Sun Apr 05, 2026 6:53 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[AzOt]]></name></author>
		<updated>2011-10-09T10:25:12-04:00</updated>

		<published>2011-10-09T10:25:12-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97897#p97897</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97897#p97897"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97897#p97897"><![CDATA[
will there be a next version using namespace eval? including bind nick?<br><br>cordially<br><br>Sorry for my English<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=11406">AzOt</a> — Sun Oct 09, 2011 10:25 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2011-07-02T02:37:04-04:00</updated>

		<published>2011-07-02T02:37:04-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97145#p97145</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97145#p97145"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97145#p97145"><![CDATA[
Yep, glad you figured it out <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"> and glad you like the script.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Sat Jul 02, 2011 2:37 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SinSoLe]]></name></author>
		<updated>2011-07-01T10:40:23-04:00</updated>

		<published>2011-07-01T10:40:23-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97141#p97141</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97141#p97141"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97141#p97141"><![CDATA[
Hello Sir_Fz, thanks for your reply.<br><br>I did the changes that you posted here, but I get this on partyline:<br><blockquote class="uncited"><div>16:19:50 &lt;Eggdrop&gt; 01-07 16:19.34&gt; Tcl error [bl:ban]: syntax error in expression "nn != """: variable references require preceding $<br>16:19:55 &lt;Eggdrop&gt; 01-07 16:19.40&gt; Tcl error [bl:ban]: syntax error in expression "nn != """: variable references require preceding $<br>16:19:56 &lt;Eggdrop&gt; 01-07 16:19.41&gt; Tcl error [bl:ban]: syntax error in expression "nn != """: variable references require preceding $<br>16:20:00 &lt;Eggdrop&gt; 01-07 16:19.44&gt; Tcl error [bl:ban]: syntax error in expression "nn != """: variable references require preceding $</div></blockquote>EDIT: Seems that works changing this<div class="codebox"><p>Code: </p><pre><code>if {nn != ""} { set nick $nn}</code></pre></div>with <div class="codebox"><p>Code: </p><pre><code>if {$nn != ""} { set nick $nn }</code></pre></div>Thanks for your help, it's a perfect script <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=11705">SinSoLe</a> — Fri Jul 01, 2011 10:40 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2011-07-02T02:35:18-04:00</updated>

		<published>2011-07-01T10:01:02-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97140#p97140</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97140#p97140"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97140#p97140"><![CDATA[
Hello SinSole, please try this quick solution:<br><br>Add this bind<div class="codebox"><p>Code: </p><pre><code>bind nick - * bl:ban</code></pre></div>and replace<div class="codebox"><p>Code: </p><pre><code>proc bl:ban {nick uhost hand chan} {</code></pre></div>with<div class="codebox"><p>Code: </p><pre><code>proc bl:ban {nick uhost hand chan {nn ""}} {</code></pre></div>and inside the proc (the second line) add:<div class="codebox"><p>Code: </p><pre><code>if {$nn != ""} { set nick $nn}</code></pre></div>This should trigger it on nick changes.<br><br>Edit: $nn instead of nn<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Fri Jul 01, 2011 10:01 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SinSoLe]]></name></author>
		<updated>2011-06-25T14:03:45-04:00</updated>

		<published>2011-06-25T14:03:45-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=97092#p97092</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=97092#p97092"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=97092#p97092"><![CDATA[
Hello<br><br>I'm using this script for a while, and I think that is great. But I would add a feature:<br><br>If I add an entry like nick2!*@* and an user changes his nick to nick2, the bot doesn't nothing. It would be great if script binds nick change events to check if is in blacklist.<br><br>For example:<div class="codebox"><p>Code: </p><pre><code>&lt;SinSoLe&gt; .addbl nick2!*@*Guest0001 (ident@host.com) joined #channelGuest0001 is now known as nick2Eggdrop sets mode +b *!*@host.comnick2 was kicked from #channel by Eggdrop</code></pre></div>I tried to do myself adding "bind nick - * bl:cop", but I don't know how to do.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=11705">SinSoLe</a> — Sat Jun 25, 2011 2:03 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[AzOt]]></name></author>
		<updated>2010-12-04T09:14:58-04:00</updated>

		<published>2010-12-04T09:14:58-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95273#p95273</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95273#p95273"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95273#p95273"><![CDATA[
Sir_Fz thank you I'll test it and I'll keep you posted if beug <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=11406">AzOt</a> — Sat Dec 04, 2010 9:14 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2010-12-03T17:49:35-04:00</updated>

		<published>2010-12-03T17:49:35-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95265#p95265</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95265#p95265"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95265#p95265"><![CDATA[
I just tested it and it's working fine. Please try the updated version from <a href="http://www.4shared.com/file/8ERNn9Ym/blacklist14.html" class="postlink">http://www.4shared.com/file/8ERNn9Ym/blacklist14.html</a> and give me feedback.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Fri Dec 03, 2010 5:49 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[AzOt]]></name></author>
		<updated>2010-12-01T03:07:04-04:00</updated>

		<published>2010-12-01T03:07:04-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95241#p95241</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95241#p95241"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95241#p95241"><![CDATA[
well yes I do .rehash and itself .restart. and  I forget to mention that come a time when adding a user such as [reagetton]*!*@* kickban it all: x<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=11406">AzOt</a> — Wed Dec 01, 2010 3:07 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2010-11-30T20:52:20-04:00</updated>

		<published>2010-11-30T20:52:20-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95239#p95239</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95239#p95239"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95239#p95239"><![CDATA[
Did you .rehash after applying the changes?<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Tue Nov 30, 2010 8:52 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[AzOt]]></name></author>
		<updated>2010-11-29T16:02:07-04:00</updated>

		<published>2010-11-29T16:02:07-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=95226#p95226</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=95226#p95226"/>
		<title type="html"><![CDATA[Blacklist script by Sir_fz]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=95226#p95226"><![CDATA[
Sir_Fz thank you for responding. I make the changes as indicated but the bot does no further action <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_sad.gif" width="15" height="15" alt=":(" title="Sad"><br><br> <br>ps: sorry for my English<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=11406">AzOt</a> — Mon Nov 29, 2010 4:02 pm</p><hr />
]]></content>
	</entry>
	</feed>
