Anti spam chan [Résolu]

azerty10100 38 Messages postés vendredi 27 février 2009Date d'inscription 8 novembre 2010 Dernière intervention - 28 nov. 2006 à 12:45 - Dernière réponse : cs_wims 2473 Messages postés vendredi 23 juillet 2004Date d'inscription 1 août 2010 Dernière intervention
- 28 nov. 2006 à 18:42
j ai refais un source de Delirium ( qui est la http://www.ircfr.com/codes/ANTI-SPAM-OU-GROS-MOT-AVEC-AVERTISSEMENT-PUIS_14472.aspx ) en anti spam avec regex de PaDa et sa rend bien
1-> Sa l'averti
2-> Sa le kick
3-> Sa le ban
:o)

on *:text:*:#: {
  if ($me isop $chan) {
    if $regex($strip($1-),/(http:\/\/\S+|www\.\S+|#|(?:\d{2} ){4}\d{2}|\w+@\w+\.(?:com|fr|org|net)|w w w \. (?:\S )+)/i) {
      if ($nick isop $chan) {
        notice $nick �2;�3;4C'est pas parceque t'es  @op $nick que tu peut spammer ! ( Troud'bal )
      }
      else {
        inc %pub $+ $address
        if (%pub [ $+ [ $address ] ] = 1) {
          notice $nick �2;�1F;/!\�1F; �3;4�1F;Spam�1F; !!! C'est ton %pub [ $+ [ $address ] ] $+ er avertissement $nick !!! Au 2ème c'est le kick !!! �3;1�1F;/!\�1F;
          .timer1 1 3600 .unset %pub [ $+ [ $address ] ]
        }
        else {
          if (%pub [ $+ [ $address ] ] = 2) {
            kick $chan $nick �2;�1F;/!\�1F; �3;4�1F;Spam�1F; !!! $me pas contant, c'est ton %pub [ $+ [ $address ] ] $+ ème avertissement $nick !!! Au 3ème c'est le ban !!! �3;1�1F;/!\�1F;
            .timer1 1 3600 .unset %pub [ $+ [ $address ] ]
          }
          else {
            if (%pub [ $+ [ $address ] ] = 3) {
              ban -u600 # $address
              .kick $chan $nick �2;�1F;/!\�1F; �3;4�1F;Spam�1F; !!! Je t'es avertis ... Je t'es kicker ... Bah la c'est le ban ... Va reflechir dehors 10min �3;�1F;/!\�1F;
              .unset %pub [ $+ [ $address ] ]
            }
          }
        }
      }
    }
  }

Jusque la tout va bien sauf que ...
J'ai eu une pure idée qui a murie dans ma ptite tete ^^
Si un user entre sur le salon avec une phrase auto du genre " Salut #BlaBla "
Ou que c'est un pote qui te file une site fun
Faudrais faire une commande ( Pour op ) Du genre !delpub pseudo ( ou encore mieux /msg bot delpub pseudo )
J ai essayer mais j y arrive pas
j avais pensé a


On *:text:!delpub*:#:{
  if ($me isop $chan) {
    if ($nick isop $chan) {
      if ( $$1 == %pub $+ $address) {
        .unset %pub [ $+ [ $address ] ]
        echo -at $$1 enlevé de la variable
        notice @ $+ # $$1 Enlevé de la variable
      }
    }
  }
}


Mais sa ne fonctionne pas :/
Est ce que vous pouvez m aidez ? Merci d avance ^^
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
cs_wims 2473 Messages postés vendredi 23 juillet 2004Date d'inscription 1 août 2010 Dernière intervention - 28 nov. 2006 à 18:42
3
Merci
Jme permet de corrigé un peu ton code :) :

on *:text:*:#: { if ($me isop $chan) {
reviens a on @*:text:*:#:

là, jtrouve ca assez marrant :
if (%pub [ $+ [ $address ] ] = 1) {
;si le if est vérifié, alors tu est sur que c'est le premier avertissement
notice $nick /!\ 4Spam !!! C'est ton %pub [ $+ [ $address ] ] $+ er avertissement $nick !!! Au 2ème c'est le kick !!! 1/!\

là tu réutilise le %pub [ ... $+ alors que tu n'en a pas besoin , tu sais tres bien que c'est 1 ( c'est la meme chose pour deux et trois )

ban -u600 # $address
.kick $chan $nick /!\ 4Spam !!! Je t'es avertis ... Je t'es kicker ... Bah la c'est le ban ... Va reflechir dehors 10min /!\

reviens a ban -ku600 # $nick 2 "raison"
le 2 est le type de ban ( regarde a $mask pour voir a quoi correspond $address dans l'event , j'crois que c'est le type 0 )

Pour ton probleme, déja si on spam en donnant le nom du salon, cela va déclenché ton code ? car ce n'est pas censé etre du spam de dire #Ga si on est sur le salon #Ga.
Ca résoudrais le probleme de l'user qui join et qui automatiquement salut le salon.

et pour les user particulié qui aurai droit de spammé ( ca s'appelle plus du spam si tu tolere mais bon ) genre tes amis op ou non tu devrait plutot crée une variable contenant les addresses ou pseudos des user particulié et au debut de ton code tu vérifie si l'user qui spam est particulié ou non et si oui, tu /return sinon, tu met le reste de ton code =)

En gros : essaye de voir si dans le regex tu peux faire en sorte que s'il detecte un #, ca sois pas le nom du salon et faire un ptit alias pour stocké des pseudos/addresse pour ensuite vérifié au tout debut de ton code

Merci cs_wims 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de cs_wims

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.