03/06/2013, 12:47
Bonjour,
Je reviens vers vous, car apparemment je n'ai pas tout compris.
Donc je souhaiterai que l'on m'explique ou ça ne va pas et surtout pourquoi ce que je fais ne tourne pas.
explication de ce que j'essaye de faire:
- commande pour rechercher dans ma base de donnée des articles sous la forme --> !search <articles> (ca marche enfin :) )
- envoyer au bot qui sont relier entre eux sur le BotNet l'affichage de ce qui a été trouvé (sur un autre network et sur un autre canal), la commande qui a été tapé pour avoir ce résultat.
voici mon code:
si vous le souhaitez je peux 'pour chaque ligne' vous dire pourquoi je le fait comme ca (enfin ce que j'ai dans la tête au moment ou je l'écris comme ca :))...
Merci d'avance,
Nos...
Ps: ces codes sont tiré de plusieurs codes TCL trouver sur le net, et écrite en fonction des divers doc que j'ai lu sur le net, etc....
Je reviens vers vous, car apparemment je n'ai pas tout compris.
Donc je souhaiterai que l'on m'explique ou ça ne va pas et surtout pourquoi ce que je fais ne tourne pas.
explication de ce que j'essaye de faire:
- commande pour rechercher dans ma base de donnée des articles sous la forme --> !search <articles> (ca marche enfin :) )
- envoyer au bot qui sont relier entre eux sur le BotNet l'affichage de ce qui a été trouvé (sur un autre network et sur un autre canal), la commande qui a été tapé pour avoir ce résultat.
voici mon code:
Code :
# CONFIGURATION MySQL:
set ::MySQL(HOSTNAME) "localhost"
set ::MySQL(USERNAME) "xxxxxx"
set ::MySQL(PASSWORD) "xxxxxxxxxx"
set ::MySQL(DATABASE) "db"
set ::MySQL(PORT) "3306"
# CONFIGURATION canal et bots:
set chan1 "test1"
set chan2 "test2"
set bots "Excalibur Legolas"
# CONFIGURATION commande:
bind pub - !search search
package require mysqltcl;
proc search { nick uhost hand chan arg } {
if {[catch {set ::MySQL(Handle) [mysqlconnect -host $::MySQL(HOSTNAME) -user $::MySQL(USERNAME) -password $::MySQL(PASSWORD) -port $::MySQL(PORT) -db $::MySQL(DATABASE)]} errorMsg] } {
putserv "PRIVMSG $chan2 :$errorMsg";
mysqlclose $::MySQL(Handle);
return 0;
}
set args [string map [list "*" "%" " " "%"] $arg];
set articles [mysqlsel $::MySQL(Handle) "SELECT `reference`, `articles` FROM `db` WHERE `articles` LIKE '%$args%' ORDER BY `articles` DESC LIMIT 5" -flatlist]
if {$articles == ""} {
putquick "PRIVMSG $chan2 :Aucun résultat."
} elseif {$articles != ""} {
foreach {reference articles} $articles {
putquick "PRIVMSG $chan2 :${reference} ${articles}"
}
}
mysqlclose $::MySQL(Handle);
}
# CONFIGURATION pour le botnet:
bind bot - ::search bot:search
proc bot:search { from_bot cmd text } {
global chan1 chan2
set args [split $text " "]
set reference [lindex $args 0]
set articles [lindex $args 1]
foreach { chan } [split $chan2 " "] {
putquick "PRIVMSG $chan2 :${reference} ${article}"
}
}
si vous le souhaitez je peux 'pour chaque ligne' vous dire pourquoi je le fait comme ca (enfin ce que j'ai dans la tête au moment ou je l'écris comme ca :))...
Merci d'avance,
Nos...
Ps: ces codes sont tiré de plusieurs codes TCL trouver sur le net, et écrite en fonction des divers doc que j'ai lu sur le net, etc....