Anti flood

cs_Moustiko Messages postés 1 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 28 février 2003 - 28 févr. 2003 à 11:36
YoOGoU Messages postés 23 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 29 février 2004 - 26 févr. 2004 à 13:23
^^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

Kerrigan Messages postés 708 Date d'inscription lundi 15 juillet 2002 Statut Membre Dernière intervention 17 mars 2005
8 mars 2003 à 19:57
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
0
YoOGoU Messages postés 23 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 29 février 2004
26 févr. 2004 à 13:23
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
0
Rejoignez-nous