Bannir un user sur son extension [résolu]
#1
Bonjour voila je vous expose mon problème.

J'aimerais savoir comment mon eggdrop pourrais ban un pseudo sur son extension.

exemple pseudo de base ==> loulou

et je voudrais que l'eggdrop si le pseudo deviens ==> loulou|blabla

Merci de vos futurs reponses.
Répondre Avertir
#2

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.
Répondre Avertir
#3
Donc si je veux juste bannir l'extension blabla ca donnera

TCL
newchanban $chan "[regsub -nocase {([\^\]\[`|_\-\\\{\}])(.*)} $nick "blabla"]*!*@*" $::botnick "message de ban"


Répondre Avertir
#4
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 \
Répondre Avertir
#5
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
Répondre Avertir
#6
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 :]
Répondre Avertir
#7
oki je vais essayer ca et je tiens au courant.

Merci de l'aide.
Répondre Avertir
#8
Ca fonctionne.

Merci beaucoup
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté