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
.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