Spam Audiotel : mauvaise détection
#1
Je me suis permis de jeter un oeil sur le script Spam Audiotel et j'ai été assez surpris par son fonctionnement

tcl
set numbers { 06 09 08 07 01 05 04 03 02 }
 
bind pubm - * spam
 
proc spam {nick uhost handle channel args} {
    global numbers reason banmask botnick
    set handle [nick2hand $nick]
    set banmask "*!*@[lindex [split $uhost @] 1]"
    set duration 5m
    for { set number 0 } { $number < [llength $numbers] } { incr number } {
        if { [string match *[lindex $numbers $number]* *$args* ] } {
            if {[matchattr $handle +f]} {
                putlog "-Anti Spam Audiotel- $nick ($handle) with +f flags said $args on $channel"
            } elseif {[matchattr $handle +o]} {
                putlog "-Anti Spam Audiotel- $nick ($handle) with +o flags said $args on $channel"
            } else {
                putlog "-Anti Spam Audiotel- KICKED $nick on $channel matched by $args"
                putquick "KICK $channel $nick :$reason"
                newchanban $channel $banmask $botnick $reason 5m
            }
        }
    }
}


Donc en gros, tu poses un ban sitôt qu'il y a un des chiffres contenu dans $numbers dans une ligne.
Un peu génant, non ?

Alors qu'avec une simple expression régulière, tu vas pouvoir vraiment tester que ça a le format d'un numéro de téléphone:
tcl
proc spam {nick uhost handle channel args} {
    global reason banmask botnick
    set handle [nick2hand $nick]
    set banmask "*!*@[lindex [split $uhost @] 1]"
    set duration 5m
    if { [regexp {\y0[1-9]([\-\.\ ]?\d{2}){4}\y} $args] } {
         if {[matchattr $handle +f]} {
             putlog "-Anti Spam Audiotel- $nick ($handle) with +f flags said $args on $channel"
         } elseif {[matchattr $handle +o]} {
             putlog "-Anti Spam Audiotel- $nick ($handle) with +o flags said $args on $channel"
         } else {
             putlog "-Anti Spam Audiotel- KICKED $nick on $channel matched by $args"
             putquick "KICK $channel $nick :$reason"
             newchanban $channel $banmask $botnick $reason 5m
        }
    }
}



My 2 cents.
Répondre
#2
Salut CrazyCat, :)

Merci pour ta suggestion j'ai codée cela comme ca pck je savais pas comment faire autrement si ta un exemple me montrer je prend avec plaisir :)
Répondre Avertir
#3
Ben... mon code est l'exemple.
Répondre
#4
Oui sorry Jvais pas regardé le code correctement crazy je vais testé cela et je te dis ce quil en n"est apres
Répondre Avertir
#5
(25/06/2014, 23:18)BaGrift a écrit : Merci pour ta suggestion j'ai codéecodé cela comme caça pckparce que je ne savais pas comment faire autrement si tatu as un exemple meà me montrer je prendprends avec plaisir :)

(25/06/2014, 23:49)BaGrift a écrit : Oui sorry JvaisJe n'avais pas regardé le code correctement crazy je vais testétester cela et je te dis ce quilqu'il en n"est apresaprès

Condoléances à la langue française.
Répondre
#6
Salut Crazy :)

Donc j'ai fais qu'elle que test et cela fonctionne comme tu ma dis je vais corrigé le code et le remettre en ligne !
Répondre Avertir
#7
Merci de faire un effort pour l'écriture. Je compte au moins 5 fautes dans ta phrase.
Et la ponctuation fait aussi parti des règles de français.
Répondre


Atteindre :


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