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
Répondre
#32
très bien CrazyCat je vais essayé ça. merci beaucoup de ta patience . Smile
[font=Times New Roman]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.[/font]
Répondre Avertir
#33
le putlog sur $text me retourne l'username Sad
[font=Times New Roman]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.[/font]
Répondre Avertir
#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)
Répondre
#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
[font=Times New Roman]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.[/font]
Répondre Avertir
#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


Répondre
#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 ?
[font=Times New Roman]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.[/font]
Répondre Avertir
#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 ..."
Répondre
#39
merci CrazyCat je vais testé cela des que possible .

merci beaucoup
[font=Times New Roman]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.[/font]
Répondre Avertir
#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
[font=Times New Roman]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.[/font]
Répondre Avertir
#41
Au temps pour moi, je me suis trompé lourdement:
TCL
foreach chan [channels] {


Répondre
#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 Sad

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.
[font=Times New Roman]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.[/font]
Répondre Avertir
#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.
Répondre
#44
Hello Smile

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

Merci
bonne journée
Gilles
Répondre Avertir
#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 Sad
[font=Times New Roman]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.[/font]
Répondre Avertir


Atteindre :


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