04/06/2013, 00:05
merci pour l'indice mais j'étais déjà dessus car je relisais le wiki justement, et dans le même temps je venais de comprendre ce que tu me disais quand il manquait un truc énorme :) ben oui je ne l'avais pas vu avant désolé mais bon j'ai rectifier du coup et j'ai rajouté à ma proc search le putbot qu'il manquait ce qui donne:
Voila ca l'air de fonctionner mais je pense que je peux écrire ce code mieux que ca en mettant des foreach dans ma proc et va sera plus joli en plus :) bref je ne sais pas trop...
Par contre je ne peux pas utiliser le même script partager sur les 2 bot je suis obliger de faire un script par bot avec le nom de l'autre bot sur le BotNet et vice et versa.... Oulla je sais pas si je suis clair la :)
Bref je vais tester comme ca voir ce que ca donne... Et surtout lire bien ce wiki...
Nos...
TCL
# 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"
# 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}"
}
foreach { bot } [split $::bots " "] {
putbot $bot "::search ${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}"
}
}
Voila ca l'air de fonctionner mais je pense que je peux écrire ce code mieux que ca en mettant des foreach dans ma proc et va sera plus joli en plus :) bref je ne sais pas trop...
Par contre je ne peux pas utiliser le même script partager sur les 2 bot je suis obliger de faire un script par bot avec le nom de l'autre bot sur le BotNet et vice et versa.... Oulla je sais pas si je suis clair la :)
Bref je vais tester comme ca voir ce que ca donne... Et surtout lire bien ce wiki...
Nos...