Communauté Eggdrop
Ban sur l'host - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Ban sur l'host (/showthread.php?tid=1163)



Ban sur l'host - Alucard`68 - 01/04/2012

Bonjour,

Je suis entrain de codé un script de modération, avec différente commande mais je sèche sur le ban.

Je n'arrive que a ban sur le pseudo et je veux ban sur l'host...

Voila une partie du code:
TCL
set backroom "#Control"
set vhostmodo {
  *@domaine.tld
  *@domain.tld
}
 
bind pub - !bpropo
 
proc bpropo { nick host hand channel arg } {
  global vhostmodo bpropo
  foreach vhost $vhostmodo {
  if [string match -nocase $vhost $host] {
    putquick "mode $channel +b $arg"
    putquick "kick $channel $arg Veuillez surveiller vos propos !"
    putquick "PRIVMSG $::backroom :\0037$nick \00312a kick\0034 $arg \00312du salon\0033 $channel \00312pour ces propos !"
    }
  }
}


j'ai tenter de remplacer $arg par *!*$vhost

Mais ça ne fonctionne pas.

Merci de votre aide future.

Cordialement.


RE: Ban sur l'host - lesny - 01/04/2012

bonjour / bonsoir

sert toi de ce code donner par alias


Code :
bind PUB - .+blacklist +bl
proc +bl { nick uhost hand chan text } {
global botnick
set hpseudo [lindex [split $nick |] 0]
if [validuser $hpseudo] {
if [matchattr $hand o|m $chan] {
if [string match -nocase *!*@* [lindex $text 0]] {
newchanban $chan [lindex $text 0] $nick {Pseudo Blacklisté !} 0
putquick "NOTICE $nick :Blacklist ajouté : [lindex $text 0] !"
} else {
newchanban $chan [lindex $text 0]!*@* $nick "Pseudo Blacklisté ([lindex $text 0]) !" 0
newchanban $chan [lindex $text 0]|*!*@* $nick "Pseudo Blacklisté ([lindex $text 0]) !" 0
putquick "NOTICE $nick :Blacklist ajouté : [lindex $text 0]!*@* !"
putquick "NOTICE $nick :Blacklist ajouté : [lindex $text 0]|*!*@* !"

}
} else {
putquick "NOTICE $nick :Vous n'avez pas les droits nécessaires à l'utilisation de cette commande (Master sur $chan requis) !"
}
} else {
putquick "NOTICE $nick :Vous n'avez aucun access dans $botnick !"
}
}



RE: Ban sur l'host - Alucard`68 - 14/04/2012

Bonjour, désolé du temps de réponse j'ai pas eu le temps de me pencher sur se code depuis un moment.

donc j'ai pas trop compris le code que tu m'as poster lesny...

j'ai t'enter de faire ceux-ci:
TCL
set backroom "#Control"
set vhostmodo {
  *@domaine.tld
  *@domain.tld
}
 
bind pub - !bpropo
 
proc bpropo { nick host hand channel arg } {
  global vhostmodo bpropo
  foreach vhost $vhostmodo {
  if [string match -nocase $vhost $host] {
    set banhost [lindex [split [getchanhost $vnick $chan] "@"] 1]
      putquick "MODE $channel +b *!*@$banhost"
      putquick "KICK $channel $arg Veuillez surveiller vos propos !"
      putquick "PRIVMSG $::backroom :\0037$nick \00312a kick\0034 $arg \00312du salon\0033 $channel \00312pour ces propos !"
    }
  }
}


mais ça ne fonctionne pas j'ai se message en pl :
Code :
<Arwen> [13:45:31] Tcl error [bsex]: can't read "vnick": no such variable
Je ne sais pas du tout comment faire...
Merci de votre aide future.

Cordialement.


RE: Ban sur l'host - CrazyCat - 14/04/2012

D'où sort ton $vnick dans :
TCL
set banhost [lindex [split [getchanhost $vnick $chan] "@"] 1]


Ne serait-ce pas le nick de la personne à bannir, donc $arg ?


RE: Ban sur l'host - Alucard`68 - 14/04/2012

a oui exact... et en relisant le code je me suit rendu compte d'une autre erreur $chan alors que j'utilise $channel

Sa m'apprendra a pas relire correctement mes codes...

Encore merci a toi CrazyCat pour t'on aide précieuse.

Cordialement.


RE: Ban sur l'host - Alucard`68 - 14/04/2012

Re bonsoir, j'ai un autre souci avec mon code

Voici le code modifier.
TCL
set backroom "#Control"
set vhostadmin {
  *@domaine.tld
  *@domain.tld
}
set vhostmodo
  *@domaine.tld
  *@domain.tld
}
 
bind pub - !bpropo
 
proc bpropo { nick host hand channel arg } {
  global vhostadmin vhostmodo bpropo
  foreach vhost $vhostadmin {
  if [string match -nocase $vhost $host] {
    set banhost [lindex [split [getchanhost $arg $channel] "@"] 1]
      putquick "MODE $channel +b *!*@$banhost"
      putquick "KICK $channel $arg \00312Vous auriez du surveiller vos porpo !"
      putquick "PRIVMSG $::backoom :\0037$nik \00312 à kick ban\0034 $arg \00312sur le salon\0037 $channel \00312à cause de ses propos !!"
    }
  }
  foreach vhost $vhostmodo {
  if [string match -nocase $vhost $host] {
    set banhost [lindex [split [getchanhost $arg $channel] "@"] 1]
      putquick "MODE $channel +b *!*@$banhost"
      putquick "KICK $channel $arg \00312Vous auriez du changer vos propo !"
      putquick "PRIVMSG $::backoom :\0037$nik \00312 à kick ban\0034 $arg \00312sur le salon\0037 $channel \00312à cause de ses propos !!"
    }
  }
}


Je précise que j'ai bien mis le bon Vhost à Aragorn pour qu'il puisse utiliser cette commande.

Donc mon problème est que avec Vampire sa fonctionne très bien. Mais pas avec Aragorn... Je précise aussi que je fait passer Aragorn par applet.
Voila le problème.
Code :
[15:33:17] ‹Vampire› !bpropo Aragorn
[15:33:18] × Mode : Arwen / +b *!*@domaine.tld
[15:33:18] × Info\ Le masque *!*@domaine.tld touche : Aragorn
[15:33:18] « Kick\ Aragorn kické de #LibertY-Land par Arwen : Vous auriez du changer vos propo !
Donc la pas de souci.
Code :
[15:34:07] ‹Aragorn› !bpropo Vampire
[15:34:07] × Mode : Arwen / +b *!*@*
[15:34:07] × Info\ Le masque *!*@* touche : Arwen Aragorn Naruto Vampire
[15:34:07] « Kick\ Vampire kické de #LibertY-Land par Arwen : Vous auriez du changer vos propo !
et la sa ban tout le chan...
Ou est le problème dans mon code...
Merci d'avance.

Cordialement.