bon j'avance sur la messagerie mais j'ai un bug quelque part
je n'ai toujours pas de message d'enregistré dans ma base mysql
ou est le bug ?
commande sur le chan :
réponse du bot en pv
contenu de la base mysql
[ id ][dest ][date ][message ][etat][ orig]
[ 22 ][teddy ][22-03-2011][ ][unread][ Teddy]
et aucune erreur en pl
Merci de votre aide
je n'ai toujours pas de message d'enregistré dans ma base mysql
ou est le bug ?
tcl
# binds
bind pub - "!memo" memo
# variable mysql
set my_user "tedcampa"
set my_pass "ZfFmTfTYmryESsB9"
set my_db "tedcampa"
set my_host "localhost"
# chargement du module mysql
load /usr/lib/tcltk/mysqltcl-3.05/libmysqltcl3.05.so
proc memo {nick uhost handle chan args} {
### Appel des variables globales ###
global my_user my_pass my_db my_host
### on se prepare a la connection mysql ###
set db_handle [mysqlconnect -host $my_host -user $my_user -password $my_pass -db $my_db ]
### Decoupage de l'arguments ###
set action [lindex $args 0 0]
switch $action {
liste {
### LISTING DES MEMO NON LU ###
### on recherche les memo non lu ###
set sql "SELECT * FROM memo WHERE dest='$nick' AND etat='unread' ORDER BY date"
set result [mysqlquery $db_handle $sql]
set count [mysqlresult $result rows]
if {$count != 0} {
### si il y a quelque chose a afficher on le met en forme ####
while {[set row [mysqlnext $result]] != ""} {
set no [lindex $row 0]
set exp [lindex $row 5]
set dte [lindex $row 2]
putserv "PRIVMSG $nick :Memo id : $no de $exp le $dte"
putserv "PRIVMSG $nick :--------------------------------------------"
}
putserv "PRIVMSG $nick :Pour lire vos memo tapez !memo lire <id>"
} else {
### sinon on informe qu'il n'y a pas de message a lire ###
putserv "PRIVMSG $nick :Vous n'avez pas de memo non lu"
}
}
lire {
### LECTURE DES MEMO ###
### on recupere l'id du memo a rechercher ###
set destid [lindex $args 0 1]
### on recherche le memo identifie <id> ###
set sql "SELECT * FROM memo WHERE dest='$nick' AND id='$destid'"
set result [mysqlquery $db_handle $sql]
set count [mysqlresult $result rows]
if {$count != 0} {
### si il y a un resultat on l'affiche ###
while {[set row [mysqlnext $result]] != ""} {
set no [lindex $row 0]
set dte [lindex $row 2]
set msg [lindex $row 3]
set exp [lindex $row 5]
putserv "PRIVMSG $nick :Memo id : $no de $exp le $dte"
putserv "PRIVMSG $nick :--------------------------------"
putserv "PRIVMSG $nick :$msg"
putserv "PRIVMSG $nick :--------------------------------"
}
### on indique que le memo est lu ###
set sql "UPDATE memo SET etat='read' WHERE id='$destid'"
set result [mysqlquery $db_handle $sql]
} else {
### sinon on affiche un message d'erreur ###
putserv "PRIVMSG $nick :L'id que vous avez saisie ne renvois a aucun memo enregistre"
putserv "PRIVMSG $nick :Verifiez vottre saisie"
}
}
envoi {
### ENVOI D'UN MEMO ###
### on recupere le destinataire, le message et la date ###
set destid [lindex $args 0 1]
set msg [join [lrange $args 2 end]]
set date [strftime "%d-%m-%Y"]
putlog "$nick envoi un message a $destid : $msg"
### on enregistre le message ###
set sql "INSERT INTO memo (dest,date,message,etat,orig) VALUES ('$destid','$date','$msg','unread','$nick')"
if {[mysqlquery $db_handle $sql]} {
### Confirmation de l'envois ###
putserv "PRIVMSG $nick :Votre message a bien ete envoye a $destid"
} else {
putserv "PRIVMSG $nick :Oups il y a un probleme sur l'envoi de votre memo. Reessayez SVP"
}
}
default {
### ACTION INCONNUE ###
putserv "PRIVMSG $nick :Je ne comprend pas votre demande. Merci de la presenter correctement :"
putserv "PRIVMSG $nick :!memo liste : pour consulter la liste de vos memo non lu"
putserv "PRIVMSG $nick :!memo lire <id> : pour lire le memo identifie"
putserv "PRIVMSG $nick :!memo envoi <destinataire> <le message> : pour envoyer un message a quelqu'un"
putserv "PRIVMSG $nick :pour plus de lisibilité il est deconseiller que le message dépasse les 160 caracteres (et ouai meme limitation qu'un SMS)"
}
}
}
commande sur le chan :
Code :
[01:17:04] <Teddy> !memo envoi teddy ceci est un test long
réponse du bot en pv
Code :
[01:17:06] <Edgar> Votre message a bien ete envoye a teddy
contenu de la base mysql
[ id ][dest ][date ][message ][etat][ orig]
[ 22 ][teddy ][22-03-2011][ ][unread][ Teddy]
et aucune erreur en pl
Merci de votre aide