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

	<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>2002-11-08T18:38:08-04:00</updated>

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

		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2002-11-08T18:38:08-04:00</updated>

		<published>2002-11-08T18:38:08-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=12958#p12958</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=12958#p12958"/>
		<title type="html"><![CDATA[script: string's problems]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=12958#p12958"><![CDATA[
<blockquote class="uncited"><div>### ChanServ's list synchronizer v1.2 for eggdrop<br>### Written by Progeny &lt;<a href="mailto:progeny@azzurra.org">progeny@azzurra.org</a>&gt;<br>###<br>### Now your eggdrop may be sinchronized to the channel's op list.<br>### You don't add manually any op to your eggdrop!<br><br>### Thanks to C|ty_Hunter, Neiken for the helpful test <br><br>set csrehash 15<br><br>set tmpchans ""<br>set dyntmpchan ""<br>set tmpnick ""<br>set gnick ""<br>set gchan ""<br>set gcmd ""<br><br>set csmask "ChanServ!<a href="mailto:service@azzurra.org">service@azzurra.org</a>"<br>set liststrig "*list di*"<br>set xoplist "*) * (*) by *"<br>set stopcode "Fine della Lista"<br><br>bind pub - !op giveop<br>bind pub - !deop takeop<br>bind pub - !ban buser<br>bind pub - !kick kickuser<br>bind pub n !csrehash rehashlists<br>bind raw - "NOTICE" addoptolist<br>bind raw - 307 setid<br><br>set flood-msg 0<br><br>proc checkid {nick} {<br>putserv "whois $nick"<br>}<br><br>proc setid {from keyword text} {<br>global gnick gchan gcmd<br>checkop $gnick $gchan $gcmd<br>}<br><br>proc checkop {nick channel comando} {<br>global tmpchans greason<br>foreach tmpchan $tmpchans {<br><br>set dynnick [lindex [split $tmpchan ":"] 0]<br>set dynchan [lindex [split $tmpchan ":"] 1]<br>if {([string tolower $nick] == [string tolower $dynnick]) &amp;&amp; ([string tolower $channel] == [string tolower $dynchan])} {<br>if {[string tolower $comando] == "op"} { putserv "mode $channel +o $nick" }<br>if {[string tolower $comando] == "deop"} { putserv "mode $channel -o $nick" }<br>if {[string tolower $comando] == "kick"} { putserv "kick $channel $nick :$greason" }<br>if {[string tolower $comando] == "ban"} { putserv "mode $channel +b [getchanhost $nick]"<br>putserv "kick $channel $nick :$greason"<br>}<br><br>}<br>}<br>}<br><br>proc giveop {nick uhost handle channel text} {<br>global gcmd gchan gnick<br>set gnick $nick<br>set gchan $channel<br>set gcmd "op"<br>checkid $nick<br>}<br><br>proc takeop {nick uhost handle channel text} {<br>global gcmd gchan gnick<br>set gnick $nick<br>set gchan $channel<br>set gcmd "deop"<br>checkid $nick<br>}<br><br>proc buser {nick uhost handle channel text} {<br>global gcmd gchan gnick greason<br>set gnick [lindex $text 0]<br>set gchan $channel<br>set gcmd "ban"<br>set greason [lrange $text 1 end]<br>checkid $nick<br>}<br><br>proc kickuser {nick uhost handle channel text} {<br>global gcmd gchan gnick greason<br>set gnick [lindex $text 0]<br>set gchan $channel<br>set gcmd "kick"<br>set greason [lrange $text 1 end]<br>checkid $nick<br>}<br><br>proc rehashlists {nick uhost handle channel text} {<br>sendrehash<br>}<br><br>proc sendrehash {} {<br>global tmpchans csrehash<br>set tmpchans ""<br>foreach chan [channels] {<br>puthelp "PRIVMSG ChanServ :aop $chan list"<br>puthelp "PRIVMSG ChanServ :sop $chan list"<br>puthelp "PRIVMSG ChanServ :cf $chan list"<br>}<br>dccbroadcast "CS Synch: Updating CS lists."<br>timer $csrehash sendrehash<br>}<br><br>proc addoptolist {from keyword text} {<br>global csmask liststrig xoplist tmpchans dyntmpchan tmpnick stopcode<br>if {[string tolower $from] == [string tolower $csmask]} {<br><br>if {[string match [string tolower $liststrig] [string tolower $text]]} {<br>set dyntmpchan [lindex $text 4]<br>regsub -all "\002" $dyntmpchan "" dyntmpchan<br>}<br>}<br><br>if {[string match [string tolower $xoplist] [string tolower $text]]} {<br>set tmpnick [lindex $text 3]<br>regsub -all "\002" $tmpnick "" tmpnick<br>lappend tmpchans "$tmpnick:$dyntmpchan"<br>}<br>}<br><br>timer $csrehash sendrehash<br>putlog "ChanServ's list synchronizer"</div></blockquote>This is my script. It works fine but if the nick of user to kick or ban contains bad chars don't works! i.e. if the nick to kick contains the char 0, tcl don't works!<br>Anyone has suggestions?<p>Statistics: Posted by Guest — Fri Nov 08, 2002 6:38 pm</p><hr />
]]></content>
	</entry>
	</feed>
