11/09/2013, 18:44
(Modification du message : 19/10/2013, 21:43 par MenzAgitat.)
Bonjour,
j'ai un soucis avec ce script. quand le bot détecte les informations a mettre dans la base de donné, si "age" et "an" ne sont pas vide il doit passer et refermer la connexion, dans le cas ou c'est vide je souhaite faire un update pour entrer les données et annoncer sur un canal l'info. mais si l'info arrive plusieurs fois de plusieurs bot différent c'est autant de fois répéter, moi je souhaiterai qu'il soit répéter qu'une fois et comme par la suite ce n'est plus vide qu'il ne fasse rien d'autre.
Merci pou votre aide,
Nos...
j'ai un soucis avec ce script. quand le bot détecte les informations a mettre dans la base de donné, si "age" et "an" ne sont pas vide il doit passer et refermer la connexion, dans le cas ou c'est vide je souhaite faire un update pour entrer les données et annoncer sur un canal l'info. mais si l'info arrive plusieurs fois de plusieurs bot différent c'est autant de fois répéter, moi je souhaiterai qu'il soit répéter qu'une fois et comme par la suite ce n'est plus vide qu'il ne fasse rien d'autre.
Merci pou votre aide,
Nos...
Code :
proc addinfo { nick uhost handle chan text } {
global infochan echochan
package require mysqltcl
set mysql(HANDLE) [mysqlconnect -host $::mysql(HOSTNAME) -user $::mysql(USERNAME) -password $::mysql(PASSWORD) -port $::mysql(PORT) -db $::mysql(DB)]
if {$chan != $infochan} { return }
set args [split $text " "]
set name [lindex $args 0]
set age [lindex $args 1]
set an [lindex $args 2]
if { $age == "" || $an == "" } { return }
set sql [mysqlsel $mysql(HANDLE) "SELECT `age`, `an` FROM dbase WHERE `name` = '$name'" -flatlist]
if { $sql == "" } {
mysqlclose $mysql(HANDLE);
return 0;
} else {
set sql2 [mysqlexec $mysql(HANDLE) "UPDATE dbase SET `age` = '$age', `an` = '$an' WHERE `name` = '$name'"]
foreach { chan } [split $echochan " "] {
putquick "PRIVMSG $chan :\[\!iNFO\]\:: $name \:: \[$age\] \[$an\] \[By $nick\] \[1s\]"
}
mysqlclose $mysql(HANDLE)
}
}