01/03/2009, 18:25
01/03/2009, 18:27
bonjour CrazyCat
oui le tcl et bien chargé et je n'est aucune erreur en pl .en pl je vois bien le join de l'user mais le bot ne fait aucune action . parcontre si je tape .xwhois pseudo et qu'il y est le mauvaise host là il va exécute les cmds. j'suis perdu là mdrr
oui le tcl et bien chargé et je n'est aucune erreur en pl .en pl je vois bien le join de l'user mais le bot ne fait aucune action . parcontre si je tape .xwhois pseudo et qu'il y est le mauvaise host là il va exécute les cmds. j'suis perdu là mdrr
Citation :|17:28:06| <BoX-Nantes> TYPE FLGS COMMAND HITS BINDING (TCL)
|17:28:06| <BoX-Nantes> join -|- * * 35 autoop
|17:28:06| <BoX-Nantes> join -|- #Nantes * 10 whois:join
01/03/2009, 18:51
Peux-tu joindre ton tcl tel qu'il est (sans remplacer la moindre valeur) s'il te plait ?
01/03/2009, 18:54
biensur .
tcl
#-//-//-//-//-//-//-//-//-//-//-//-//-//-//-//-//-#
###--------------Anti-Spam Bot Orange-----------###
#-------------------------DnS---------------------#
# Remerciement à BdS et CrazyCat pour leur aides #
#-//-//-//-//-//-//-//-//-//-//-//-//-//-//-//-//-#
#-//-//-//-//-#
# VersiOn #
#-//-//-//-//-#
set versionb "EpsilOn.tcl"
# Configuration du host,Salon message de kick
set salonm "#InfO-bOt"
set chanm "#Nantes"
set spamhost "2531986971.fr"
set kick(spambot) "\002\[Systéme AntiSpam]\2 AntiSpam Bot!!!"
#-//-//-//-#
#---Bind---#
#-//-//-//-#
bind join - "$chanm *" whois:join
bind raw - 328 whois:answ
#-//-//-//-//-#
# PROCEDURE #
#-//-//-//-//-#
proc whois:join { nick host hand chan } {
putserv "WHOIS $nick"
}
proc whois:answ {from kw text} {
set nick [lindex $text 1]
set userhost [lindex $text 7]
if { [string first $::spamhost $userhost] != -1} {
putquick "KICK $::chanm $nick :$::kick(spambot)"
putquick "MODE $::chanm +b $userhost"
putserv "PRIVMSG $::salonm :Alerte ! SpambOt détécté sous le pseudo: $nick Host: $userhost "
}
return 0
}
putlog "$::versionb AntiSpambOt"
01/03/2009, 19:06
Vu ce que les précédents messages, le join est bien pris en compte (tu peux ajouter un putlog dans la procédure whois:join pour vérifier).
Je pense que c'est le raw qui n'est pas bon: 328 est (officiellement) le retour de ChanServ lorsqu'on rejoint un canal enregistré (celui qui donne l'url correspondante).
Les retours de /whois sont les raws suivants:
Je pense que c'est le raw qui n'est pas bon: 328 est (officiellement) le retour de ChanServ lorsqu'on rejoint un canal enregistré (celui qui donne l'url correspondante).
Les retours de /whois sont les raws suivants:
Citation :301 nick :away
310 nick :looks very helpful
311 nick username address * :info
312 nick server :info
313 nick :is an IRC Operator
317 nick seconds signon :info
318 request :End of /WHOIS list.
319 nick :channels
431 :No nickname given
01/03/2009, 19:12
j'ai mit un putlog voici ce que j'ai :
Citation :|18:10:15| <BoX-Nantes> [18:10] PeTiTLu (127HNantes@3569517.eu) left #Nantes.
|18:10:16| <BoX-Nantes> [18:10] whois PeTiTLu effectué
|18:10:16| <BoX-Nantes> [18:10] PeTiTLu (127HNantes@3569517.eu) joined #Nantes.
01/03/2009, 19:17
Heu ? Très bizarre cette affaire là.
Bon, déjà on voit qu'il passe dans la procédure de whois, tu as donc (aussi) un souci sur le raw pour lancer whois:answ.
Au cas où, il y a un truc aussi qui me passe par la tête: est-ce que ton egg n'ignorerait pas les messages serveur. Ca m'est arrivé de voir les serveurs ignorés parce qu'ils étaient considérés comme floodeurs lorsque le bot se connecte (MOTD trop long)
D'ailleurs, que donne un .binds raw ?
Bon, déjà on voit qu'il passe dans la procédure de whois, tu as donc (aussi) un souci sur le raw pour lancer whois:answ.
Au cas où, il y a un truc aussi qui me passe par la tête: est-ce que ton egg n'ignorerait pas les messages serveur. Ca m'est arrivé de voir les serveurs ignorés parce qu'ils étaient considérés comme floodeurs lorsque le bot se connecte (MOTD trop long)
D'ailleurs, que donne un .binds raw ?
01/03/2009, 19:20
tcl
|18:20:07| <BoX-Nantes> TYPE FLGS COMMAND HITS BINDING (TCL)
|18:20:07| <BoX-Nantes> raw -|- 311 1 whois:answ
|18:20:07| <BoX-Nantes> raw -|- 328 0 whois:answ
01/03/2009, 19:27
\o/ Donc c'est bien le raw 311 à utiliser.
Et je te conseille de redémarrer l'eggdrop (pas rehash, restart) après avoir corrigé ton tcl pour éviter les surcharges des binds.
Corrections à apporter:
- changer le raw en 311,
- ajouter un putlog $text au tout début de ta proc whois:answ
Et je te conseille de redémarrer l'eggdrop (pas rehash, restart) après avoir corrigé ton tcl pour éviter les surcharges des binds.
Corrections à apporter:
- changer le raw en 311,
- ajouter un putlog $text au tout début de ta proc whois:answ
01/03/2009, 19:36
voila j'ai ajouté un putlog au tout debut et mit le raw 311
le .binds raw
et le code modifié
tcl
|18:33:03| <BoX-Nantes> [18:33] PeTiTLu (127HNantes@3569517.eu) left #Nantes.
|18:33:04| <BoX-Nantes> [18:33] whois PeTiTLu effectué
|18:33:04| <BoX-Nantes> [18:33] PeTiTLu (127HNantes@3569517.eu) joined #Nantes.
|18:33:05| <BoX-Nantes> [18:33] whois:answ effectué
le .binds raw
tcl
|18:35:14| <BoX-Nantes> Liaisons de commande:
|18:35:14| <BoX-Nantes> TYPE FLGS COMMAND HITS BINDING (TCL)
|18:35:14| <BoX-Nantes> raw -|- 311 6 whois:answ
et le code modifié
tcl
bind raw - 311 whois:answ
proc whois:answ {from kw text} {
putlog "whois:answ effectué"
set nick [lindex $text 1]
set userhost [lindex $text 7]
if { [string first $::spamhost $userhost] != -1} {
putquick "KICK $::chanm $nick :$::kick(spambot)"
putquick "MODE $::chanm +b $userhost"
putserv "PRIVMSG $::salonm :Alerte ! SpambOt détécté sous le pseudo: $nick Host: $userhost "
}
return 0
}
01/03/2009, 19:42
tcl
|18:40:03| <BoX-Nantes> [18:40] whois BoX-Nantes effectué
|18:40:03| <BoX-Nantes> [18:40] BoX-Nantes joined #Nantes.
|18:39:49| <BoX-Nantes> [18:39] BoX-Nantes BoX-Nantes 000Znowhere 4294339373.fr * :A deranged product of evil coders whois:answ effectué
il prend l'username seulement en mettant
tcl
proc whois:answ {from kw text} {
putlog " $text whois:answ effectué"
01/03/2009, 21:31
Effectivement, la réponse au raw 311 est nick username address * :info
Ta procédure doit donc être:
Mais je ne comprends toujours pas pourquoi ton eggdrop réagit au part et non pas au join...
Ta procédure doit donc être:
tcl
proc whois:answ {from kw text} {
set args [split $text]
set nick [lindex $args 0]
set userhost [concat "*!" [lindex $args 1] "@" [lindex $args 2]]
if { [string first $::spamhost $userhost] != -1} {
putquick "KICK $::chanm $nick :$::kick(spambot)"
putquick "MODE $::chanm +b $userhost"
putserv "PRIVMSG $::salonm :Alerte ! SpambOt détécté sous le pseudo: $nick Host: $userhost "
}
return 0
}
Mais je ne comprends toujours pas pourquoi ton eggdrop réagit au part et non pas au join...
01/03/2009, 22:28
merci,apres avoir testé et ajouté des putlogs il n'utilise pas
voici le code
il trouve tjr pas le host caché
là j'avoue je vois plus trop comment faire
tcl
if { [string first $::spamhost $userhost] != -1} {
voici le code
tcl
proc whois:answ {from kw text} {
set args [split $text]
set nick [lindex $args 0]
putlog "jusqu'ici sa va 1"
set userhost [concat "*!" [lindex $args 1] "@" [lindex $args 2]]
putlog "jusqu'ici sa va 2"
if { [string first $::spamhost $userhost] != -1} {
putlog "jusqu'ici sa va 3"
putquick "KICK $chanm $nick :$::kick(spambot)"
putquick "MODE $chanm +b $userhost"
putserv "PRIVMSG $::salonm :Alerte ! SpambOt détécté sous le pseudo: $nick Host: $userhost "
}
return 0
}
tcl
|21:23:50| <BoX-Nantes> [21:23] clauroblau (guest@1691762511.net) joined #Nantes.
|21:23:50| <BoX-Nantes> [21:23] jusqu'ici sa va 1
|21:23:50| <BoX-Nantes> [21:23] jusqu'ici sa va 2
il trouve tjr pas le host caché
tcl
• Whøis sur › clauroblau (guest@1691762511.net)
Nøm › Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1;
Domaine › Networking
Høst Caché › 2531986971.fr
16 Salons [1 cømmun] › #nantes #Domtom-Le-Vrai +#revolution
Serveur › ircvoila1.tchat.orange.fr (Serveur t'Chat)
Nick Enregistré › Non
Inactivité › 3mins 49secs
• Øline Depuis › Dimanche 01 Mars 2009 à 21:08:12
là j'avoue je vois plus trop comment faire
01/03/2009, 23:14
Aurais-je dit une bétise ?
A ta place, c'est de $userhost que je ferais un putlog
tcl
set userhost [concat "*!" [lindex $args 2] "@" [lindex $args 3]]
A ta place, c'est de $userhost que je ferais un putlog
01/03/2009, 23:20
toujours pareille aucune action je déséspére