23/05/2009, 01:44 (Modification du message : 23/05/2009, 01:46 par MenzAgitat.)
Très mignon en bleu centré, mais je ne suis pas certain d'avoir compris exactement ce que tu veux (si tu te relis, tu comprendras sans doute pourquoi)
Cependant, mon intuition me dit que ceci peut t'être utile :
tcl
newchanban $chan"[regsub -nocase {([\^\]\[`|_\-\\\{\}])(.*)} $nick ""]*!*@*"$::botnick"message de ban"
Ca prend en compte les caractères de séparation [ ] { } \ - _ | ^ ` qu'on retrouve fréquemment dans les pseudos.
Le résultat pour MenzAgitat[ZZZzzzZz] par exemple sera un ban sur MenzAgitat*!*@*
C'est dans ces cas là qu'on mesure la puissance des expressions régulières (regexp et regsub entre autres) et je ne peux que t'inciter à de documenter dessus.
23/05/2009, 13:11 (Modification du message : 23/05/2009, 13:52 par Artix.)
Pour bannir un pseudo sur son "extension" (par exemple, [ZZZzzzZz] dans MenzAgitat[ZZZzzzZz]), tu peux utiliser ceci :
tcl
set resultat ""regexp -nocase {^(.*?)([\^\]'`\[_\-\\\{\}]+.*)$}$nick truc truc resultat
newchanban $chan"*[set resultat]!*@*"$::botnick"message de ban"
Bien sur, il faut que les variables $chan et $nick existent et soient définies pour que cela fonctionne
Edit: Ah par contre, sans le set au début, le script renverra une erreur si il n'est pas possible de trouver l' "extension" (car la regexp n'est pas matchée)
NOTE 2: Le truc affiché dans les balises TCL est faux !
Apparament un des carractères passe mal, entrainant l'apparition de ce \
serais t'il possible d'avoir l'exemple si je veux bannir l'extension |OnAir c'est à dire que n'importe quel pseudo qui à en extension |OnAir soit banni du salon ???
car je ne comprend pas ==> $nick truc truc resultat
23/05/2009, 14:00 (Modification du message : 23/05/2009, 14:00 par Artix.)
Bon, en admettant que tu veuille simplement bannir les extensions directement, tu peux faire beaucoup plus simple
Voila un script qui devrait faire l'affaire :
tcl
proc ::banExtension{nick uhost hand chan text}{set text [lindex[split$text]0]
newchanban $chan"*[set text]!*@*"$::botnick"message du ban"}
bind pub n !banextension ::banExtension
A noter que tu peux modifier le !banextension en bas pour changer la commande
Ou bien, le n en -|o si tu veux que les ops du canal (dans l'eggdrop) puissent l'utiliser
Edition: Auquel cas t'as plus qu'a faire !banextension |OnAir, et c'est bon :]