Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique.
x
Je souhaite créer un tcl d'annonce où un utilisateur puisse renseigner un message et que ce message soit dit par l'eggdrop toutes les X minutes.
J'ai commencé à faire ça :
il nous manque donc beaucoup du dit tcl, si tu le mettais complet, peut etre pourrions nous voir si il y a des erreurs ( le bot a bien des droits en eciture sur le ftp/shell ? )
Vu que c'est pour faire du append (ouverture du fichier en a+), quel est l'intérêt de ta vérification de l'existence du fichier ? Il sera de toutes manières créé.
Et quel intérêt d'utiliser putspeed (qui n'est pas une commande native si j'ai bonne mémoire) alors que tu as 4 tampons de sortie qui te permettent de choisir ta vitesse ?
Autre point: à quoi te sert ce $num en début de ligne enregistrée ?
Donc là, tu affiches ce qui est dans ton fichier, c'est à dire le numéro aléatoire que tu as inscris, le pseudo de celui qui a ajouté la pub et le texte ? J'ai toujours du mal à comprendre ce numéro bizarre.
Vu que c'est pour faire du append (ouverture du fichier en a+), quel est l'intérêt de ta vérification de l'existence du fichier ? Il sera de toutes manières créé.
Et quel intérêt d'utiliser putspeed (qui n'est pas une commande native si j'ai bonne mémoire) alors que tu as 4 tampons de sortie qui te permettent de choisir ta vitesse ?
Autre point: à quoi te sert ce $num en début de ligne enregistrée ?
Donc là, tu affiches ce qui est dans ton fichier, c'est à dire le numéro aléatoire que tu as inscris, le pseudo de celui qui a ajouté la pub et le texte ? J'ai toujours du mal à comprendre ce numéro bizarre.
Merci pour ta réponse. Pour le putspeed, j'ai un message d'erreur sinon...
Je dois t'avouer que j'ai recupéré ce codage d'un tcl de news et j'essaie de le modifier. C'est peut-être idiot...
J'ai modifié le code qui est le suivant maintenant :
tcl
set fichier "/home/D//shell/scripts/annonce.db"set canal "#salon"set fi [open$fichier"r"]set phrases [split[read -nonewline $fi]"\n"]close$fibindtime - "*01 * * * *" randlecture[b]<= ici c'est bien l'annonce devrait être lue toute les minutes mais j'ai rien, même au bout d'une minute[/b]proc randlecture {mm hh dd mo yy}{set laphrase [lindex$::phrases[rand[llength$::phrases]]]putserv"PRIVMSG $::canal :$laphrase"}bindpub - "!addpub" add:pubproc add:pub{n ht hd ch a}{setpub[lrange$a0 end]if{$ch == "#smoothoff"}{if{$pub == ""}{putspeed "notice $n :Syntaxe => !addpub < message >";return}if{![file exists "scripts/annonce.db"]}{set files [open"scripts/annonce.txt" a+];close$files}# enregistrement de la news #set num [expr{int(rand()*37)}]set files [open"scripts/annonce.db" a+]puts$files"$n $pub"close$files
putspeed "notice $n :Annonce enregistre"}else{
putspeed "notice $n :Erreur Salon"}}
J'aimerai également y mettre un petit système de sécurité sous forme de flag. J'ai tenté de mettre ça :
Je ne pense pas que ton erreur soit proc add:pub {n ht hd ch a} {, copie texto ce que dit l'eggdrop.
Et utilise .set errorInfo pour afficher plus d'infos (cf ce post fort intéressant)
Retrouvez les dernières modifications de mes scripts TCL (versions Alpha/Bêta) ainsi que d'autres de mes réalisations sur ma page GitHub et les versions stables dans la section scripts de ce site 8-)