Accueil > > > ANTI INSULTES EN HASHTABLE
ANTI INSULTES EN HASHTABLE
Information sur la source
Description
Salut.
Je propose ma premiere source issue de moi-même et de mon ami came boy pour le citer.Apres en avoir testé un paquets ayants tous des bugs ou problèmes de reconnaissance réelle des mots,on a tenté de faire un bon anti insulte qui fasse vraiment la diférence entre une insulte et non pas un mot comme "con" reperé dans "connaitre" par exemple,et devant aussi prendre en compte les diférences de codes compris dans l'écriture d'un script utilisant la couleur dans l'écriture. c'est pourquoi nous avons utilisé les tokens,de plus ce code fonctionne en hashtable.Il suffit d'entrer sois-même tous les mots et insultes dans la liste,modifiable à volonté biensur.Il est activable ou non,avec choix de protections des ops,voice,choix des sentence : avertir,kick ou kickban et choix du canal d'action (# pour tous les chans ou l'on est op).Ce code tourne depuis longtemps sur mon salon et fonctionne parfaitement et fait vraiment son boulot.Puisse-t-il servir à d'autre, enjoy ;o)
Source
- dialog badwords {
- title "© •anti-insultes•"
- size -1 -1 152 190
- option dbu
- list 2, 21 44 110 125, size
- button "Nouveau", 1, 22 27 37 12
- button "Supprimer", 3, 93 27 37 12
- button "OK", 5, 57 176 37 12, ok
- text "choisis le canal d'action", 8, 48 5 55 8
- edit "", 9, 51 12 50 10
- box "", 10, 18 39 116 133
- menu "activation", 24
- item "on", 25, 24
- item "off", 27, 24
- menu "protection", 28
- item "op", 29, 28
- item "halfop", 13, 28
- item "voice", 30, 28
- menu "sentence", 31
- item "avertir", 34, 31
- item "kick", 35, 31
- item "kickban", 36, 31
- }
-
-
-
- alias badwords { dialog -m badwords badwords }
-
- alias ap {
- if ($isid) return $hget(badwords,$1)
- else hadd badwords $1-
- }
-
- on *:text:*:%wordchan:{
- if ((($nick isop #) && ($ap(op) == on)) || (($nick isvoice #) && ($ap(voice) == on)) || (($nick($chan,$nick,h)) && ($ap(halfop))) || ($ap(actif) != on) || ($me !isop #)) { halt }
- else {
- var %i 1
- while (%i <= $0) {
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == a) { /msg # Le mot $gettok($1-,%i,32) est interdit | .halt }
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == k) { /msg # Le mot $gettok($1-,%i,32) est interdit | /kick # $nick | .halt }
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == kb) { /msg # Le mot $gettok($1-,%i,32) est interdit | ban # $nick 2 | /kick # $nick | .halt }
- inc %i
- }
- }
- }
-
-
- on *:action:*:%wordchan:{
- if ((($nick isop #) && ($ap(op) == on)) || (($nick isvoice #) && ($ap(voice) == on)) || (($nick($chan,$nick,h)) && ($ap(halfop))) || ($ap(actif) != on) || ($me !isop #)) { halt }
- else {
- var %i 1
- while (%i <= $0) {
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == a) { /msg # Le mot $gettok($1-,%i,32) est interdit | .halt }
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == k) { /msg # Le mot $gettok($1-,%i,32) est interdit | /kick # $nick | .halt }
- if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == kb) { /msg # Le mot $gettok($1-,%i,32) est interdit | ban # $nick 2 | /kick # $nick | .halt }
- inc %i
- }
- }
- }
-
- on *:exit:{ hsave -o badwords badwords }
-
- on *:start:{
- if ($ap(badwords)) .hfree badwords | hmake badwords 200
- if ($exists(badwords) = $true) .hload badwords badwords
- else { ap badwords off }
- }
-
- on *:DIALOG:badwords:*:*:{
- if ($devent == init) {
- did -r $dname 2
- if ($ap(actif) == on) { did -c $dname 25 | did -u $dname 27 }
- else { did -c $dname 27 | did -u $dname 25 }
- didtok $dname 2 182 $ap(list)
- did -a $dname 9 %wordchan
- $iif($ap(op) == on,did -c $dname 29,did -u $dname 29)
- $iif($ap(halfop),did -c $dname 13,did -u $dname 13)
- $iif($ap(voice) == on,did -c $dname 30,did -u $dname 30)
- if ($ap(sent) == a) { did -c $dname 34 | did -u $dname 35 | did -u $dname 36 }
- elseif ($ap(sent) == k) { did -u $dname 34 | did -c $dname 35 | did -u $dname 36 }
- else { did -u $dname 34 | did -u $dname 35 | did -c $dname 36 }
- }
- elseif ($devent == sclick) {
- if ($did == 1) {
- var %tps = $$?="Entrer le mot a kicker"
- if (%tps == $null) halt
- elseif ($count(%z,¶) != 0) { var %tps = $input(Ne peut pas contenir ce caractaire : ¶,-o,ERREUR) | halt }
- elseif ($istok($ap(list),%tps,182) == $true) { var %tps = $input(Désolé mais ce mot est déjà dans la liste !,-o,ERREUR) | halt }
- ap list $addtok($ap(list),%tps,182)
- did -r $dname 2
- didtok $dname 2 182 $ap(list)
- }
- elseif ($did == 3) {
- ap list $deltok($ap(list),$did(2).sel,182)
- did -r $dname 2
- didtok $dname 2 182 $ap(list)
- }
- elseif ($did == 9) { $did($dname,9) badwords %wordchan }
- elseif ($did == 5) { set %wordchan $did($dname,9) }
- }
- elseif ($devent == menu) {
- if ($did == 25) { ap actif on
- did -c $dname 25
- did -u $dname 27
- }
- elseif ($did == 27) { ap actif off
- did -c $dname 27
- did -u $dname 25
- }
- elseif ($did = 29) { $iif($ap(op) == off,ap op on,ap op off)
- $iif($ap(op) == on,did -c $dname 29,did -u $dname 29)
- }
- elseif ($did = 13) { $iif($ap(halfop) == 0,ap halfop 1,ap halfop 0)
- $iif($ap(halfop),did -c $dname 13,did -u $dname 13)
- }
- elseif ($did = 30) { $iif($ap(voice) == off,ap voice on,ap voice off)
- $iif($ap(voice) == on,did -c $dname 30,did -u $dname 30)
- }
- elseif ($did = 34) { ap sent a
- did -c $dname 34 | did -u $dname 35 | did -u $dname 36
- }
- elseif ($did = 35) { ap sent k
- did -u $dname 34 | did -c $dname 35 | did -u $dname 34
- }
- elseif ($did = 36) { ap sent kb
- did -u $dname 34 | did -u $dname 35 | did -c $dname 36
- }
- }
- }
dialog badwords {
title "© •anti-insultes•"
size -1 -1 152 190
option dbu
list 2, 21 44 110 125, size
button "Nouveau", 1, 22 27 37 12
button "Supprimer", 3, 93 27 37 12
button "OK", 5, 57 176 37 12, ok
text "choisis le canal d'action", 8, 48 5 55 8
edit "", 9, 51 12 50 10
box "", 10, 18 39 116 133
menu "activation", 24
item "on", 25, 24
item "off", 27, 24
menu "protection", 28
item "op", 29, 28
item "halfop", 13, 28
item "voice", 30, 28
menu "sentence", 31
item "avertir", 34, 31
item "kick", 35, 31
item "kickban", 36, 31
}
alias badwords { dialog -m badwords badwords }
alias ap {
if ($isid) return $hget(badwords,$1)
else hadd badwords $1-
}
on *:text:*:%wordchan:{
if ((($nick isop #) && ($ap(op) == on)) || (($nick isvoice #) && ($ap(voice) == on)) || (($nick($chan,$nick,h)) && ($ap(halfop))) || ($ap(actif) != on) || ($me !isop #)) { halt }
else {
var %i 1
while (%i <= $0) {
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == a) { /msg # Le mot $gettok($1-,%i,32) est interdit | .halt }
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == k) { /msg # Le mot $gettok($1-,%i,32) est interdit | /kick # $nick | .halt }
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == kb) { /msg # Le mot $gettok($1-,%i,32) est interdit | ban # $nick 2 | /kick # $nick | .halt }
inc %i
}
}
}
on *:action:*:%wordchan:{
if ((($nick isop #) && ($ap(op) == on)) || (($nick isvoice #) && ($ap(voice) == on)) || (($nick($chan,$nick,h)) && ($ap(halfop))) || ($ap(actif) != on) || ($me !isop #)) { halt }
else {
var %i 1
while (%i <= $0) {
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == a) { /msg # Le mot $gettok($1-,%i,32) est interdit | .halt }
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == k) { /msg # Le mot $gettok($1-,%i,32) est interdit | /kick # $nick | .halt }
if ($istok($ap(list),$strip($gettok($1-,%i,32)),182) == $true) && ($ap(sent) == kb) { /msg # Le mot $gettok($1-,%i,32) est interdit | ban # $nick 2 | /kick # $nick | .halt }
inc %i
}
}
}
on *:exit:{ hsave -o badwords badwords }
on *:start:{
if ($ap(badwords)) .hfree badwords | hmake badwords 200
if ($exists(badwords) = $true) .hload badwords badwords
else { ap badwords off }
}
on *:DIALOG:badwords:*:*:{
if ($devent == init) {
did -r $dname 2
if ($ap(actif) == on) { did -c $dname 25 | did -u $dname 27 }
else { did -c $dname 27 | did -u $dname 25 }
didtok $dname 2 182 $ap(list)
did -a $dname 9 %wordchan
$iif($ap(op) == on,did -c $dname 29,did -u $dname 29)
$iif($ap(halfop),did -c $dname 13,did -u $dname 13)
$iif($ap(voice) == on,did -c $dname 30,did -u $dname 30)
if ($ap(sent) == a) { did -c $dname 34 | did -u $dname 35 | did -u $dname 36 }
elseif ($ap(sent) == k) { did -u $dname 34 | did -c $dname 35 | did -u $dname 36 }
else { did -u $dname 34 | did -u $dname 35 | did -c $dname 36 }
}
elseif ($devent == sclick) {
if ($did == 1) {
var %tps = $$?="Entrer le mot a kicker"
if (%tps == $null) halt
elseif ($count(%z,¶) != 0) { var %tps = $input(Ne peut pas contenir ce caractaire : ¶,-o,ERREUR) | halt }
elseif ($istok($ap(list),%tps,182) == $true) { var %tps = $input(Désolé mais ce mot est déjà dans la liste !,-o,ERREUR) | halt }
ap list $addtok($ap(list),%tps,182)
did -r $dname 2
didtok $dname 2 182 $ap(list)
}
elseif ($did == 3) {
ap list $deltok($ap(list),$did(2).sel,182)
did -r $dname 2
didtok $dname 2 182 $ap(list)
}
elseif ($did == 9) { $did($dname,9) badwords %wordchan }
elseif ($did == 5) { set %wordchan $did($dname,9) }
}
elseif ($devent == menu) {
if ($did == 25) { ap actif on
did -c $dname 25
did -u $dname 27
}
elseif ($did == 27) { ap actif off
did -c $dname 27
did -u $dname 25
}
elseif ($did = 29) { $iif($ap(op) == off,ap op on,ap op off)
$iif($ap(op) == on,did -c $dname 29,did -u $dname 29)
}
elseif ($did = 13) { $iif($ap(halfop) == 0,ap halfop 1,ap halfop 0)
$iif($ap(halfop),did -c $dname 13,did -u $dname 13)
}
elseif ($did = 30) { $iif($ap(voice) == off,ap voice on,ap voice off)
$iif($ap(voice) == on,did -c $dname 30,did -u $dname 30)
}
elseif ($did = 34) { ap sent a
did -c $dname 34 | did -u $dname 35 | did -u $dname 36
}
elseif ($did = 35) { ap sent k
did -u $dname 34 | did -c $dname 35 | did -u $dname 34
}
elseif ($did = 36) { ap sent kb
did -u $dname 34 | did -u $dname 35 | did -c $dname 36
}
}
}
Historique
- 04 novembre 2006 16:23:42 :
- Ajout de l'option de protection des halfops activable à volonté
- 05 novembre 2006 16:42:46 :
- Ajout de l'option de protection des halfops fonctionnelle (merci rca arkanis)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Anti Insulte [ par Crazy KiD ]
oui je cherche un anti-insulte mais qui qu'on peux configurer pour pas que je kick mon ami ché pas si vous comprenez :P
probleme de hashtables [ par kishkaya ]
ben j'ai cherché dans l'aide mais j'ai pas trouvéje crés un systeme de log de membres avec une hashtablej'ai deux problemes : if ($hget(log) != lo
modification de hashtable des que quelqu'un quit un salon [ par kishkaya ]
Voila j'ai essayé plein de syntax mais ca a rien donnéj'aimerai que l'on supprime l'insertion $gettok($nick,1,124) de la hashtable 'authen' quand $nic
Afficher le contenu d'une hashtable [ par kishkaya ]
voila le contenu d'une hashtable est sous cette forme :$nick|logincela est geré par un bot et j'aimerai rajouter une fenetre, une windows dans ce bot
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
hashtable et pixel [ par ranny ]
Bonsoir tout le monde,Voila j'ai 2 petites questions.1/ Comment intervertir les valeurs d'une variable $hget.Par exemple comment donner la valeur de $
problème de hashtable [ par doob666 ]
Bonjour,J'aimerais savoir comment on peut récupérer des données commençant par le même item dans une hashtable en une seule fois ? Je m'explique, j'ai
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : ON RAWMODERE : ON RAWMODE par WorldDMT
Cliquez pour lire la suite par WorldDMT AVERTISSMENT ET KIKKAVERTISSMENT ET KIKK par mouhcine951990
Cliquez pour lire la suite par mouhcine951990
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|