Anti flood

Signaler
Messages postés
1
Date d'inscription
vendredi 28 février 2003
Statut
Membre
Dernière intervention
28 février 2003
-
Messages postés
23
Date d'inscription
jeudi 26 février 2004
Statut
Membre
Dernière intervention
29 février 2004
-
^^salut les collegues scripteurs^^
je commence a scripter et je cherche a faire un antiflood pour mon bot personnel
je n'arrive pas a le metre en place, j'ai deja reussi a scripter une partie de l'anti flood mais il y a certains points que je n'arrive pas a resoudre :
comment faire pour compter le nombre de lignes que le nick dit
comment faire pour analyser si le nick ne dit pas quelquechose au bout de 3 secondes
et enfin comment faire pour faire savoir au bot que le nick dit une ligne

La moindre indication est la bienvenue, une piste, un renseignement (me dire ou chercher dans l'aide car je n'ai pas trouvé mon bonheur mais je me doute qu'il y a les renseignements que je cherche dedans)

Merci collegues scripteurs ^^

2 réponses

Messages postés
708
Date d'inscription
lundi 15 juillet 2002
Statut
Membre
Dernière intervention
17 mars 2005

on *:connect:{ unset %kft-* }
pour ne pas saturer le fichier de variable
on *:text:!news*:*: {
if ( %kft- [ $+ [ $nick ] ] = $null ) { set %kft- $+ $nick 0 }
inc %kft- $+ $nick
;ici on compte les lignes de $nick
.timerflood 1 5 set %kft- $+ $nick 0
;ici on efface le nombre de ligne de $nick au bout de 5 secondes
if ( 5 <= %kft- [ $+ [ $nick ] ] ) {
;ici on a la parti la plus importante du code
;si $nick depasse 5 lignes avant le tps indiqué par le timer
;il sera ignoré et on remet tout a 0
ignore -u60 $nick
set %kft- $+ $nick 0
}
}

j'ai proposé le meme code a Anima , j'ai juste rajouter des commentaires pour te guider un peu
mais encore une fois je pense qu'il y a plus simple
Messages postés
23
Date d'inscription
jeudi 26 février 2004
Statut
Membre
Dernière intervention
29 février 2004

Pouvez vous me dire se ki ne va pas dans cette anti-flood :
On *:text:*:#:{
if (%antiflood. [ $+ [ $nick ] ] == $null) {
set -u5 %antiflood. [ $+ [ $nick ] ] 1
set -u5 %antiflood.ph. [ $+ [ $nick ] ] $1-
halt
}
elseif (%antiflood. [ $+ [ $nick ] ] < 3) {
if (%antiflood.ph. [ $+ [ $nick ] ] == $1-) {
inc %antiflood. [ $+ [ $nick ] ]
halt
}
}
elseif (%antiflood. [ $+ [ $nick ] ] = 3) {
kick # $nick Merci d'éviter les répititions.
unset %antiflood. $+ $nick
halt
}
}

YoOGoU