01/01/2012, 17:49
en fait pour faire le systeme de rotation de base de donnée, j'ai repris une partie d'un code qui se trouve de fun.tcl et j'ai fait comme ceci
j'ai mis un utimer de façon a ce que apres le rehash tout ai le temps de se mettre en place et appelé KAOS_Start mais j'ai donc l'erreur en PL que j'ai montré avant.
tcl
## Systeme de rotation des bases de données #########################
#####################################################################
# Channels où seront envoyés les blagues :
set rotation(chans) "#accueil"
# Intervalle de temps entre chaque blague en minutes (0=désactivé) :
set rotation(time) 120
# Editer ici les blagues :
set rotation(msgs) {
"1.db"
"2.db"
"3.db"
"4.db"
"5.db"
"6.db"
"7.db"
"8.db"
"9.db"
"10.db"
"11.db"
"12.db"
"13.db"
"14.db"
}
#####################################################################
#####################################################################
#####################################################################
#nom du fichier texte à lire
set fname "scripts/quizz.cfg"
proc rot:pub:bot {nick uhost hand channel arg} {
global rot bot botnick
if ![matchattr $nick $rot(ignflags) $channel] {
if {[rot:flood $nick $uhost]} {
return 0
}
}
if {(([lsearch -exact [string tolower $bot(chans)] [string tolower $channel]] != -1) || ($bot(chans) == "*")) && (![matchattr $hand b]) && ($nick != $botnick)} {
putserv "PRIVMSG $channel :[lindex $bot(msgs) [rand [llength $bot(msgs)]]]"
return 1
}
}
if {(($rotation(time) != 0) && (![string match "*rot:rotation*" [timers]]))} {
timer $rotation(time) rot:rotation
}
proc rot:rotation {} {
global rotation
global fname
set f [open "$fname" "a"]
puts $f "KAOSFile=scripts/[lindex $rotation(msgs) [rand [llength $rotation(msgs)]]]"
close $f
foreach channel $rotation(chans) {
rehash
puthelp "PRIVMSG $channel :Rotation de la base de donnée"
puthelp "privmsg $channel :Mise à jour du quizz Veuillez patienter. Redemarrage en cours."
utimer 20 KAOS_Start
}
if {(($rotation(time) != 0) && (![string match "*rot:rotation*" [timers]]))} {
timer $rotation(time) rot:rotation
}
return 1
}
j'ai mis un utimer de façon a ce que apres le rehash tout ai le temps de se mettre en place et appelé KAOS_Start mais j'ai donc l'erreur en PL que j'ai montré avant.