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

	<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>2007-06-26T14:37:43-04:00</updated>

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

		<entry>
		<author><name><![CDATA[r0t3n]]></name></author>
		<updated>2007-06-26T14:37:43-04:00</updated>

		<published>2007-06-26T14:37:43-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73910#p73910</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73910#p73910"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73910#p73910"><![CDATA[
Thanks Sir_Fz you have saved me alot of time. I was going to give up and recode but now you saved the day <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"> it works 100% with \r0t3n and \\r0t3n now. Thanks again! <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=6300">r0t3n</a> — Tue Jun 26, 2007 2:37 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2007-06-26T06:44:28-04:00</updated>

		<published>2007-06-26T06:44:28-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73908#p73908</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73908#p73908"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73908#p73908"><![CDATA[
You're applying [lrange] over a string, also lrange returns a list so applying [split] over it is redundant and will lead to invalid outputs. So, you should replace<div class="codebox"><p>Code: </p><pre><code>set text [lrange $text 2 end]</code></pre></div>with<div class="codebox"><p>Code: </p><pre><code>set text [join [lrange [split $text] 2 end]]</code></pre></div>and same for the other [lrange] statements.<br><br><a href="http://www.peterre.info/characters.html" class="postlink">How to write eggdrop scripts that won't choke on special characters</a>.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Tue Jun 26, 2007 6:44 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[r0t3n]]></name></author>
		<updated>2007-06-26T05:16:57-04:00</updated>

		<published>2007-06-26T05:16:57-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73906#p73906</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73906#p73906"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73906#p73906"><![CDATA[
Ok. If i get the adduser sorted, i can fix the other commands easy. Its mainly the adduser needed to be fixed. Maybe it is something to do with how i start the proc, with string index range etc.<br><br>its a bind pubm {*} bind.<br><div class="codebox"><p>Code: </p><pre><code>bind pubm - {*} [namespace current]::centralproc service::central {nickname hostname handle channel text} {    global botnick    if {[lsearch -exact "$service::triggers" [string index [set option [lindex [split $text] 0]] 0]] == "-1" &amp;&amp; ![string match -nocase $botnick $option]} {        if {[llength $text] &gt;= 1} {            service::spamscan $nickname $hostname $handle $channel $text        }    } else {        set cont "0"        if {[string match -nocase $botnick $option]} {            set lastbind "$botnick "            set command [lindex [split $text] 1]            set text [lrange $text 2 end]            set cont "1"        } else {            set lastbind "[string index $option 0]"            set command "[string range $option 1 end]"            set text [lrange $text 1 end]            set mytrig [getuser $handle XTRA mytrigger]            if {$lastbind == "$mytrig" || ($command == "mytrigger" || $command == "mytrig" || $command == "trig" || $command == "trigger")} {                set cont "1"            }        }        #putlog "Cont = $cont"        if {!$cont} { return }        #putlog "Continued - Lastbind = $lastbind Command = $command Text = $text"        switch -exact -- $command {            "adduser" - "add" {                if {![matchattr $handle nm|nm $channel]} {                    putserv "NOTICE $nickname :Error: Only channel owners/masters can add users to $channel."                    return                }                set who [lindex [split $text] 0]                #set who [string map { \\{ \\\{ \\} \\\} \\[ \\\[ \\] \\\] \\\\ \\\\\\ } [lindex $text 0]]                #if {![string equal -nocase $who [set who2 [string map { \\ \\\\\ } $who]]]} {                #  set who [string map { " " "" } $who2]                #}                #set who [join $who]                set hand [join [lindex [split $text] 1]]                set lev [lindex [split $text] 2]                if {$who == ""} {                    putserv "NOTICE $nickname :SYNTAX: ${lastbind}$command &lt;nickname&gt; &lt;handle&gt; &lt;level&gt; (Levels: owner, master, op, voice, ban)."                } elseif {$hand == ""} {                    putserv "NOTICE $nickname :SYNTAX: ${lastbind}$command &lt;nickname&gt; &lt;handle&gt; &lt;level&gt; (Levels: owner, master, op, voice, ban)."                } elseif {$lev == ""} {                    putserv "NOTICE $nickname :SYNTAX: ${lastbind}$command &lt;nickname&gt; &lt;handle&gt; &lt;level&gt; (Levels: owner, master, op, voice, ban)."                } elseif {![onchan $who $channel]} {                    putserv "NOTICE $nickname :$who isn't on $channel."                } elseif {[validuser [nick2hand $who]]} {                    putserv "NOTICE $nickname :$who is already known as '[nick2hand $who]'. Please use ${lastbind}access $who \?level\? to modify $who's access on $channel (Levels: owner, master, op, voice, ban)."                } elseif {[regexp {\!|\{|\}|\[|\]|\(|\)|\"|\$|\%|\||\&amp;|\*|^[0-9]$} $hand]} {                    putserv "NOTICE $nickname :The handle can't contain illegal characters (!|\{|\}|\[|\]|\(|\)|\"|\$|\%|\||\&amp;|\*)."                } elseif {[string length $hand] &lt; 2 || [string length $hand] &gt; 9} {                    putserv "NOTICE $nickname :The handle length must be between 2-9 characters long."                } elseif {[validuser $hand]} {                    putserv "NOTICE $nickname :Handle '$hand' is already taken. Please try again with a different handle."                } else {                    if {[string match -nocase *users.quakenet.org [set host *![getchanhost $who $channel]]]} {                        set host *!*@[lindex [split $host @] 1]                    }                    switch -exact -- $lev {                        "owner" {                            if {![matchattr $handle nm|n $channel]} {                                putserv "NOTICE $nickname :Only $channel owners can add/remove owners."                            } else {                                adduser $hand $host                                setuser [nick2hand $who] XTRA mytrigger "$service::trigger"                                chattr [nick2hand $who] |+amno $channel                                putserv "NOTICE $nickname :\002$who\002 ([nick2hand $who]) added as \002$channel owner\002."                                putserv "NOTICE $who :\002$nickname ($handle)\002 added you as \002$channel owner\002 with the handle \002[nick2hand $who]\002 and with hostmask \002$host\002."                                putserv "NOTICE $who :For security reasons, please type: /msg $::botnick password &lt;password&gt;. Your default mytrigger is set to: $service::trigger. To find out my commands, please type ${service::trigger}commands or $::botnick commands."                                if {![isop $who $channel] &amp;&amp; [botisop $channel]} {                                    putquick "MODE $channel +ov $who $who"                                }                            }                        }                        "master" {                            if {![matchattr $handle nm|n $channel]} {                                putserv "NOTICE $nickname :Only $channel owners can add/remove masters."                            } else {                                adduser $hand $host                                setuser [nick2hand $who] XTRA mytrigger "$service::trigger"                                chattr [nick2hand $who] |+amo $channel                                putserv "NOTICE $nickname :\002$who\002 ([nick2hand $who]) added as \002$channel master\002."                                putserv "NOTICE $who :\002$nickname ($handle)\002 added you as \002$channel master\002 with the handle \002[nick2hand $who]\002 and with hostmask \002$host\002."                                putserv "NOTICE $who :For security reasons, please type: /msg $::botnick password &lt;password&gt;. Your default mytrigger is set to: $service::trigger. To find out my commands, please type ${service::trigger}commands or $::botnick commands."                                if {![isop $who $channel] &amp;&amp; [botisop $channel]} {                                    putquick "MODE $channel +ov $who $who"                                }                            }                        }                        "operator" - "op" {                            if {![matchattr $handle nm|nm $channel]} {                                putserv "NOTICE $nickname :Only $channel owners/masters can add/remove operators."                            } else {                                adduser $hand $host                                setuser [nick2hand $who] XTRA mytrigger "$service::trigger"                                chattr [nick2hand $who] |+ao $channel                                putserv "NOTICE $nickname :\002$who\002 ([nick2hand $who]) added as \002$channel operator\002."                                putserv "NOTICE $who :\002$nickname ($handle)\002 added you as \002$channel operator\002 with the handle \002[nick2hand $who]\002 and with hostmask \002$host\002."                                putserv "NOTICE $who :For security reasons, please type: /msg $::botnick password &lt;password&gt;. Your default mytrigger is set to: $service::trigger. To find out my commands, please type ${service::trigger}commands or $::botnick commands."                                if {![isop $who $channel] &amp;&amp; [botisop $channel]} {                                    putquick "MODE $channel +o $who"                                }                            }                        }                        "voice" - "friend" {                            if {![matchattr $handle nm|nmo $channel]} {                                putserv "NOTICE $nickname :Only $channel owners/msters/operators can add/remove voiced users."                            } else {                                adduser $hand $host                                setuser [nick2hand $who] XTRA mytrigger "$service::trigger"                                chattr [nick2hand $who] |+av $channel                                putserv "NOTICE $nickname :\002$who\002 ([nick2hand $who]) added as \002$channel voice\002."                                putserv "NOTICE $who :\002$nickname ($handle)\002 added you as \002$channel voice\002 with the handle \002[nick2hand $who]\002 and with hostmask \002$host\002."                                putserv "NOTICE $who :For security reasons, please type: /msg $::botnick password &lt;password&gt;. Your default mytrigger is set to: $service::trigger. To find out my commands, please type ${service::trigger}commands or $::botnick commands."                                if {![isvoice $who $channel] &amp;&amp; [botisop $channel]} {                                    putquick "MODE $channel +v $who"                                }                            }                        }                        "ban" {                            if {![matchattr $handle nm|nm $channel]} {                                putserv "NOTICE $nickname :Only $channel owners/masters can add/remove user bans."                            } else {                                adduser $hand $host                                setuser [nick2hand $who] XTRA mytrigger "$service::trigger"                                chattr [nick2hand $who] |+B $channel                                putserv "NOTICE $nickname :\002$who\002 ([nick2hand $who]) added as \002$channel ban\002."                                putserv "NOTICE $who :\002$nickname ($handle)\002 added you as \002$channel ban\002."                                putserv "NOTICE $who :For security reasons, please type: /msg $::botnick password &lt;password&gt;. Your default mytrigger is set to: $service::trigger. To find out my commands, please type ${service::trigger}commands or $::botnick commands."                                if {[onchan $who $channel] &amp;&amp; [botisop $channel]} {                                    set kickmsg $service::kickmsg(defaultban)                                    if {![ischanban $channel $host]} {                                        putserv "MODE $channel +b $host"                                        putserv "KICK $channel $who :$kickmsg"                                    } else {                                        putserv "KICK $channel $who :$kickmsg"                                    }                                }                            }                        }                        "default" {                            if {$lev != ""} {                                putserv "NOTICE $nickname :Invalid level '$lev'. Valid levels are: owner/master/operator/voice/ban."                            } else {                                putserv "NOTICE $nickname :No level specified... Usage: ${lastbind}$command $who $hand owner/master/operator/voice/ban."                             }                            #adduser $hand $host                            #putserv "NOTICE $nickname :\002$who\002 ([nick2hand $who]) successfully added to userbase."                            #putserv "NOTICE $who :\002$nickname ($handle)\002 added you to my userbase with the handle \002[nick2hand $who]\002 and with hostmask \002$host\002."                            #putserv "NOTICE $who :For security reasons, please type: /msg $::botnick password &lt;password&gt;. Your default mytrigger is set to: $service::trigger. To find out my commands, please type ${service::trigger}commands or $::botnick commands."                        }                    }                }            }</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6300">r0t3n</a> — Tue Jun 26, 2007 5:16 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2007-06-25T17:14:24-04:00</updated>

		<published>2007-06-25T17:14:24-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73892#p73892</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73892#p73892"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73892#p73892"><![CDATA[
I can't help you with a massive script because I don't have much time. However I can give you a few tips:<ul><li> Make sure $text is a string when you're applying [split] on it and don't use [lindex] or [lrange] with strings.</li><li> Add lines similar to 'putlog $who' for example to know what the variable who contains</li><li> Try normal inputs and see the results...etc</li><li> Make sure you're using the correct indexes, for example in a pubm bind 0 is the command while in pub 0 is the first word after the command (in terms of [lindex [split $text] &lt;index&gt;])</li></ul><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Mon Jun 25, 2007 5:14 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[r0t3n]]></name></author>
		<updated>2007-06-25T14:18:08-04:00</updated>

		<published>2007-06-25T14:18:08-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73891#p73891</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73891#p73891"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73891#p73891"><![CDATA[
Can i pm you with a link to the script (its a massive script, so its impossible to post it all). It's for a botservice also, so i dont want to make it public.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6300">r0t3n</a> — Mon Jun 25, 2007 2:18 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2007-06-25T12:27:42-04:00</updated>

		<published>2007-06-25T12:27:42-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73888#p73888</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73888#p73888"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73888#p73888"><![CDATA[
Add some putlogs in the script so you would know the values of your variables (debug it) becauase I don't see why it's taking the second element of a string as '{' where it clearly should not.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Mon Jun 25, 2007 12:27 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[r0t3n]]></name></author>
		<updated>2007-06-25T10:40:51-04:00</updated>

		<published>2007-06-25T10:40:51-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73884#p73884</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73884#p73884"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73884#p73884"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code>[15:38:35] &lt;+r0t3n&gt; ?whois \r0t3n[15:38:35] -p-Trojan- { is not on #trojan.test.[15:38:41] &lt;+r0t3n&gt; ?whois \\r0t3n[15:38:42] -p-Trojan- {\r0t3n} is not on #trojan.test.</code></pre></div>?whois just uses<br><div class="codebox"><p>Code: </p><pre><code>set who [lindex [split $text] 0]</code></pre></div><div class="codebox"><p>Code: </p><pre><code>            "whois" {                if {![matchattr $handle anmovf|anmovf $channel]} {                    puthelp "NOTICE $nickname :You are not known to me globalally or channel-wise and so you can't whois my users."                    return                }                set who [lindex [split $text] 0]                if {$who == ""} {                    putserv "NOTICE $nickname :SYNTAX: ${lastbind}$command nickname|#handle."                    return                }                if {[string index $who 0] == "#"} {                    set who [string trimleft $who #]                    if {![validuser $who]} {                        putserv "NOTICE $nickname :#$who is not a validuser."                    } else {                        putserv "NOTICE $nickname :Handle '#$who' is added with the hostmask(s) '[join [getuser $who HOSTS] ", "]'."                        #putserv "NOTICE $nickname :User was added by '[getuser $who added_by]' on '[clock format [getuser $who added_seconds] -format "%A %d %B %Y at %I:%M:%S %p"]'."                        if {[matchattr $handle nm]} {                            putserv "NOTICE $nickname :User is known with global flags ([chattr $who]) and $channel flags ([lindex [split [chattr $who | $channel] |] 1])."                        } else {                            putserv "NOTICE $nickname :User is known with $channel flags ([lindex [split [chattr $who | $channel] |] 1])."                        }                    }                } elseif {![onchan $who $channel]} {                    putserv "NOTICE $nickname :$who is not on $channel."                } elseif {![validuser [nick2hand $who]]} {                    putserv "NOTICE $nickname :\002$who\002 is not known to my database."                } else {                    putserv "NOTICE $nickname :User '$who' is known as '[set hand [nick2hand $who]]' with the hostmask(s) '[join [getuser $hand HOSTS] ", "]'."                    #putserv "NOTICE $nickname :User was added by '[getuser $hand added_by]' on '[clock format [getuser $hand added_seconds] -format "%A %d %B %Y at %I:%M:%S %p"]'."                    if {[matchattr $handle nm]} {                        putserv "NOTICE $nickname :User is known with global flags ([chattr $hand]) and $channel flags ([lindex [split [chattr $hand | $channel] |] 1])."                    } else {                        putserv "NOTICE $nickname :User is known with $channel flags ([lindex [split [chattr $hand | $channel] |] 1])."                    }                }            }</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6300">r0t3n</a> — Mon Jun 25, 2007 10:40 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2007-06-24T19:08:14-04:00</updated>

		<published>2007-06-24T19:08:14-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73876#p73876</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73876#p73876"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73876#p73876"><![CDATA[
[join] is applied on a list to convert it into a string. So don't apply it on a string (i.e. don't use it in 'set hand [join [lindex [split $text] 1]]').<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Sun Jun 24, 2007 7:08 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[r0t3n]]></name></author>
		<updated>2007-06-24T18:59:39-04:00</updated>

		<published>2007-06-24T18:59:39-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73875#p73875</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73875#p73875"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73875#p73875"><![CDATA[
I tried your fix but:<br><div class="codebox"><p>Code: </p><pre><code>[23:57:41] &lt;r0t3n&gt; ?adduser[23:57:42] -p-Trojan- SYNTAX: ?adduser &lt;nickname&gt; &lt;handle&gt; &lt;level&gt; (Levels: owner, master, op, voice, ban).[23:57:50] &lt;r0t3n&gt; ?adduser \r0t3n r0t3nn owner[23:57:51] -p-Trojan- { isn't on #trojan.test.</code></pre></div>current code:<br><div class="codebox"><p>Code: </p><pre><code>        switch -exact -- $command {            "adduser" - "add" {                if {![matchattr $handle nm|nm $channel]} {                    putserv "NOTICE $nickname :Error: Only channel owners/masters can add users to $channel."                    return                }                set who [lindex [split $text] 0]                #set who [string map { \\{ \\\{ \\} \\\} \\[ \\\[ \\] \\\] \\\\ \\\\\\ } [lindex $text 0]]                #if {![string equal -nocase $who [set who2 [string map { \\ \\\\\ } $who]]]} {                #  set who [string map { " " "" } $who2]                #}                #set who [join $who]                set hand [join [lindex [split $text] 1]]                set lev [lindex [split $text] 2]</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6300">r0t3n</a> — Sun Jun 24, 2007 6:59 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sir_Fz]]></name></author>
		<updated>2007-06-23T17:18:09-04:00</updated>

		<published>2007-06-23T17:18:09-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73829#p73829</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73829#p73829"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73829#p73829"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code>set who [lindex [split $text] 0]</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=3085">Sir_Fz</a> — Sat Jun 23, 2007 5:18 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[r0t3n]]></name></author>
		<updated>2007-06-23T13:03:18-04:00</updated>

		<published>2007-06-23T13:03:18-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=73824#p73824</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=73824#p73824"/>
		<title type="html"><![CDATA[string map help]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=73824#p73824"><![CDATA[
I have:<br><div class="codebox"><p>Code: </p><pre><code>        switch -exact -- $command {            "adduser" - "add" {                if {![matchattr $handle nm|nm $channel]} {                    putserv "NOTICE $nickname :Error: Only channel owners/masters can add users to $channel."                    return                }                set who [string map { \\{ \\\{ \\} \\\} \\[ \\\[ \\] \\\] \\\\ \\\\\\ } [lindex $text 0]]                #set who [join $who]                set hand [join [lindex [split $text] 1]]                set lev [lindex [split $text] 2]                if {$who == ""} {                    putserv "NOTICE $nickname :SYNTAX: ${lastbind}$command &lt;nickname&gt; &lt;handle&gt; &lt;level&gt; (Levels: owner, master, op, voice, ban)."                } elseif {$hand == ""} {                    putserv "NOTICE $nickname :SYNTAX: ${lastbind}$command &lt;nickname&gt; &lt;handle&gt; &lt;level&gt; (Levels: owner, master, op, voice, ban)."                } elseif {$lev == ""} {                    putserv "NOTICE $nickname :SYNTAX: ${lastbind}$command &lt;nickname&gt; &lt;handle&gt; &lt;level&gt; (Levels: owner, master, op, voice, ban)."                } elseif {![onchan $who $channel]} {                    putserv "NOTICE $nickname :$who isn't on $channel."                } elseif {[validuser [nick2hand $who]]} {                    putserv "NOTICE $nickname :$who is already known as '[nick2hand $who]'. Please use ${lastbind}access $who \?level\? to modify $who's access on $channel (Levels: owner, master, op, voice, ban)."                } elseif {[regexp {\!|\{|\}|\[|\]|\(|\)|\"|\$|\%|\||\&amp;|\*|^[0-9]$} $hand]} {                    putserv "NOTICE $nickname :The handle can't contain illegal characters (!|\{|\}|\[|\]|\(|\)|\"|\$|\%|\||\&amp;|\*)."                } elseif {[string length $hand] &lt; 2 || [string length $hand] &gt; 9} {                    putserv "NOTICE $nickname :The handle length must be between 2-9 characters long."                } elseif {[validuser $hand]} {                    putserv "NOTICE $nickname :Handle '$hand' is already taken. Please try again with a different handle."                } else {                   # adduser code here</code></pre></div>I works 100% fine with all nicks except a nickname with a \ in it.<br><br>\\r0t3n works fine, however when \r0t3n is used, it either ends up with r0t3n or 0t3n and says user is not found on channel.<br><br>I how i get the string map to work with \<br><div class="codebox"><p>Code: </p><pre><code>set who [string map { \\{ \\\{ \\} \\\} \\[ \\\[ \\] \\\] \\\\ \\\\\\ } [lindex $text 0]]</code></pre></div>Thanks in advance!<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=6300">r0t3n</a> — Sat Jun 23, 2007 1:03 pm</p><hr />
]]></content>
	</entry>
	</feed>
