PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eggdrop, benötige hilfe bei dem !add script


desire
17.05.2005, 23:06
also es geht um folgendes, ich habe das script hier soweit geschrieben... dieses script soll bewirken, wenn ich dem eggdrop im irc-query "!add ein.release-ha" eintippe, dass der es dann in der datei releases speichert, und sofort in den channel postet, so wie ich es in dem script bereits eingefügt habe. wenn das gleiche rel jedoch später nocheinmal geadded werden will von einem anderen user ode rso, dass soll es nciht funktionieren, da es bereits in der datei releases.txt drin steht.
beim testen kommt jedoch folgender fehler wenn ich es über die partyline beobachte:
[22:53] Tcl error [settapre]: invalid command name "           "


set releases "home\test\eggdrop\releases.txt"
set channel "#xxx"

bind msg - !addnew settanew
bind msg - !addpre settapre


proc settanew { nick uhost hand arg } {
*** ******* global neworpre
*********** set neworpre "new"
*********** newpre "$arg" "$nick"
}

proc settapre { nick uhost hand arg } {
*********** global neworpre
*********** set neworpre "pre"
*********** newpre "$arg" "$nick"
}

proc newpre { arg nick } {
*********** global channel releases neworpre
*********** set trovato 0
*********** if {[llength $arg] == 1 } {
*********************** set fs [open "$releases" r]
*********************** while {(![eof $fs]) && ($trovato == 0)} {
*********************** *********** gets $fs line
********************************** if {[string match -nocase "[lindex $arg 0]" $line]} {
********************************************** set trovato 1
********************************** }
*********************** }
*********************** close $fs
*********************** if {$trovato == 0} {
********************************** set fs [open "$releases" a]
********************************** puts $fs "[lindex $arg 0]"
********************************** close $fs
********************************** if {$neworpre == "new"} {
********************************************** set ris "\002\[NEW\]\002 [lindex $arg 0] \002\[NEW\]\002"
********************************** } else { set ris "\002\[PRE\]\002 [lindex $arg 0] \002\[PRE\]\002" }
********************************** set ris2 "$ris $nick"
********************************** putserv "PRIVMSG $channel :$ris2"
*********** *********** }
*********************** return 0
*********** }
*********** return 0
}


PS: die **** sind irgendwie nur hier angezeigt ;) nicht bei meiner *.tcl datei :P

bitte hleft mir,
desire


ind00r
17.05.2005, 23:34
sicher das dort "           " steht?

bzw nehme mal nicht arg sondern eine andere variable.

und setze den Pfad dann auch bitte richtig
set releases "\home\test\eggdrop\releases.txt"

Außerdem brauchst du bei Linux kein .txt :)

desire
17.05.2005, 23:42
ok habe den fehler berichtigt im script und auch mal ne andere variable probiert... aber es kommt wieder der tcl error :(
vielleicht kan jemand das script überarbeiten und weiß woran es genau liegt, ode rkann es komplett besser gestalten?

mfg
desire

ChaosKrieger
18.05.2005, 06:25
erstmal wird das hier gelesen:

http://www.coding-board.de/board/showthread.php?t=14930

und dann machst du deine ganzen *** aus dem script herraus egal wie es bei dir aussieht,
mach sie raus

By Chaos