Je viens poster car j ai besoin d une petite aide en ce qui concerne une proc qui permet d ajouter 3 éléments dans un fichier.
En fait, quand j'ajoute une fois un pseudo, il le met bien dans le fichier mais si je retape une seconde fois le même pseudo, il va l'ajouter dans le fichier au lieu de le bloquer.
Merci
je vous c/c ma proc :
tcl
bind pub A .+protect moderation::.+protect
proc .+protect {nick hand host chan arg}{variable moderation
variable salons
set temp [lindex$arg0]if{$temp=="" || ![string match *@*$temp]}{
putquick "NOTICE $nick :\2Utilisation:\2 .+protect <pseudo*!*@*> ou <*!*@host>"
putquick "NOTICE $nick :\0034Exemple:\2 .+protect toto*!*@* ou *!*@000000.fr"return0}set x 0foreach data $moderation(data){if{[string match [lindex$data0]$chan]&&[string match [lindex$data1]$arg]&&[lindex$data0]=="PROTECT"&&[string tolower [lindex$data1]]==[string tolower [lindex$arg0]]}{set x 1}}if!$x{lappend moderation(data)"$chan PROTECT [join $temp]"
putquick "PRIVMSG $chan :\002$temp est ajouté à la liste des protégés"}else{
putquick "PRIVMSG $chan :\002 $temp est déja dans la liste des protégés"}}
Si les Cons volaient, certains seraient Chef d'Escadrille !
13/01/2013, 10:04 (Modification du message : 13/01/2013, 10:05 par djkenny.)
salut,
essais de remplacer ça
tcl
if{[string match [lindex$data0]$chan]&&[string match [lindex$data1]$arg]&&[lindex$data0]=="PROTECT"&&[string tolower [lindex$data1]]==[string tolower [lindex$arg0]]}{
par
if{[string equal -nocase [lindex$data0]$chan]&&[string match -nocase [lindex$data1][lindex$arg0]]&&[lindex$data0]=="PROTECT"}{
C'est en reconnaissant ses erreurs que l'on progresse
16/02/2013, 15:54 (Modification du message : 16/02/2013, 15:58 par Asylum.)
Bonjour,
Je reviens vers vous pour un autre petit soucis toujours dans le même tcl. En fait, lorsque je tape une commande sur un #salonX ( exmple : .+protect pseudo*!*@* , ca note bien dans la db ( #salonX PROTECT pseudo*!*@* ).
Le bot gère donc 2 salons. Dans ma db j'ai donc ( #salonX PROTECT pseudo*!*@* et #salonY PROTECT pseudo*!*@* ). Jusque là tout va bien.
Lorsque je demande à voir la liste des protégés pour le salonX, le bot me donne tous les protégés des 2 salons (#salonX #salonY).
Je vous c/c ma proc en espérant que quelqu'un pourrait m'aiguiller.
tcl
proc protectlist {nick host hand chan arg}{variable moderation
variable salons
set x 0set d ""if{[lsearch[string tolower $salons][string tolower $chan]]==-1}{putquick "NOTICE $nick :\002Erreur:\002 $chan n'est pas un salon que je modère actuellement";return}foreach data $moderation(data){if{[lindex$data1]!="PROTECT"}continueset x 1lappend d [lindex$data2]if{[llength$d]==10&&[lsearch[string tolower $salons][string tolower $chan]]==1}{
putquick "NOTICE $nick : $chan PROTECT [join $d]"set d ""}}if{[llength$d]>0&&[lsearch[string tolower $salons][string tolower $chan]]==1}{
putquick "NOTICE $nick : $chan PROTECT [join $d]"set d ""}if!$x{putquick "NOTICE $nick : Liste Protect vide."}}
Merci d'avance
Si les Cons volaient, certains seraient Chef d'Escadrille !
16/02/2013, 22:39 (Modification du message : 17/02/2013, 05:02 par Asylum.)
Merci CrazyCat
J'ai testé ta ligne qui ne fonctionnait pas également ( j'avais toujours la même chose ). J'ai modifié la proc directement et là, çà fonctionne niquel.
Plus aucune erreur.
Cdt,
Si les Cons volaient, certains seraient Chef d'Escadrille !