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 !

ANTI BADWORDS


Information sur la source

Catégorie :Scripts Classé sous : badword, gestion, protection, antibadword, anti Niveau : Initié Date de création : 14/08/2007 Date de mise à jour : 15/08/2007 16:25:28 Vu / téléchargé: 3 920 / 76

Note :
Aucune note

Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce script est un Anti BadWord simple. Il se gere entièrement via un dialogue. Il permettra (si vous êtes op ou halfop la personne qui prononce un mot interdit est ni op ni halfop) de : avertir 3 fois, dévoicer 2minutes, kick, et enfin, ban 30minutes.
Je l'avais créer à la base sur une demande et comme je le trouvais pas mal, je voulais savori ce que vous en pensiez...

 

Source

  • #################################
  • ######## Source By TidZ` ########
  • #### irc.evilsnet.org ####
  • #### Contact@EvilsNeT.Org ####
  • #################################
  • menu channel,menubar {
  • BadWords : /dialog -m BadWord BadWord
  • }
  • on *:load:{
  • echo -a 7[14BadWord7] 3- 14Anti BadWords By TidZ`3 Chargé14 !
  • echo -a 7[14BadWord7] 3- 14Vous pouvez le gerer via le menu principal de votre script.
  • echo -a 7[14BadWord7] 3- 14Si vous rencontrez des problèmes à cause de cette source, contactez moi à l'adresse suivante : 3Contact@EvilsNeT.Org14.
  • }
  • dialog BadWord {
  • title " ~ BadWords - By TidZ` ~"
  • size -1 -1 200 285
  • option dbu
  • text "Système Anti-BadWords By TidZ`. Entrez le mot que vous voulez interdire dans la case, cliquer sur + pour l'ajouté a la liste interdites. Pour en supprimer un, sélectionnez le et cliquez sur -.", 1, 15 10 160 40, center pour
  • check "Activer / Désactiver", 2, 15 35 60 10
  • list 3, 15 50 75 75
  • edit "", 5, 100 75 70 10
  • button "+", 6, 115 89 10 10
  • button "-", 7, 145 89 10 10
  • button "Valider", 9, 40 255 50 10, ok
  • button "Retour", 10, 110 255 50 10, cancel
  • text "Ajouter un mot", 11, 115 65 70 10
  • link "- Site du créateur -", 12, 77 275 50 45 9
  • text "Définissez la phrase d'avertissement :", 13, 16 130 150 10
  • edit "", 14, 16 140 168 10
  • text "Définissez la phrase de dévoice :", 23, 16 155 150 10
  • edit "", 24, 16 165 168 10
  • text "Combien temps que la personne restera dévoice (en minute) ?", 15, 16 180 170 10
  • edit "", 16, 168 178 16 10
  • text "Définissez la raison du kick :", 17, 16 190 70 10
  • edit "", 18, 16 200 168 10
  • text "Définissez la raison du ban :", 19, 16 215 70 10
  • edit "", 20, 16 225 168 10
  • text "Combien temps que la personne restera bannie (en minute) ?", 21, 16 240 170 10
  • edit "", 22, 168 238 16 10
  • }
  • alias badwords { dialog -m BadWord BadWord }
  • on *:dialog:BadWord:init:0:{
  • if (%badword == on) { did -c $dname 2 }
  • else { did -u $dname 2 }
  • loadbuf -o BadWord 3 bw.txt
  • set %NbrLigneBw $lines(bw.txt)
  • did -a $dname 14 %pavert
  • did -a $dname 16 $calc(%tdev / 60)
  • did -a $dname 18 %pkick
  • did -a $dname 20 %pban
  • did -a $dname 22 $calc(%tban / 60)
  • did -a $dname 24 %pdev
  • }
  • on *: dialog:BadWord:edit:*:{
  • if ($did(14) != $null) { set %pavert $did(14) }
  • else { unset %pavert }
  • if ($did(16) != $null ) { set %tdev $calc($did(16) * 60) }
  • else { unset %tdev }
  • if ($did(18) != $null ) { set %pkick $did(18) }
  • else { unset %pkick }
  • if ($did(20) != $null ) { set %pban $did(20) }
  • else { unset %pban }
  • if ($did(22) != $null ) { set %tban $calc($did(22) * 60) }
  • else { unset %tban }
  • if ($did(24) != $null ) { set %pdev $did(24) }
  • else { unset %pdev }
  • }
  • on *:dialog:BadWord:sclick:*:{
  • if ($did == 12) { run http://www.evilsnet.org }
  • if ($did(2).state == 1) { set %badword on }
  • else { unset %badword }
  • if ($did == 6) { write bw.txt $did(5) | did -a $dname 3 $did(5) }
  • if ($did == 7) {
  • echo -a 14Vous avez retirer le mot3 $did(3).seltext 14de la liste des Bad-Words.
  • did -d BadWord 3 $did(3).sel
  • write -c bw.txt
  • set %BWcompteur 1
  • set %MaxBW $did(3).lines
  • while ( %BWcompteur <= %MaxBW ) {
  • write bw.txt $did(3,%BWcompteur).text
  • inc %BWcompteur
  • }
  • }
  • }
  • on *:dialog:BadWord:close:*:{
  • if (%badword == on) { echo -a 14Anti BadWord 3Activé ! }
  • else { echo -a 14Anti BadWord 4Désactivé ! }
  • }
  • on *:text:*:#:{
  • if (%badword == on) {
  • if (($me isop #) || ($me ishop #)) {
  • if (($nick isop #) || ($nick ishop #)) { halt }
  • set %NbrMotPhrase $0
  • set %NbrMotPhraseCompteur 1
  • while (%NbrMotPhraseCompteur <= %NbrMotPhrase) {
  • set %parcoursLignesBw 1
  • set %CoupureDroite $pos($strip($1-),$chr(32),%NbrMotPhraseCompteur )
  • set %CoupureGauche $pos($strip($1-),$chr(32),$calc(%NbrMotPhraseCompteur - 1))
  • if (%NbrMotPhraseCompteur <= 1) {
  • set %MotVérifié $remove($left( $strip($1-),%CoupureDroite),$chr(32),*,?)
  • }
  • if ((%NbrMotPhraseCompteur > 1) && (%NbrMotPhraseCompteur < %NbrMotPhrase)) {
  • set %MotVérifié $remove($mid($strip($1-),%CoupureGauche,$calc(%CoupureDroite - %CoupureGauche)),$chr(32),*,?)
  • }
  • if (%NbrMotPhraseCompteur == %NbrMotPhrase) {
  • set %MotVérifié $remove($mid( $strip($1-),%CoupureGauche),$chr(32),*,?)
  • }
  • if ($read(bw.txt,w,%MotVérifié)) {
  • inc %bad $+ $nick
  • if (%bad [ $+ [ $nick ] ] <= 3) {
  • if (%pavert != $null) { msg # %pavert }
  • else { msg # 7[14Avertissement7] 3- 14Reste poli(e)3 $nick 14! }
  • }
  • if (%bad [ $+ [ $nick ] ] == 4) {
  • mode # -v $nick
  • if (%pdev != $null) { msg # %pdev }
  • else { msg # 7[14Dévoice7] 3- 14Je t'avais dit de rester poli(e)3 $nick 14! Un dévoice de3 214minutes. }
  • if {%tdev != $nulm) { timer 1 %tdev mode # +v $nick }
  • else { timer 1 120 mode # +v $nick }
  • }
  • if (%bad [ $+ [ $nick ] ] == 5) {
  • if (%pkick != $null) { kick # $nick %pkick }
  • else { kick # $nick 14Est-ce si compliquer de rester 3poli(e) 14?? }
  • }
  • if (%bad [ $+ [ $nick ] ] => 6) {
  • mode # +b $address($nick,2)
  • if (%pban != $null) { kick # $nick %pban }
  • else { kick # $nick 14Trop, c'est trop ! }
  • if (%tban != $null) { timer 1 %tban mode # -b $address($nick,2) }
  • else { timer 1 3600 mode # -b $address($nick,2) }
  • }
  • }
  • inc %NbrMotPhraseCompteur
  • }
  • }
  • }
  • }
#################################
######## Source By TidZ` ########
####     irc.evilsnet.org    ####
####   Contact@EvilsNeT.Org  ####
#################################


menu channel,menubar {
  BadWords : /dialog -m BadWord BadWord
}

on *:load:{
  echo -a 7[14BadWord7] 3- 14Anti BadWords By TidZ`3 Chargé14 !
  echo -a 7[14BadWord7] 3- 14Vous pouvez le gerer via le menu principal de votre script.
  echo -a 7[14BadWord7] 3- 14Si vous rencontrez des problèmes à cause de cette source, contactez moi à l'adresse suivante : 3Contact@EvilsNeT.Org14.
}

dialog BadWord {
  title " ~ BadWords - By TidZ` ~"
  size -1 -1 200 285
  option dbu
  text "Système Anti-BadWords By TidZ`. Entrez le mot que vous voulez interdire dans la case, cliquer sur + pour l'ajouté a la liste interdites. Pour en supprimer un, sélectionnez le et cliquez sur -.", 1, 15 10 160 40, center pour
  check "Activer / Désactiver", 2, 15 35 60 10
  list 3, 15 50 75 75
  edit "", 5, 100 75 70 10
  button "+", 6, 115 89 10 10
  button "-", 7, 145 89 10 10
  button "Valider", 9, 40 255 50 10, ok
  button "Retour", 10, 110 255 50 10, cancel
  text "Ajouter un mot", 11, 115 65 70 10
  link "- Site du créateur -", 12, 77 275 50 45 9
  text "Définissez la phrase d'avertissement :", 13, 16 130 150 10
  edit "", 14, 16 140 168 10
  text "Définissez la phrase de dévoice :", 23, 16 155 150 10
  edit "", 24, 16 165 168 10
  text "Combien temps que la personne restera dévoice (en minute) ?", 15, 16 180 170 10
  edit "", 16, 168 178 16 10
  text "Définissez la raison du kick :", 17, 16 190 70 10
  edit "", 18, 16 200 168 10
  text "Définissez la raison du ban :", 19, 16 215 70 10
  edit "", 20, 16 225 168 10
  text "Combien temps que la personne restera bannie (en minute) ?", 21, 16 240 170 10
  edit "", 22, 168 238 16 10
}

alias badwords { dialog -m BadWord BadWord }

on *:dialog:BadWord:init:0:{
  if (%badword == on) { did -c $dname 2 }
  else { did -u $dname 2 }
  loadbuf -o BadWord 3 bw.txt
  set %NbrLigneBw $lines(bw.txt)
  did -a $dname 14 %pavert
  did -a $dname 16 $calc(%tdev / 60)
  did -a $dname 18 %pkick
  did -a $dname 20 %pban
  did -a $dname 22 $calc(%tban / 60)
  did -a $dname 24 %pdev

}
on *: dialog:BadWord:edit:*:{
  if ($did(14) != $null) { set %pavert $did(14) }
  else { unset %pavert }
  if ($did(16) != $null ) { set %tdev $calc($did(16) * 60) }
  else { unset %tdev }
  if ($did(18) != $null ) { set %pkick $did(18) }
  else { unset %pkick }
  if ($did(20) != $null ) { set %pban $did(20) }
  else { unset %pban }
  if ($did(22) != $null ) { set %tban $calc($did(22) * 60) }
  else { unset %tban }
  if ($did(24) != $null ) { set %pdev $did(24) }
  else { unset %pdev }
}

on *:dialog:BadWord:sclick:*:{
  if ($did == 12) { run http://www.evilsnet.org }
  if ($did(2).state == 1) { set %badword on }
  else { unset %badword }
  if ($did == 6) { write bw.txt $did(5) | did -a $dname 3 $did(5) }
  if ($did == 7) {
    echo -a 14Vous avez retirer le mot3 $did(3).seltext 14de la liste des Bad-Words.
    did -d BadWord 3 $did(3).sel
    write -c bw.txt
    set %BWcompteur 1
    set %MaxBW $did(3).lines
    while ( %BWcompteur <= %MaxBW ) {
      write bw.txt $did(3,%BWcompteur).text
      inc %BWcompteur
    }
  }
}

on *:dialog:BadWord:close:*:{
  if (%badword == on) { echo -a 14Anti BadWord 3Activé ! }
  else { echo -a 14Anti BadWord 4Désactivé ! }
}

on *:text:*:#:{
  if (%badword == on) {
    if (($me isop #) || ($me ishop #)) {
      if (($nick isop #) || ($nick ishop #)) { halt }  
      set %NbrMotPhrase $0
      set %NbrMotPhraseCompteur 1
      while (%NbrMotPhraseCompteur <= %NbrMotPhrase) {
        set %parcoursLignesBw 1
        set %CoupureDroite $pos($strip($1-),$chr(32),%NbrMotPhraseCompteur )
        set %CoupureGauche $pos($strip($1-),$chr(32),$calc(%NbrMotPhraseCompteur - 1))
        if (%NbrMotPhraseCompteur <= 1) {
          set %MotVérifié $remove($left( $strip($1-),%CoupureDroite),$chr(32),*,?)
        }
        if ((%NbrMotPhraseCompteur > 1) && (%NbrMotPhraseCompteur < %NbrMotPhrase)) {
          set %MotVérifié $remove($mid($strip($1-),%CoupureGauche,$calc(%CoupureDroite - %CoupureGauche)),$chr(32),*,?)
        }
        if (%NbrMotPhraseCompteur == %NbrMotPhrase) {
          set %MotVérifié $remove($mid( $strip($1-),%CoupureGauche),$chr(32),*,?)
        }
        if ($read(bw.txt,w,%MotVérifié)) { 
          inc %bad $+ $nick
          if (%bad [ $+ [ $nick ] ] <= 3) {
            if (%pavert != $null) { msg # %pavert }
            else { msg # 7[14Avertissement7] 3- 14Reste poli(e)3 $nick 14! }
          }
          if (%bad [ $+ [ $nick ] ] == 4) {
            mode # -v $nick
            if (%pdev != $null) { msg # %pdev }
            else { msg # 7[14Dévoice7] 3- 14Je t'avais dit de rester poli(e)3 $nick 14! Un dévoice de3 214minutes. }

            if {%tdev != $nulm) { timer 1 %tdev mode # +v $nick }
            else { timer 1 120 mode # +v $nick }
          }
          if (%bad [ $+ [ $nick ] ] == 5) {
            if (%pkick != $null) { kick # $nick %pkick }
            else { kick # $nick 14Est-ce si compliquer de rester 3poli(e) 14?? }
          }
          if (%bad [ $+ [ $nick ] ] => 6) {
            mode # +b $address($nick,2)
            if (%pban != $null) { kick # $nick %pban }
            else { kick # $nick 14Trop, c'est trop ! }
            if (%tban != $null) { timer 1 %tban mode # -b $address($nick,2) }
            else { timer 1 3600 mode # -b $address($nick,2) }
          }
        }
        inc %NbrMotPhraseCompteur 
      }
    }
  }
}

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

14 août 2007 22:19:08 :
Correction d'une faute de frappe ^^
14 août 2007 22:34:06 :
Petit problème, ca ne protégeait pas les ops ni les halfops, corrigé
15 août 2007 13:18:32 :
AJout de la personnalisation des messages, kick, dévoice, temps,...
15 août 2007 16:25:28 :
Ajout d'une capture d'écran + Fichier zip.

Commentaires et avis

signaler à un administrateur
Commentaire de ISoKa le 14/08/2007 23:22:09

Bonjour,
Je trouve ton systeme un peut lourd si jamais on es present sur de gros salons je toruve pas ca trop optimal. La boucle sur chaque mot de la phrase.... Pourquoi ne pas allerger tout ca ? Passer avec des regex et des Htables qui te ferai gagner enormement en vitesse d'execution. Pour conclure je trouve pas cette source super innovante vu qu'il y en a deja pas mal de anti badwords sur ce site. Essai de l'optimiser et de la rendre plus parametrable car tant qu'a faire un dialog, autant qu'on puisse parametrer au bout de combien de fois on kick,ban,devoice les phrases d'avert,kick,ban ainsi que la possibilité de mettre des exceptions genre le gros mot de la mort c ban direct fin bon voila.

signaler à un administrateur
Commentaire de chris_c_mwa le 15/08/2007 11:50:07

Bonjour. Merci pour ton commentaire. Cependant, j'ai pas allégé car j'ai jamais vraiment toucher aux regex et htables :/
En effet, pour ce qui est du temps, de la raison du kick etc je vais penser à l'amélioré.

signaler à un administrateur
Commentaire de ISoKa le 15/08/2007 17:20:18

c'est bien que tu ais permi de configurer mieux ton systeme. Toutefois j'avai pas vu mais à mon avis ne met pas initié comme niveau de la source, les outils que tu utilise sont assez basiques (pas de htables,regex,dll etc...) et surtout la boucle sur chaque mot de la phrase...
Pour les htables, c'est vraiment simple. il te suffit de te creer ta htable ex : hmake 30 nom-de-ta-table
ensuite tu rajoutes ce que tu veux mettre dedans ex : hadd nom-de-ta-table nom-item tes-données
et ensuite tout peux se faire avec $hget ou $hfind.
ensuite pour les regex dans le cas qui t'interesse l'utilisation des regex est excessivement simple par raccourci quand j'ecri BW il faudra lire badword.
donc tu as BW1 BW2 BW3 BW4
il te suffit de faire un truc du genre
if ($regex($1-,/(BW1|BW2|BW3|BW4)/i)) == 1) { action }
pour expliquer ca :
un regex  = 1 si les conditions contenues dedans sont validée. cad dans ce cas présent si BW1 ou BW2 ou BW3 ou BW4 est présent dans $1- alors actions. le "/ /i" est là pour dire qu'on s'en fou que ce soit des majuscules ou minuscules pck par défaut les regexs font la distinctions. de plus là j'ai mi :
if ($regex($1-,/(BW1|BW2|BW3|BW4)/i)) == 1) { action }
mais on peut tout aussi bien mettre
if ($regex($1-,%i) == 1) { action }
avec %i = /(BW1|BW2|BW3|BW4)/i
donc tu peux trés bien te créer des variables kom ca via ton dialog et ainsi tu traiterais la phrase dans son enssemble et abandonnerai ce while.
l'idéale aprés bien sur à mon avi c'est de mettre ca en htable genre tu crée ta htable BW dedans tu crée un items qui s'appelle BW1 et cet item contiendrai genre /(BW1|BW2|BW3...etc)/i
et t'aurai juste à appelé ces items via un $hget.
fin bon voila un peut kelkes idées.
dernier point tant que j'y pense :
pourquoi quand on enleve un BW de la liste tu efface tout ton txt pour tout réecrire dedans ? c'est pas trés élégant, tu ferais mieux de supprimer juste la ligne en question, ca serai moins lourd kom traitement. ou alors si tu y tiens vraiment à faire ca fais le au moins avec du file handling.

signaler à un administrateur
Commentaire de chris_c_mwa le 15/08/2007 17:33:08

Euhm, merci je regarderais quand j'aurais le temps ce que je peux faire pour cela :)

Merci de ton aide et avis ^^

signaler à un administrateur
Commentaire de RCA ArKanis le 15/08/2007 18:28:49

ton regex est pas génial : tu ne vérifies pas que $1- commence sur BW et finisse sur un chiffre. Et puis enlève moi ce == 1 :(

if ($regex($1-,/^BW[0-4]$/i)) action

sinon j'ai pas eu le courage de lire le pavé :(

signaler à un administrateur
Commentaire de wims le 15/08/2007 19:50:41

un regex  = 1 si les conditions contenues dedans sont validée.

pas toujours si tu utilise /g, il peux retourné le nombre de fois de le pattern est matché

signaler à un administrateur
Commentaire de doob666 le 15/08/2007 19:51:55

pourquoi n'ajoute tu pas un quick? (kick + ban de 5secondes) pour éviter les auto join on kick?? sinon c'est ... très très lourds, et puis déjà vu et revu, améliore, trouve de nouvelles idées pour l'améliorer. ajoute l'option pour faire subir la sentence aux halfops et ops!!! a bas la discrimination par le statut!! tout le monde doit suivre les mêmes règles et subir les même sentences!

signaler à un administrateur
Commentaire de ISoKa le 15/08/2007 21:00:14

lol mea culpa sur le regex pour le == 1 c clair que ct inutil mais bon ct pour ke ca soit plus simple puiskil ne connait pas idem pour la non prise en compte de la possibilité de //g. ensuite pour le BW ici BW représentai un badword genre BW1 = merde BW2 = con etc... donc je pense que ma facon de faire etait la bonne.

signaler à un administrateur
Commentaire de wims le 15/08/2007 21:12:13

J'ai pas reelement vraiment regarder la source, ça ne m'interesse pas trop, j'ai juste vu ça dans le commentaire et j'ai voulu faire chier :p

signaler à un administrateur
Commentaire de chris_c_mwa le 15/08/2007 21:23:18

Vu et revu, peut-être mais pas plagié. Si je ne poste pas, comment savoir comment amélioré ma source ? ^^

signaler à un administrateur
Commentaire de wims le 15/08/2007 21:31:49

doob666, poste donc ton snippet sur /timers ici, il est pas mal mais j'aimerai apporter des modifs parce qu'il est mal coder ;)

signaler à un administrateur
Commentaire de ISoKa le 16/08/2007 05:12:11

comme j'avai 5min à tuer j'ai commencé un pti truc en faite dans ton devent sclick pour le $did == 6 si dedans tu mets :
var %i 1
while 900 <= $len( [ %bw $+ [ %i ] ] )) inc %i
; cette ligne sert a créer tes variables BW1, BW2 etc... pck la ;longueur des variables n'est pas infini donc si jamais ta liste ;devient longue sur une seule variable ca pourrai saturer.
if !%bw $+ [ %i ] set %bw $+ [ %i ]
$+($chr(47),$chr(40),$chr(41),$chr(47),i)
;crée la variable %bwx si elle existe pas
set %bw $+ [ %i ] $+($chr(47),$chr(40),$addtok($right($left( [ %bw $+ [ %i ] ] ),-3),-2),$did(5),124),$chr(41),$chr(47),i)
;rajoute le mot pour detecter dans la variable à l'arriver tes ;variables ressembleront normalement à /(bw1|bw2|bw3)/i


ca devrai te creer tes bases de detection en regex kom ca aprés dans ton on text te suffit de coller un truc du genre
var %i 1
while (%bw $+ [ %i ] ) {
;tant que bwx existe
var %j [ %bw $+ [ %i ] ]
;on stock %bwx dans %j pck par experience je me rappel que quand ;j'avai essayé de mettre sous la forme %bw $+ [ %i ] dans un regex ;ca merdouillai tjs
if ($regex($1-,%j)) { action | goto out }
;si regex validé alors tu fais tes action kom tu faisai avant sauf ;que là le mieux serai de te faire un alias que tu appelerai je ;pense pour avoir un code plus lisible et ensuite on sor du while
inc  %i
;sinon on inc %i et on recommence
}
:out
ce qui serai kan mm plus leger que ton while initial :)
fin voila un truc à creuser koi j'pense :)

signaler à un administrateur
Commentaire de Anatolei le 16/08/2007 09:13:58

Bonjour, je n'ai pas vraiment pris le temps de lire le post de départ, mais j'aimerais ajouter 2 choses concernant le dernier post de ISoKa.
1° Concernant le regex, je ne suis pas trop d'accord sur ça /(bw1|bw2|bw3)/i . En effet, admettons qu'il y ait dans la base de badword le mot "con", si on utilise ce regex, le mot content va faire réagir l'anti-badword, et je ne pense pas qu'avertir quelqu'un ayant dit "content" soit une bonne chose. Je recommande plutôt /\b(bw1|bw2|bw3)\b/i avec \b = Début ou fin de mot. Si quelqu'un à une autre idée je suis tout autant preneur =)
2° Concernant le goto pour sortir de la boucle. Un /break suffit pour sortir de la boucle, il faut y penser :)

Voilà ce qui m'a sauté aux yeux, maintenant si j'ai le temps de tout lire et que j'ai des choses à ajouter je posterais à nouveau.

signaler à un administrateur
Commentaire de RCA ArKanis le 16/08/2007 13:06:44

au lieu du regex, utilise plutôt $istok pour ne pas utiliser trop de ressources ^^

signaler à un administrateur
Commentaire de ISoKa le 16/08/2007 13:50:59

bijour:)

Pour le "con" oui c'est sur qu'il faut bien parametrer ces detection pour eviter les dommages collateral, c'est bien pour ca que j'ai di que c'etait quelque chose à creuser. et d'ailleur je suis sur qu'il y a encore pas mal de suptilité qui pourraient etre évoquée.
pour le $istok je suis pas trop d'accord puisque à la base on cherche  certe une presence d'un mot dans une phrase, mais c'est d'un mot parmis une liste donc faudrai mettre un while sur la liste avec $istok ce qui nous rammenerai à un systeme un peu lourd je pense.

signaler à un administrateur
Commentaire de hisoka2501 le 18/01/2008 21:59:19

erreur ligne 129:
# if {%tdev != $nulm) { timer 1 %tdev mode # +v $nick }

$nulm ?

de plus écrit plutot:
if (!%tdev) .timer 1 %tdev mode $chan +v $nick

utilise $devent et réunis tes on *dialog

quand a ca:
# if (%badword == on) { did -c $dname 2 }

à éviter: remplace on par 1 pour oui et 0 pour non comme ca tu peu comparer avec un boléen ($true $false)et faire gagner du temp a ton script

#  set %NbrMotPhrase $0
# set %NbrMotPhraseCompteur 1

nous donne: set %NbrMotPhrase $0 , %NbrMotPhraseCompteur 1
tu épargne alors une commande a mirc
ps: tu devrais éviter les accents dans les noms de variables (habitude a prendre)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Protection sur quakenet [ par recover512 ] En ce moment sur irc.quakenet.org beaucoup de chan se font "takeover". J'aimerai trouver une bonne protection anti-takeover (anti-deop,anti-ban-kick, cherche script ou addon anti-kick special [ par pipou30 ] Bonjour tout le monde ^^ Je viens juste de m'inscrire , car malgres mes nombreuse recherche je ne trouve pas ce que je recherche :-( Je suis operatri anti spam. sauf tel site [ par bidulesfr ] Hello Hello, J'ai un anti spam qui traine et que je modifie un peu. Celui-ci est classique. Si le texte est interdit et que il est envoy&#233; sur un recherche script anti-lien [ par madoudou ] bonjour,moi je cherche un script anti-lien et j'arrive pas a trouver. Pouvez m'aidez ou me dire ou je peut en trouver. merci Anti insulte aide [ par Adnim_Sonic ] bonjour je sais comment faire mon anti insulte mais je voudrais passe o stade avec un avertisement avent kick mais un fois que je la fait je l active Anti Excess Flood [ par MxS ] Bonjour &#224; tous, Je recherche un script permettant d'&#233;viter les "excess-flood" sur quakenet. Je m'explique : je voudrais en fait par exempl Anti pub [ par Fahdos ] Bon voila j'ai fait beaucoup de rechercge dans se site sans trouver aucun source avec l'option favorable, bon c'est option ou ( variable) c'est dans l protection du kill [ par teddy9303 ] bonjour tout le monde, c'est pr un petit renseignement, en fait voil&#224; je suis admin des services sur un petit serveur, entre pote on s'amuse comm pourquoi ce script anti j/p ban les mecs qui /hop??? [ par int3r_ ] Bonjour, Voilà c'que j'ai dans le remote ;anti join-part ON *:JOIN:#monChan: { set %join. [ $+ [ $nick ] ] 1 .timerunset 1 60 unset %join. [ $+ anti flood [ par mec_tendre91 ] Bonjour je recherche un anti flood qui apres 4 avertisement ban l'user mais qui protege l'op. Si quelqu'un peut m'aider ou me diriger ce serai sympas


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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,889 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é.