PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : brauche mal hilfe mit TCL script


FmK
29.03.2005, 19:05
moin gemeinde,

hoffe mal es kann mir einer unter die arme greifen,

ich habe ein eggdrop bot im irc laufen und ihm folgendes TCL script mit auf den weg gegeben...

set ver "1.0"
# Change dumpfile to the path where you'd like the file to be written.
set dumpfile "/var/www/bio-project.net/forums/irc/cache.txt"
# Change channel to the channel whos nicklist you'd like to write.
set channel "#bio-project"

# You may remove these binds if you'd like to only use the 5 minute timer
bind sign - "$channel %" nickplus:sendnames
bind part - "$channel %" nickplus:sendnames
bind splt - "$channel %" nickplus:sendnames
bind join - "$channel %" nickplus:sendnames
bind kick - "$channel %" nickplus:sendnames
bind nick - "$channel %" nickplus:sendnames
bind mode - "$channel %" nickplus:sendnames

# Leave the rest well enough alone :)
bind raw - "353" nickplus:make

proc nickplus:sendnames {args} {
global channel
putserv "NAMES $channel"
}

proc nickplus:make {from keyword argz} {

global dumpfile channel botnick

set nicklist [lsort [lrange $argz]]

set masterlist ""
set flist ""
set plist ""
set olist ""
set hlist ""
set vlist ""
set rlist ""

foreach user $nicklist {
if {[string first "~" $user] == 0} {
lappend flist $user
} elseif {[string first "&" $user] == 0} {
lappend plist $user
} elseif {[string first "@" $user] == 0} {
lappend olist $user
} elseif {[string first "%" $user] == 0} {
lappend hlist $user
} elseif {[string first "+" $user] == 0} {
lappend vlist $user
} else {
lappend rlist $user
}
}

set flist [lsort -dictionary $flist]
set plist [lsort -dictionary $plist]
set olist [lsort -dictionary $olist]
set hlist [lsort -dictionary $hlist]
set vlist [lsort -dictionary $vlist]
set rlist [lsort -dictionary $rlist]

foreach user $flist {
lappend masterlist $user
}
foreach user $plist {
lappend masterlist $user
}
foreach user $olist {
lappend masterlist $user
}
foreach user $hlist {
lappend masterlist $user
}
foreach user $vlist {
lappend masterlist $user
}
foreach user $rlist {
lappend masterlist $user
}

set outputfile [open $dumpfile w]

foreach user $masterlist {
puts $outputfile $user
}

close $outputfile

putlog "NickPlus : Written"

return 1
}
if {![info exists nickplus_running]} {
timer 300 nickplus:sendnames
set nickplus_running 1
}
nickplus:sendnames
putlog "NickPlus : Loaded"

mein problem ist nun die ausgabe des scripts, ich möchte, das zwischen den nicks ein trennzeichen eigefügt wird... z.b. ein ;

wo oder wie kann ich dem tcl das beibrigen?

thx FmK


FmK
29.03.2005, 19:39
sorry, hab vergessen euch zu zeigen wie die ausgabe imo ausschaut

ocb = #Bio-Project :@Stu666 ~FmK +scanner %Litamaus &LordHelmchen +frodo %Priester @Thor77 %Franco %Ruffnick &Tronic +Sch3cki_zZzZz +Ringer @Madman %Devildice @Kutte &ocb @backhand @Topgun

FmK
31.03.2005, 20:53
keiner ne ahnung :confused:

Sidney007
01.04.2005, 16:17
Hi...

ich benutze dafür immer:

set separator "-"

MfG Sidney007

FmK
01.04.2005, 23:04
Hi...

ich benutze dafür immer:

set separator "-"

MfG Sidney007

hi,

und wie oder wo bindest du das ein?

mfg FmK