Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UN ANTI FLOOD DE PLUS


Information sur la source

Description

Voila, je me suis permis de modifier la source d'un antiflood déjà existant, à la place de kiker banir etcétera, il coupe tout simplement la parole... Au préalable il faut un auto voice sur le chan sinon tout le monde aura la parole coupée...
 

Source

  • on *:TEXT:*:#: {
  • ; Controle du Flood
  • %flooddure = 5
  • %floodavert = 2
  • %floodavertbis = 5
  • if ($me isop $chan && $nick != nick_du_propriétaire) {
  • 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 couper la parole $nick dans 5 secondes !!
  • unset %floodx
  • timer 1 5 /mode $chan -+m
  • timer 1 5 /mode $chan -o $nick
  • timer 1 5 /mode $chan -v $nick
  • timer 1 15 /mode $chan -m
  • timer 1 15 /mode $chan +v $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 coupage de parole !!
  • }
  • }
  • }
  • else { %floodtime = $ctime }
  • }
  • }
  • else { %floodnick = $nick }
  • }
  • else { %floodword = $1-
  • unset %floodx
  • }
  • }
  • }
on *:TEXT:*:#: {

  ; Controle du Flood
  %flooddure = 5
  %floodavert = 2
  %floodavertbis = 5

  if ($me isop $chan && $nick != nick_du_propriétaire) { 
    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 couper la parole $nick dans 5 secondes !!
              unset %floodx
              timer 1 5 /mode $chan -+m 
              timer 1 5 /mode $chan -o $nick
              timer 1 5 /mode $chan -v $nick
              timer 1 15 /mode $chan -m
              timer 1 15 /mode $chan +v $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 coupage de parole !! 
              }
            }
          }
          else { %floodtime = $ctime } 
        } 
      }
      else { %floodnick = $nick }
    }
    else { %floodword = $1- 
      unset %floodx 
    } 
  }
}

Conclusion

Que dire de plus à part j'attends vos commentaires...
 

Commentaires et avis

signaler à un administrateur
Commentaire de MaX_62 le 21/02/2005 18:06:42

/mode $chan -+m devient /mode $chan +m :p

if ($me isop $chan && $nick != nick_du_propriétaire) : nick_du_propriétaire bof...

Tu peux enlever tous tes slash, ils sont pas obligatoires

Tu pourrais faire un alias pour voicer tout le monde sauf le floodeur

voilà.

signaler à un administrateur
Commentaire de KiNdErMaXi le 21/02/2005 19:32:43

beaucoup de variables pour un si petit addon
if (%floodx == $null) devient : if (!%floodx)
timer devient .timer (silencieux ;))

si tu veux lui couper la parole tu le ban donc :
            timer 1 5 /mode $chan -+m
            timer 1 5 /mode $chan -o $nick
            timer 1 5 /mode $chan -v $nick
            timer 1 15 /mode $chan -m
            timer 1 15 /mode $chan +v $nick
est replacable par
if $nick isvo $chan {
mode $chan -v $nick
mode $chan +b $address($nick,3)
.timer 1 5 mode $chan -b $address($nick,3)
mode $chan +v $nick
}
:)

signaler à un administrateur
Commentaire de wims le 21/02/2005 20:37:01

on *:TEXT:*:#: {

    ; Controle du Flood
    %flooddure = 5
    %floodavert = 2
    %floodavertbis = 5

pourquoi ne pas inclure un petit dialog ou l'on pourrais gérer combien de ligne par seconde il faut attendre avant de faire l'action

de plus tu precise dans la description de la source :
Au préalable il faut un auto voice sur le chan sinon tout le monde aura la parole coupée...

si tu ne fait que devoicer le nick et mettre le mode +m le nick n'aura qua faire /hop et il sera de nouveau le bienvenue sur ton chan ce qui n'est pas top ;/

signaler à un administrateur
Commentaire de KiNdErMaXi le 21/02/2005 21:28:17

d'où l'interet du +b non ? ;)

signaler à un administrateur
Commentaire de wims le 21/02/2005 22:16:55

oui KiNdErMaXi, mais le kick-ban pour un ptit flood c'est peut etre abusif j'aurais plutot dis :
d'ou le des-interet de l'autovoice :p

signaler à un administrateur
Commentaire de KiNdErMaXi le 21/02/2005 22:18:11

qui a dis kickban ?? un ban silencieux est très bien ^^

signaler à un administrateur
Commentaire de wims le 21/02/2005 23:02:12

kinder : si il y a l'autovoice et que tu met un ban silencieux le nick a juste a faire /hop et il sera voicé et ton ban silencieux est inutile  :]

signaler à un administrateur
Commentaire de KiNdErMaXi le 21/02/2005 23:05:10

mais oui mais si tu met le +b comme je l'ai proposé, tu n'as pas besoin d'auto voice
tu comprend ?

signaler à un administrateur
Commentaire de wims le 21/02/2005 23:22:21

oui ca javé bien compris mais si tu proposais ca pour la source en laissant l'autovoice ca ne servait pas
mais chuis carement dacord que lautovoice ne sert pas de tt facon

signaler à un administrateur
Commentaire de tipexx94 le 24/02/2005 14:02:40

je te donne le code alias pour voicer tlm sa peut servir a beaucoup de gens :


/voiceall {
  set %bs.Temp.Chan #
  set %i 1
  set %bs.Temp.Index 1
  if (undernet isin $server) { set %bs.Temp.Num 6 }
  else { set %bs.Temp.Num 6 }
  :start
  set %bs.Temp.User $nvnick(%bs.Temp.Chan,%i)
  if (%bs.Temp.User == $null) { mode %bs.Temp.Chan +vvvvvv %bs.Temp.Nick | unset %bs.Temp.Nick | unset %i | unset %bs.Temp.Chan | unset %bs.Temp.Index | unset %bs.Temp.Num | halt }
  if (%bs.Temp.User == $me) { inc %i 1 | goto start }
  if (%bs.Temp.User != $me) { set %bs.Temp.Nick %bs.Temp.User %bs.Temp.Nick | if (%bs.Temp.Index == %bs.Temp.Num) { mode %bs.Temp.Chan +vvvvvv %bs.Temp.Nick | unset %bs.Temp.Nick | set %bs.Temp.Index 1 | inc %i 1 | goto start } | inc %bs.Temp.Index 1 }  
  inc %i 1
  goto start
}


et maintenant le code alias pour devoice tlm :

/devoiceall {
  set %bs.Temp.Chan #
  set %i 1
  set %bs.Temp.Index 1
  if (undernet isin $server) { set %bs.Temp.Num 6 }
  else { set %bs.Temp.Num 6 }
  :start
  set %bs.Temp.User $vnick(%bs.Temp.Chan,%i)
  if (%bs.Temp.User == $null) { mode %bs.Temp.Chan -vvvvvv %bs.Temp.Nick | unset %bs.Temp.Nick | unset %i | unset %bs.Temp.Chan | unset %bs.Temp.Index | unset %bs.Temp.Num | halt }
  if (%bs.Temp.User == $me) { inc %i 1 | goto start }
  if (%bs.Temp.User != $me) { set %bs.Temp.Nick %bs.Temp.User %bs.Temp.Nick | if (%bs.Temp.Index == %bs.Temp.Num) { mode %bs.Temp.Chan -vvvvvv %bs.Temp.Nick | unset %bs.Temp.Nick | set %bs.Temp.Index 1 | inc %i 1 | goto start } | inc %bs.Temp.Index 1 }  
  inc %i 1
  goto start
}


C tt simple pour voie tlm tu fais /voiceall et pour devoice bin /devoiceall

voila j'éspère que sa pourra te servir et vous servir :/

signaler à un administrateur
Commentaire de KiNdErMaXi le 24/02/2005 17:26:40

voiceall {
  if $me isop $active {
    var %b = 1
    while (%b <= $nick($active,0)) {
      mode # +v $nick($active,%b)
      inc %b
    }
  }
}
c'est pas un peu plus court ca ? :)

signaler à un administrateur
Commentaire de tipexx94 le 24/02/2005 17:57:09

ouai je sais que c'est plus court lol c'est ce que j'ai mi mais tu voie il me resté 10 minute j'avais plus rien a faire donc op j'ai  foutu un long code :/
mais les deux sont bon de tt facon

signaler à un administrateur
Commentaire de KiNdErMaXi le 24/02/2005 18:05:12

en plus le tiens est optimisable :
(%bs.Temp.User == $null)  devient if (!%bs.temp.user)
if (%bs.Temp.User != $me)  peut devenir else ici
et d'autres ...

signaler à un administrateur
Commentaire de tipexx94 le 24/02/2005 18:07:54

on galère a se commenter toutes les 5 minutes ta pas plutot msn suis gai :x

signaler à un administrateur
Commentaire de InFerNaLeX le 10/03/2005 15:53:01

mdr trop con c pa une agence de rencontre pour gai ici koike g entendu parler de kinder :x loool

signaler à un administrateur
Commentaire de lebaronrouge le 19/09/2006 02:47:05

En fait plusieurs solution existent et peuvent se completer ou se suivre... l'idéal étant avant tout d'éviter de crasher sois même.
Un bon code en htable , avec dialogue pour gerer le nombre d'avertos dans un 1er temps , qui ensuite enchaine sur kick et éventuellement kickban apres aussi X kick ou en posant un ban silencieux, ou encore passer en +m ,mais qui implique un massvoice des autres users, pas évident de trouver le bon compromis ...

signaler à un administrateur
Commentaire de foufou33 le 28/07/2007 13:56:35

ce code est bien mais le probleme, il fais laguer le bot a fond !
donc commet l'obtimisé ? merci :)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

devoice auto? [ par maaars ] kikoo...alors voila j'ai une source qui permet de voice les gens seulement quand ils parlent (detection de caractères clefs)... et je cherche un moyen anti flood [ par Moustiko ] ^^salut les collegues scripteurs^^je commence a scripter et je cherche a faire un antiflood pour mon bot personnelje n'arrive pas a le metre en place, Anti voice [ par Twinuts ] Bonjours vous tous,Voila voila je fais parti des usagers irc qui ne supporte pas les voice(c'est con mais bon).Vu mon niveau en programmation Irc je n Tous les anti flood de ce site ne marchent pas... chez moi... [ par Kolibot ] J'en ai marre ca fé trois plombes que je cherche un anti flood et yen a aucun ki marche chez moi je ne c pa pk... c lourd... vmt vmt vmt lourd... Aidez moi [ par reva94 ] kelk1 pourai me crée un anti flood : - au bout de 4 phrases en flood il le kick ban 5 min anti-pub : 1 er pub Qui avertit 2 eme pub qui kick 3 emem p Help :) [ par jujuquatre ] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~JuJuQuArTrE s^ s^ s^ JuJu_BoT WWW.ut2004.fr.st~~~~~~~~~~~~~~~~~~~~~~~~~~~~Ben voila J'ai commencer un addon de auto-mode ( Anti Flood [ par Riminickrickette ] Bonjour all jai chercher sur un script "vossey script" qui fé anti flood mais jai pas trouver ds c remotes ou il été et il marche pas bien , donc eske Anti flood join [ par nightmar ] Salut tous le monde esque quelqu'un pourait me dire se qui ne vas pas dans mon code ? svpOn 1:JOIN:#Aeons:{ if (% [ $+ [ join ] [ $+ [ $nick ] ] ] ) Socket anti flood [ par zzzzzz ] Salut J'aimerai savoir si quelqun connais une m&#233;thode &#233;fficace pour g&#233;rer les mass private. Par exemple, j'aimerai &#233;viter &#224; anti flood pour les commandes !!! [ par pti_suisse ] bon voila comme vous avez vudans un autre topic j'ai cr&#233;&#233; une commandes pour calculer le nombre de clopes fumer !!! mais voila vu que des pe


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,827 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.