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
30/08/2020, 15:15 (This post was last modified: 30/08/2020, 16:48 by aliasangelius.)
Salut,
Alors je n'es pas pris ton dernier code en exemple.., j'ai adapter un code que j'avais fait ya une époque, juste histoire que tu es une idée en mettant ta partie à toi dedans.
Je ne dit pas ça fonctionne, mais dans le principe nous sommes dans ce type de cas la pour ce que tu recherche plus ou moins.
Concernant ton dernier code posté, j'ai du mal avec les codes couleurs mirc, et des appels de global botnick etc.. inutile..
Voici le rendu du code, il reste à toi de le tester, et de voir la compréhension de ceci.
Je te laisse libre recours de faire des modifications etc..
tcl
#*******************## Publicite.tcl ##*******************#namespaceeval ::publi{# Salon ou va se situé le TCL.variable salons "#salon"# Nom du fichier ou seront les pseudos.variable fichiers "publi_salon.db"# Procédure de création du fichier.if{![file exists $fichiers]}{setload[open$fichiers w+]close$loadputlog"\2Je crée le fichier $fichiers\2"}# Procédure d'ajout d'annonces.bindpub o "!addpub"[namespace current]::add:pubproc add:pub{nick host hand chan args }{variable salons
setpub[lrange$args0 end]if{$salons == ""}{puthelp"notice $nick :Syntaxe => !addpub < message >"return0}if{![file exists "scripts/annonce.txt"]}{set files [open"scripts/annonce.txt" a+]close$files}set num [expr{int(rand()*37)}]set files [open"scripts/annonce.txt" a+]puts$files"$pub"close$filesputhelp"notice $nick :Annonce enregistre"}else{puthelp"notice $nick :Erreur Salon"}}#Timer phrase aléatoire.set fichier "/home/D/shell/scripts/annonce.txt"set fi [open$fichier"r"]set phrases [split[read -nonewline $fi]"\n"]close$fibindcron - "*/20 * * * *" randlecture
proc randlecture {mm hh dd mo yy}{set laphrase [lindex$::phrases[rand[llength$::phrases]]]variable salons
putserv"PRIVMSG $salons :$::laphrase"}# Procédure d'ajout de pseudo.bindpub o ".+autorise"[namespace current]::+ajout
proc +ajout {nick host hand chan arg }{variable fichiers
variable salons
set temp [lindex$arg0]if{$temp == ""}{putserv"NOTICE $nick :Utilisation: .+autorise <pseudo>"putserv"NOTICE $nick :Exemple .+autorise $nick"return0}set lis "[fread $fichiers]"if{[lsearch -exact "x $fichiers""$temp"]!="0"}{lappend lis $temp
fwrite $fichiers$tempputserv"NOTICE $nick :\002$temp\002 \0034a été ajouté\0034"putserv"PRIVMSG $salons :\002$temp\002 \0034est ajouté au pseudos autorisé\0034"return0}putserv"NOTICE $nick :\002Erreur:\002$temp\002 \0034est déjà dans la liste\0034"return0}# Procédure de suppression de pseudo.bindpub o ".-autorise"[namespace current]::-ajout
proc -ajout {nick host hand chan arg }{variable fichiers
variable salons
set temp [lindex$arg0]if{$temp == ""}{putserv"NOTICE $nick :Utilisation: .-autorise <pseudo>"putserv"NOTICE $nick :Exemple: .-autorise $nick"return0}set autoajout "[fread $fichiers]"set tmp ""foreach bb $autoajout{if{![string match $temp$bb]}{lappend tmp $bb}}
fdel $fichiers$tmpputserv"NOTICE $nick :\002$temp\002 \0034supprimé des pseudos\0034"putserv"PRIVMSG $salons :\002$temp\002 \0034est supprimé des pseudos\0034"return0}# Procédure pour voir la liste des pseudos.bindpub o ".autorise"[namespace current]::autoproc auto {nick host hand chan arg }{variable fichiers
variable salons
set fp [open$fichiers"r"]set fc -1putserv"notice $nick :\037\00300,01 -> Liste des pseudos. <-\037\003"while{![eof$fp]}{set data [gets$fp]incr fc
if{$data!=""}{putserv"notice $nick :\0031\[\0034$data\0031\0031 ]\0031"}
unset data
}close$fpputserv"notice $nick :\037\00300,01 -> Fin de la liste des pseudos. <-\037\003"}# Ne pas toucher Systeme Proc !!# Procédure d'écriture de fichier.proc fwrite {fi arg}{set f [open$fi a]puts$f$argclose$f}# Procédure de suppression de fichier.proc fdel {fi arg}{set f [open$fi w]puts$f$argclose$f}# Procédure de lecture de fichier.proc fread {fi}{set f [open$fi r]set t [gets$f]close$freturn$t}}putlog"\002\0034Chargement.. \002\037\0031Publicite.tcl by Datura\037\0031"
Ton code je l'ai juste copié coller, j'ai juste corrigé ta variable que tu n'as jamais modifié suite à la demande de @CrazyCat