Anti-flood

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 434 fois - Téléchargée 31 fois

Contenu du snippet

Voici un script anti-flood sur irc, il ne fonctionne que si vous op(+o) sur le channel. C'est le premier script que je poste normalement il fonctionne !! C'est possible qu'il ait des erreurs on ne sais jamais, on est jamais sur de rien !! Introduiez ce script dans vos remotes.

Définition des variables :
%floodnick est le dernier nick enregistré
%floodword est la dernier phrase enregistrée
%floodx est le nombre de fois la répétition
%floodtime est le dernier temps enregistré
%flooddure est l'intervalle des floods pour qu'ils soient pris en compte
%floodavert est le premier avertissement a combien de flood
%floodavertbis est le second avertissement

Beaucoup de variable, mais c'est dans le but de vous simplifier, plus qu'a modifier selon vos souhaits et le tour est joué !! Voilà en éspérant que vous avez tous compris !!

Source / Exemple :


on *:TEXT:*:#: {

; Controle du Flood
  %flooddure = 3
  %floodavert = 5
  %floodavertbis = 10

  if ($me isop $chan) { 
    if (%floodword == $1-) {
      if (%floodnick == $nick) {
        if (%floodx == $null) { %floodx = 1 | %floodtime = $ctime }
        else { 
          if ($calc($ctime - %floodtime) < %flooddure) { inc %floodx | %floodtime = $ctime
            if (%floodx == %floodavertbis) { /msg $chan Je n'ai pas le choix tu abuses je vais te kicker $nick dans 5 secondes !! | unset %floodx | /.timer 1 5 /kick $chan $nick Je t'avais averti $nick !! }
            else {
              if (%floodx == %floodavert) { /msg $chan Attention $nick sa s'appelle du Flood ce que tu fais !! Fais attention un Flood trop grand pourrait entrainer un kick !! }
            }
          }
          else { %floodtime = $ctime } 
        } 
      }
      else { %floodnick = $nick }
    }
    else { %floodword = $1- | unset %floodx } 
  }
}

Conclusion :


Je ne sais pas trop quoi vous dire pour finir !! Essayez-le et donnez moi vos critiques !! Moi personnellement je l'utilise et je n'ai pas encore eu de problème, pour l'instant !!

Bien sur si plusieurs Flood se pass en même temps sur plusieurs Channels ou vous êtes oper celui risque de ne pas fonctionner, c'est même certain, mais c'est rares. Si sa dégénère vraiment le serveur s'en chargera !! En éspérant que je n'ai rien oublié @++

A voir également

Ajouter un commentaire Commentaires
Messages postés
248
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
11 février 2013

salut le monde et pour le flood de simley sa marche aussi svp merci
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
chu assez d'accord avec dj328i lol à ceci près qu'il faudrait pas que les gens se mettent à croire que (!%var) est équivalent à (%var == $null) ...
Messages postés
311
Date d'inscription
dimanche 23 février 2003
Statut
Membre
Dernière intervention
1 mai 2009

Le fait de flooder du texte pour contrer le flood , j'aime pas trop. Laisse tomber les MSG comme avertissement , c'est la parfaite facon de faire un excess flood inutile.

Puie comme la mentionner pada les "/" , sont inutile dans un script , ca ne fait que grossir la taille.

Tu devrais regrouper t'est conditions au lieu de les mettres un en dessous de l'autre :

if ($me isop $chan) {
if (%floodword == $1-) {
if (%floodnick == $nick) {
if (%floodx == $null) {

Devient :

if ($me isop $chan && %floodword $1- && %floodnick $nick && !%floodx) {

$null est vraiment trop inutile comme identifieur , si tu veux vérifier si une condition est vide ou fausse , rajoute une exclamation devant l'identififieur ou la variable. Comme dans l'exemple ci haut.

Puie pour terminer , ton script ne fait que kicker. Quesqui se passe si les floodeurs , ont un auto-retour au canal en cas de kick ? Ca revient en boucle et ca règle rien du tout. Essaie d'adapter le ban et de corriger c'est quelques écarts et ca devrais être pas trop mal :)

Bonne continuation ..
Messages postés
1726
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2009
1
ce sont des automatismes comme celui ci qui font déco en excess flood les ops dès que ça flood un peu ..
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
j'ai pas testé mais ca doit marcher ya pas de raison ... ptet dommage de pas pouvoir configurer trop l'action ou la limite a partir de laquelle cette action est effectuée (un kick ici) sans toucher au remote ...

une idée pour améliorer peut etre :
"Bien sur si plusieurs Flood se pass en même temps sur plusieurs Channels ou vous êtes oper celui risque de ne pas fonctionner, c'est même certain" -> voila ce que je fais dans mon script pour l'antiflood : au lieu de me servir d'une seule variable , je me sers d'une hashtable qui "log" pendant 15 secondes ou 20 ce que dit un pseudo , le nom de l'item étant pseudo:network:salon (ou $cid plutot que network d'ailleurs) , ca permet d'éviter les erreurs même en multiserver ou si tu connectes des clones , et ca peut te motiver a te mettre aux hashtables :))

pour une première source sinan rien a dire , sauf que les slashs sont pas obligatoires ^^ bonne continuation :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.