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


Ban sur l'host
#1
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.
#2
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 !"
}
}
#3
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.
#4
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 ?
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#5
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.
#6
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.


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Demande] Opé Sur Host et Non sur Nick BaGrift 16 10,174 26/06/2014, 13:48
Last Post: BaGrift
Sad Bannir un host en TCL Babytigrou16 31 20,558 22/11/2007, 21:03
Last Post: Babytigrou16

Forum Jump:


Users browsing this thread: 1 Guest(s)