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 !

WANTISPAM V3.0


Information sur la source

Catégorie :Scripts Classé sous : Wantispam, antispam, worlddmt, spam Niveau : Débutant Date de création : 14/05/2008 Date de mise à jour : 15/05/2008 10:53:32 Vu / téléchargé: 1 749 / 21

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

D’après les commentaires et les tests sur la version Wantispam V2.1, on a eus cette nouvelle génération des antispams


C’est un antispam, bien sur en text, notice, et action avec possibilité d'une liste de users à protéger.

Souvent on reçoit un kick ban et on nous traite de spammeur pourtant nous avons juste écrit le nom du Chan là ou on est
Par exemple nous somme dans le Chan #abc au cas qu'on écrit j'aime bien ce Chan #abc je me trouve avec un kick :S même avec un simple # aussi :/

Ce code prend soin de ces truc si tu écrit le nom du Chan là où tu es a présent, tu ne sera pas kick ban aussi au cas que tu écrit un simple #, http://, www, www., .com, .net etc. rien que ça tu ne seras pas kick non plus

Donc tu sera kick au cas que tu écrit le nom d'un autre Chan (#Chan) ou un site complet (www.site.com ou http://site.com) :)

En plus tu pourra sélectionner une liste des users qui seront protégé donc au cas d'un Spam ils ne seront pas kick ban :D

 

Source

  • on *:load:{
  • echo * Merci d'avoir installé WorldDMT Anti Spam (Wantispam V3.0)
  • echo * faites clique droite sur le nick que vous voulez protéger
  • echo * vous verrez Wantispam ensuite "protéger" ou "supprimer" les nicks
  • echo * pour voir la liste des nicks protégés cliquez sur liste
  • echo * merci :) WorldDMT
  • }
  • on *:unload:{
  • echo * Merci d'avoir utilisé WorldDMT Anti Spam (Wantispam V3.0)
  • }
  • menu nicklist,query {
  • -
  • Wantispam V3.0
  • .proteger:.writeini -n protect_user.ini prot $1 ce nick est protégé
  • .suprimer:.remini protect_user.ini prot $1
  • .Etat:.if (!$readini(protect_user.ini,prot,$1)) echo 4 # $1 n'est pas encore protégé | else echo 4 # $1 est déjà progégé
  • .liste:.if ($exists(protect_user.ini)) run protect_user.ini | else echo 4 # Pas de liste disponible jusqu'à présent
  • }
  • alias traitement_anti_spam {
  • tokenize 32 $strip($1-)
  • if (($2 isop $1) || ($readini(protect_user.ini,prot,$nick)) || ($wildtok($3-,#*,1,32) == $1) || (!$regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i))) return
  • ban -k $1-2 2 4Spam Protection 1by WorldDMT 14 trouve moi en pv en cas d’erreur
  • }
  • on @*:NOTICE:*:#:traitement_anti_spam $chan $nick $1-
  • on @*:ACTION:*:#:traitement_anti_spam $chan $nick $1-
  • on @*:TEXT:*:#:traitement_anti_spam $chan $nick $1-
on *:load:{
  echo * Merci d'avoir installé WorldDMT Anti Spam (Wantispam V3.0)
  echo * faites clique droite sur le nick que vous voulez protéger
  echo * vous verrez  Wantispam  ensuite "protéger" ou "supprimer" les nicks
  echo * pour voir la liste des nicks protégés cliquez sur liste 
  echo * merci :) WorldDMT
}
on *:unload:{
  echo * Merci d'avoir utilisé WorldDMT Anti Spam (Wantispam V3.0)
}

menu nicklist,query {
  -
  Wantispam V3.0
  .proteger:.writeini -n protect_user.ini prot $1 ce nick est protégé
  .suprimer:.remini protect_user.ini prot $1
  .Etat:.if (!$readini(protect_user.ini,prot,$1)) echo 4 # $1 n'est pas encore protégé | else echo 4 # $1 est déjà progégé
  .liste:.if ($exists(protect_user.ini)) run protect_user.ini | else echo 4 # Pas de liste disponible jusqu'à présent
}

alias traitement_anti_spam { 
  tokenize 32 $strip($1-) 
  if (($2 isop $1) || ($readini(protect_user.ini,prot,$nick)) || ($wildtok($3-,#*,1,32) == $1) || (!$regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i))) return
   ban -k $1-2 2 4Spam Protection 1by WorldDMT 14 trouve moi en pv en cas d’erreur 

}

on @*:NOTICE:*:#:traitement_anti_spam $chan $nick $1- 
on @*:ACTION:*:#:traitement_anti_spam $chan $nick $1- 
on @*:TEXT:*:#:traitement_anti_spam $chan $nick $1- 

Conclusion

Vous trouverez dans le ZIP un fichier guide.txt qui vous aidera à installer, et à travailler avec Wantispam V3.0


 

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 mai 2008 21:35:32 :
j'ai changer alias traitement_anti_spam { tokenize 32 $strip($1-) if ($2 isop $1) return if ($wildtok($3-,#*,1,32) == $1) return if (!$readini(protect_user.ini,prot,$nick)) { if ($regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i)) ban -k $1-2 2 4Spam Protection 1by WorldDMT 14 trouve moi en pv en cas d’erreur } } et j'ai remplacé par alias traitement_anti_spam { tokenize 32 $strip($1-) if (($2 isop $1) || ($readini(protect_user.ini,prot,$nick)) || ($wildtok($3-,#*,1,32) == $1) || (!$regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i))) return | ban -k $1-2 2 4Spam Protection 1by WorldDMT 14 trouve moi en pv en cas d’erreur }
14 mai 2008 22:25:26 :
Orthographe :p

Commentaires et avis

signaler à un administrateur
Commentaire de RCA ArKanis le 14/05/2008 19:03:40

Wims t'avait précédemment fait remarquer qu'il n'était pas nécessaire d'utiliser $chan et $nick lors de l'appel de l'alias de traitement.
Sinon, je ne vois pas pourquoi avoir fait un nouveau oO remplacer l'ancien aurait été tout aussi bien, à moins que tu le supprimes (et oui, tu ne vas pas laisser 2 versions dont une qui ne sert à rien)

Dans le menu, tu peux utiliser les $style pour indiquer directement s'il est dans la liste ou pas (le 1, cf /help $style)

Gaffe sur l'ortho (d'avoir installé, la liste des nicks protégés, d'avoir utilisé)
progégé ? :p

Je vais pas m'amuser à corriger les fautes de la description par contre.

  if ($2 isop $1) return
  if ($wildtok($3-,#*,1,32) == $1) return
  if (!$readini(protect_user.ini,prot,$nick)) {

deviennent :
  if (($nick isop $chan) || ($readini(protect_user.ini,prot,$nick)) || ($wildtok($3-,#*,1,32) == $chan)) return

signaler à un administrateur
Commentaire de PaDa le 14/05/2008 21:11:49

"LE MEILLEUR ANTISPAM DE LA SAISON PAR WORLDDMT"
Tu fais aussi dans l'humour ?

C'est un petit remote intéressant, surtout pour un débutant puisqu'il est lisible, mais ce n'est pas parce que tu as pondu une petite regex assez basique que tu peux dire ce genre de chose..

Bonne continuation

signaler à un administrateur
Commentaire de WorldDMT le 14/05/2008 21:19:56

PADA :)

moi perso j'ai jamais vu des anti spam avec une liste d'exception c'est ce que j'ai essayé de faire c'est pas le regex qui compte :)

cette petite remote me permet d'avoir un antispam mieu que les autre a mon avis :)

signaler à un administrateur
Commentaire de WorldDMT le 14/05/2008 21:29:27

salut Arkanis

tu a vu ça ou??? "Gaffe sur l'ortho (d'avoir installé, la liste des nicks protégés, d'avoir utilisé) progégé ? loooooooooool :pp

et pour le

if (($nick isop $chan) || ($readini(protect_user.ini,prot,$nick)) || ($wildtok($3-,#*,1,32) == $chan)) return

pourquoi pas aussi ça

if (($2 isop $1) || ($readini(protect_user.ini,prot,$nick)) || ($wildtok($3-,#*,1,32) == $1) || (!$regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i))) return | ban -k $1-2 2 4Spam Protection 1by WorldDMT 14 trouve moi en pv en cas d'erreur  

;) c'est cool nn :p

signaler à un administrateur
Commentaire de PaDa le 14/05/2008 21:56:13

C'est super cool, mais il n'y a aucune chance que ton "ban -k" s'exécute un jour ;-) Tu peux mettre n'importe quoi c'est la même chose...

signaler à un administrateur
Commentaire de RCA ArKanis le 14/05/2008 21:56:49

le but, c'est de ne pas avoir de | (c'est super moche et ça ralenti inutilement le code !!!)
ne pas non plus abuser des lignes super longues
le regex est déjà assez long en lui même pour que tu puisses lui attribuer une ligne à lui tout seul

les fautes d'orthographe que je t'ai données sont bien entendu corrigées ... à toi de les trouver dans ta description qui fait partie de la source.

le unload peut lui aussi tenir en une ligne :
on *:unload:echo * Merci d'avoir utiliser WorldDMT Anti Spam (Wantispam V3.0)
(en corrigeant cette horrible faute au passage)

tu ne perds pas tellement en clarté en plus.

signaler à un administrateur
Commentaire de WorldDMT le 14/05/2008 22:18:32

PADA esque t'as testé le script ?? :) mon ban -k s'execute super bien ;)

Arkanis si c'est pour le | ok j'enlève :p

et pour la faute j'avais pris sur "d'" :/ j'avais pas fais attention t'a raison :pp

signaler à un administrateur
Commentaire de CsDarkman le 14/05/2008 22:28:15

bein ta corrigé le max d'erreur
ta mis tt sous l alias
ta version comém a encore besoin de mise a jour
Pour ta action
ban -k $1-2 2 4Spam Protection 1by WorldDMT 14 trouve moi en pv en cas d'erreur  
utilise aussi un halt apré l'action
Pour les multi version essaye de faire des mise a jour o méme code
Pas créer chaque jour une nouvelle v$
:)

signaler à un administrateur
Commentaire de WorldDMT le 14/05/2008 22:37:30

CsDarkman merci
mais j'ai pas compris "utilise aussi un halt apré l'action"

signaler à un administrateur
Commentaire de PaDa le 14/05/2008 23:01:20

@WorldDMT: non, je n'ai pas testé : je n'ai pas de doute sur le fait que ton code s'exécute bien, c'est ce que tu as mis en commentaire, juste au dessus du mien, qui ne pouvait pas marcher, relis-toi ;o)

signaler à un administrateur
Commentaire de WorldDMT le 14/05/2008 23:06:53

moi je teste tjr avant de poster et ça marche a 100%
alors que toi t'a pas testé je ne sais pas sur quoi tu te base ;-)

signaler à un administrateur
Commentaire de PaDa le 15/05/2008 00:43:02

Rah...

if (($2 isop $1) || ($readini(protect_user.ini,prot,$nick)) || ($wildtok($3-,#*,1,32) == $1) || (!$regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i))) return | ban -k $1-2 2 4Spam Protection 1by WorldDMT 14 trouve moi en pv en cas d'erreur  

Voici le code que tu as écrit dans un de tes commentaires : là-dedans, le "ban -k" ne peut pas être exécuté, puisqu'il est mis après un "return" qui arrête l'exécution du code.

Ouvre ton éditeur de remotes.
Tape ceci :
alias blah {
  echo -s avant
  if ($true) return | echo -s return!
  echo -s après
}

Et amuse-toi :-)

Ensuite, je ne tiens pas à être méchant, mais je n'ai pas vraiment besoin de tester ton code pour savoir ce qu'il fait, s'il marche en gros, et s'il m'intéresse. Comme je l'ai dit plus haut, je le trouve intéressant pour l'aspect pédagogique. Il est relativement original, et plutôt bien écrit pour un débutant qui passerait, et pourrait s'en inspirer. Les autres t'ont déjà fait des remarques constructives sur ta manière de coder, tu vas pouvoir progresser avec cela, et petit à petit tu pourras arriver à une source vraiment sympa ! Mes commentaires ne sont pas méchants ou négatifs, je pense sincèrement que ta source est intéressante, je faisais juste remarquer que l'un de tes codes DANS TES COMMENTAIRES était un peu mal foutu.

Et puis, pour mon premier comment, je te taquine juste, désolé si ça t'a été désagréable, ça n'était pas le but.

Bonne continuation !

signaler à un administrateur
Commentaire de RCA ArKanis le 15/05/2008 10:35:14

PaDa, ce que tu dis est vrai s'il y avait des { }, mais ce n'est pas le cas
dans un IF, si tu n'as pas de { }, il ne fait que la 1ere action
//if (1 == 2) echo -a k1 | echo -a k2
affichera k2 dans tous les cas
si maintenant à la place du k1 tu as return, le k2 ne s'affichera que si la condition est fausse.


ce qu'il tenait à faire, c'est ça :
  if (($2 isop $1) || ($readini(protect_user.ini,prot,$nick)) || ($wildtok($3-,#*,1,32) == $1) || (!$regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i))) return
  ban -k $1-2 2 4Spam Protection 1by WorldDMT 14 trouve moi en pv en cas d'erreur

et il s'est dit (truc stupide, certes), qu'il peut tout mettre en une ligne en rajoutant |. Ca fonctionne, mais c'est laid

signaler à un administrateur
Commentaire de WorldDMT le 15/05/2008 10:44:47

merci PADA
mais je voulais t'eclairsir quelque choses :)
pour que tu sois mechant ou pas je ne te juge pas et je prefaire un commentaire mechant qu'une flatterie :)

en plus pour

if (($2 isop $1) || ($readini(protect_user.ini,prot,$nick)) || ($wildtok($3-,#*,1,32) == $1) || (!$regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i))) return | ban -k $1-2 2 4Spam Protection 1by WorldDMT 14 trouve moi en pv en cas d'erreur  


dsl PADA mais j'ai bien dis que j'ai testé alors si ça ne ne s'execute pas qui m'a kick alors ??? regarde le "|" :) ce qui veu dire moi le debutan je te dis que si le nick est op ou est ds la liste proteger ou a ecrit le nom du chan ou n'est pas ds le regex return mais si nn ça serait ban -k ;)

et j'ai tester et je me suis touver ak un kick ban :D mais t'a raison apres le return ya pas d'action mais si c'etait sans le "|" :)

signaler à un administrateur
Commentaire de SornDrixer le 15/05/2008 11:00:42 administrateur CS

Titre de la source modifié, merci d'éviter l'usage de superlatifs dedans ;)

signaler à un administrateur
Commentaire de PaDa le 15/05/2008 13:27:49

Ok, (au temps|autant) pour moi, mon cerveau était éteint hier, désolé. Comme quoi je suis pas encore en osmose avec mIRC..




(saloperie de mIRC)

signaler à un administrateur
Commentaire de RCA ArKanis le 15/05/2008 14:44:41

(au temps :p)
comme quoi, cette syntaxe est loin d'être la plus claire ! à éviter au maximum donc

signaler à un administrateur
Commentaire de PaDa le 15/05/2008 15:12:08

C'est surtout que je fais plus de mIRC assez souvent, et si je ne dis pas de bêtises, dans d'autres langages, la condition porte sur la ligne entière quand tu mets un séparateur type ";" (en php, perl, ruby par exemple). Enfin, ce serait à vérifier !

Pour la regex, tu as repris telle quelle la regex de TropNul sur ta source précédente ? A vue de nez elle doit pouvoir se rendre un peu plus lisible en la construisant avec des variables, puisque le même motif se répète plusieurs fois.

signaler à un administrateur
Commentaire de CsDarkman le 15/05/2008 19:37:37 10/10

Lol +10 WORLDMT
tn code fonctionne bien
on peut avoir 1000 syntaxes pour faire un code comme ca l'important ke le code fonctionne bien
o monde de programmation soit java c++ vb irc tcl j sais pa koi
l'important c la resultat en moindre de ligne et ta fai ca alors tu mérite ta +10 bon courage ^^

signaler à un administrateur
Commentaire de PaDa le 15/05/2008 20:05:14

Troll detected :-)

L'important quand tu fais du dev à un niveau un peu sérieux, c'est souvent (en entreprise notamment) que ton code 1/ remplisse la fonction pour lequel il est écrit avec un certain nombre de contraintes (performance, modularité, montée en charge, interfaçage avec d'autres systèmes), 2/ soit lisible/maintenable/possible à reprendre par un autre développeur.

Un petit exemple pour la route ?
Voici du Perl :
perl -le '$|=$_=1; (1x$_)!~/^(11+)\1+$/o && print while ++$_'

C'est court, c'est sûr. Mais je doute que tu comprennes instantannément à quoi ça sert (le premier qui trouve sans le lancer a droit à mon admiration éternelle :-)) Et je doute également qu'un développeur "normal" arrive à l'adapter à ses besoins facilement...

My 2 cents...

signaler à un administrateur
Commentaire de WorldDMT le 15/05/2008 20:17:50

Merci CsDarkman pour la note :)

PADA TropNul m'a attiré l'attention sur le regex

$regex($strip($1-),/(\#\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i)

Et moi j'ai refais comme ça

$regex($3-,/(\#\w+\b|(?:[-_\.]\w+)?@\w+([-_\.]?\w+)?\.\w+\b|(www\.|http:\/\/)\w+([-_\.]?\w+)?\.\w{2,4})/i)

Il y a une différence je pense et c'est pas mal de l'utiliser je pense :/  j'ai ajouter pour les mail et si tu veux j'ajouterai pour les serveur irc aussi :)

pour le premier code c'etait le premier code que j'ai fais dans ma vie c'est sur que ça doit etre a ce point je te rappel que j'ai commencé a scripter depuis novembre 2006 et j'ai arreté en decembre car j'etais occupé ensuite j'ai repris depuis 1 ou 2 semaines :)
donc je suis nouveau née en script mIRC :)


Je ne vois pas pk tu cherche a fusionner les code php, perl, ruby ou autre ak mIRC !!

Nous somme ici pour présenté nos codes et avoir des coms pour les améliorer :)

Tien par exemple avant cette version j'avais fais l'exception des user par niveau on m'a dis que ça va pas trop marcher ensuite j'ai vu le code de CsDarkman pour traduction ça m'a donné une idée pour développer le mien et soit sur si il n'y avait pas de "1" il n'aurait jamais eus de "2" ;)

Arkanis m'a tjr aidé a amélioré mes codes je suis débutant c'est normale :)

signaler à un administrateur
Commentaire de PaDa le 15/05/2008 21:11:04

Ok pour la regex :) Elle est assez bien foutue pour détecter un maximum de choses sans faire trop de faux-positifs, je pense que si tu te plonges dedans tu arriveras à la rendre plus lisible mais pas l'améliorer de beaucoup. En tout cas ton amélioration me parait intéressante.

Et je ne cherche pas à fusionner d'autres langages avec mIRC (bien que ce soit possible), je donnais juste un exemple pour illustrer mon propos, à savoir : "coder en un minimum de lignes ne me parait pas être un objectif raisonnable" :)

Bonne continuation, à bientôt :)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

info pour un on:join:#: SVP [ par phil1957 ] j'aurai aimé ke ce ki suit puisse être en on:join:#: à l'entrée sur un chan. Merci par avance pour votre attention et vos réponses :menu menubar,chann Anti Spam [ par psyckan ] Voila je cherche a faire un anti-bot-spammeurEn effet comme vous avez pu le remarquer sur le serveur de Voila/Wanadoo le spam c'est pas ça qui manque Probleme de Spam [ par majinkaioh ] Bonjour à tousVoila j'utilise mirc depuis un certain temps jusquà la aucun probleme.Mais voila que depuis quelques jours je suis banni d'un chan pour Détecteur de spam [ par fyltum ] Voila comme sur mon chan il commence a avoir des lourds qui spam et qui quitent j'ai voulu mettre un remote pour prévenir les users de mon chan mais ç Anti clones et spam [ par fyltum ] Bonsoir, j'ai demandé précédement un remote simple sur les spams ( exelent d'ailleur ) mais je voucrai le configurer uniquement sur plusieurs chans et AntiSpam [ par chez_moe ] Salut les boys , J'ai un leger probleme de spambot sur Undernet pis le seul anti-spam génial que j,ai trouver c'est celui de JHD "socket anti spa détéction spam pour bot / en pv et en away / possible ? [ par HySteriK ] Salut, noob is BACK (lol) c'est ENCORE pour mon bot je voudrais que lorsque quelqu'un le spam en pv il me le rapporte sur un chan précis et qu'i aide, fonction sur un bouton, interface graphique [ par lobotomised ] Bijours tout le monde. Jai mon pti script que je suis en train de vois pour l''améliorer. Surtout pour lui rajouter E ou 3 fonctions. La je vie 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é sur un Probleme de link socket ... [ par com8nico ] Bonjour tout le monde , je voudrais savoir comment connecté plusieurs socket sur un seul link (pour unreal) car quand j'esseye d'e


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



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,312 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é.