PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Gelöst] [eggdrop] kleines einleseproblem


brahma
27.09.2005, 13:50
Also, ich möchte im IRC eingeben können:

.setstatus *eingabe1* *eingabe2*

wobei *eingabe2* mehrere Wörter haben kann/soll, wie z.B. Urlaub bis 19.6.2005.....

folgendes Script habe ich:

proc statussetzen {nick uhost hand chan args} {
global metachan allychan metapartnerchan openallychan hqchan auth
if { ($chan == $allychan) || ($chan == $metachan)|| ($chan == $hqchan)} {
if {[isop $nick $hqchan] } {
global database dbuser pass dbhost
mysql_connect $database $dbhost $dbuser $pass
set dats [split $args " "];
set wer [lindex $dats 0]
set wer [string map {\{ "" \} "" } $wer]
set stat [string range [lindex $args 0] 0 end-0]
set stat [string map {\{ "" \} "" } $stat]
set query "SELECT * FROM tumember WHERE authnick = '$wer' OR nick = '$wer' OR coords = '$wer';"
set answer [mysql_query $query]
if {$answer == ""} {
putserv "NOTICE $nick :Datensatz noch nicht erfasst!"
} else {
set query "UPDATE tumember SET abwesend = '$stat' WHERE authnick = '$wer' OR nick = '$wer' OR coords = '$wer';"
set answer [mysql_query $query]
putserv "NOTICE $nick :Für $wer wurde der Status: $stat eingetragen"
}
}
}
}


Das Script soll dann *eingabe2* in die DB schreiben, und zwar da wo username, koords oder authnick = *eingabe1* ist.

Hab leider bisher nur hinbekommen,das er entweder die komplette variabel $args wegschreibt, oder aber nur das erste Wort von *eingabe2*.

Wie kann ich das sonst lösen?

PS: Ist vielleicht ganz einfach, aber ich hab keine Idee mehr wie das machbar ist..... :o


ind00r
27.09.2005, 20:03
Also ich würde das etwas kürzer machen:


proc statussetzen {nick uhost hand chan text} {

set wort_1 [lrange $text 0 0]
set rest [lrange $text 1 end]

mysql bla bla


}

brahma
27.09.2005, 22:01
Danke Dir, das war genau das was ich brauchte!

Hätte nicht gedacht das es so einfach geht.... http://coding-board.de/board/images/smilies/tongue.gif

ind00r
28.09.2005, 20:31
Vielleicht kann man es auch "größer" schreiben, aber ich bin eher Anhänger des kurzen übersichtlichen Codes :)