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


Détection du host caché
#31
Tu peux toujours essayer:

tcl
if { [string first $::spamhost $text] != -1} {

En fait, et en y réfléchissant bien, autant tester toute la ligne, il y a peu de chances pour que quelqu'un choisisse la chaîne comme realname.
Et fais aussi un putlog de $text pour être certain que le raw 311 te ressort le bon host. Sinon, il faudra peut-être aller jeter un oeil sur http://www.eggdrop.fr/Raws_numériques#WHOIS et tester les différentes valeurs possibles
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#32
très bien CrazyCat je vais essayé ça. merci beaucoup de ta patience . :)
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#33
le putlog sur $text me retourne l'username :(
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#34
Je pense qu'il faudrait que tu nous passes la source complète de ton xwhois, il doit y avoir dedans une commande particulière (peut-être propre au serveur)
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#35
après avoir repris le tcl totalement il fonctionne bien maintenant .

bind join remis sur le raw 328

tcl
bind raw - 328 whois:answ


ajouté $nick lors de la demande de whois

tcl
proc whois:join { nick host hand chan } {
  putserv "WHOIS $nick $nick"
  return 0
}


et remplacé text par arg

tcl
proc whois:answ {from kw arg} {
  set nick [lindex $arg 1]
  set userhost [lindex $arg 7]
  if { [string first $::spamhost $userhost] != -1} {
    putquick "KICK $::chanm $nick :$::kick(spambot)"
    putquick "MODE $::chanm +b $userhost"
  }
  return 0
}


parcontre mon bot étant sur plusieurs salon j'aimerais bien qu'il pose le ban là ou le spambot ce trouve .je m'explique en faite là il kick ban sur le $salonm et pose aussi le ban sur les autres salon ou le bot ce trouve
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#36
En fait tu voudrais qu'il kick sur tous les canaux où se trouvent et l'eggdrop et l'utilisateur, et qu'il ban sur tous les canaux où est l'eggdrop ?
Tu peux le faire avec une petite boucle:

tcl
foreach chan [chanlist] {
   if {[onchan $nick $chan]==1} {
      putkick $chan $nick $::kick(spambot)
   }
   pushmode $chan +b $userhost
}
flushmode

irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#37
merci CrazyCat

donc ce qui me donnerai ceci ?


tcl
proc whois:answ {from kw arg} {
  set nick [lindex $arg 1]
  set userhost [lindex $arg 7]
  if { [string first $::spamhost $userhost] != -1} {
  foreach chan [chanlist] {
   if {[onchan $nick $chan]==1} {
      putkick $chan $nick $::kick(spambot)
   }
   pushmode $chan +b $userhost
   }
 }
  flushmode
}


le "flushmode " à quel fonction ?
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#38
Oui, c'est à ça que ressemblerait ton tcl.

Le flushmode sert à forcer l'envoi au serveur des modes réglés avec pushmode, ça permet d'optimiser le passage des bans (dans ton cas) au lieu d'envoyer toute une série de messages au serveur.

Tu noteras que je préfère utiliser aussi putkick que putquick "KICK ..."
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#39
merci CrazyCat je vais testé cela des que possible .

merci beaucoup
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#40
Bien le bonjour,

je revient car je trouve pas comment réglé le souci sur l'erreur indiqué en party line .


tcl
[14:25] Tcl error [whois:answ]: wrong # args: should be "chanlist channel ?flags?"


le bot execute comme bien le kick ban du host mais j'ai cette erreurà chaque fois
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#41
Au temps pour moi, je me suis trompé lourdement:

tcl
foreach chan [channels] {

irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#42
bonsoir,je revient car j'arrive toujours pas à faire en sorte que mon bot kick ban le spam quand il joint le salon.En fait il ne fait aucune action et je n'est aucune erreur en pl :(


tcl
#-//-//-//-//-//-//-//-//-//-//-//-//-//-//-//-//-#
###--------------Anti-Spam Bot Orange-----------###
#-------------------------DnS---------------------#
# Remerciement à BdS et CrazyCat pour leurs aides  #
#-//-//-//-//-//-//-//-//-//-//-//-//-//-//-//-//-#
 
#-//-//-//-//-#
#   VersiOn   #
#-//-//-//-//-#
 
set versionb "EpsilOn.tcl"
 
# Configuration du host,Salon message de kick 
 
set chan "#Nantes"
set spamhost "2531986971.fr"      
set kick(spambot) "\002\[\02Système AntiSpam\002]\2  Anti SpamBot!!!"
 
#-//-//-//-#
#---Bind---#
#-//-//-//-#
 
bind join - "*" whois:join
bind raw - 328 whois:answ
 
#-//-//-//-//-#
#  PROCEDURE  #
#-//-//-//-//-#
 
proc whois:join { nick host hand chan } {
putserv "WHOIS $nick $nick"
   return 0
}
 
proc whois:answ {from kw arg} {
  set nick [lindex $arg 1]
  set userhost [lindex $arg 7]
  if { [string first $::spamhost $userhost] != -1} {
  foreach chan [channels] {
   if {[onchan $nick $chan] == 1} {
    putkick $chan $nick $::kick(spambot)
   }
   pushmode $chan +b $userhost
   }
}
  flushmode
}
putlog "$::versionb AntiSpambOt by DnS"


cordialement.
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#43
Tu devrais mettre un putlog dans ta procédure whois:join pour voir si l'eggdrop réagit bien, et aussi un dans la procédure whois:answ. Ca t'aidera à avancer.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#44
Hello :)

Fedora as tu trouver la solution a ton tcl ?
car j'aimerais l'avoir pour mon eggdrop aussi

Merci
bonne journée
Gilles
#45
non bewess
j'arrive toujours pas a ce qu'il soit actif sur tout les chans ou ce trouve le bot . pour le moment il gère simplement un chan :(
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.


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
  Ban sur l'host Alucard`68 5 3,723 14/04/2012, 15:56
Last Post: Alucard`68
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)