SYSTÈME DE MODÉRATION ULTRA COMPLET

cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008 - 27 juin 2007 à 21:33
runinho Messages postés 43 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 10 juillet 2010 - 16 juil. 2008 à 15:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43266-systeme-de-moderation-ultra-complet

runinho Messages postés 43 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 10 juillet 2010
16 juil. 2008 à 15:24
ton code est interressant mais on peut le raccourcir
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
4 juil. 2007 à 17:21
Dans son test, sa teste si le total est inferieur a 2 ou si il est superieur a 3 mais pas si il est egal a 2 ou egal a 3.
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
3 juil. 2007 à 17:10
if (%total > 1 && %total < 2) {

%total peux etre un décimaux ? entre 1 et 2 ? parce que un nombre entier supérieur a 1 et inférieur a 2, tu vas avoir du mal a valider cette condition non ^^ ?

Ps: CM est vilain
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
3 juil. 2007 à 16:15
bah si %total = 2 ou 3, c'est que 2 ou 3 clones sont autorisés :)
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
2 juil. 2007 à 17:30
if (%total > 1 && %total < 2) {
..
elseif (%total > 3) {

et si %total = 2 ou 3 ????
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
2 juil. 2007 à 17:20
Personnellement je trouve ca tres lourd.
Pourquoi un boutton +o et un -o il suffit de faire un boutton "hop/dehop" et le script hope ou dehope en fonction du status deja present, vu que ce remote ne traite qu'un seul pseudo et ne gere pas la multiselection.
Pareil pour les modes du salon (+x et -x) la plupart des remotes de ce genre possedent un simple check a cocher ou decocher.
Tu veut gerer les ignores ? Dans ce cas offre la possiblité d'ignorer juste en pv ou juste en notice.
Sinon j'ai une question con (désolé je suis plus au jus), avec la protection anti-flood deja integrée aux serveurs, qu'apporte le silence de plus que l'ignore vu que le client pourra supporter les envois massif de données d'un user (A moins que cette protection n'existe pas sur tout les serveurs)
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
2 juil. 2007 à 01:41
bsr,
ton antiflood est correct en parti à mon avi, je m'explique, si tu as :
(pseudo) skljhv
(pseudo) lkjhg
(pseudo) vzjfzk
(pseudo) jblfkbfkl
et cela trés vite ca se declenche ok, mais si il y a :
(pseudo)gggggggggggggggggggggggggggggggggggggggggggggggggggggg
(pseudo)gggggggggggggggggggggggggggggggggggggggggggggggggggggg
ou encore :
(pseudo) n,fklfnlkfnlkb posjvpdsjvpjo kjhhoipjpo
(pseudo) lnvlnvljn jvksjvksjvp lklmkjkljhuiguig
là tu vois rien avec ton systeme je pense dons qu'il faudrait envisager ces cas là :)
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
1 juil. 2007 à 19:34
Euh, tu peux alléger le code...
regarde le nombre de fois où tu utilises "$address($did(1).seltext,2)"... une petit var et hop, le tour est joué.

Mets tes alias en local (pour éviter un confli avec d'autre alias que la personne aurait dans son script)

vérifie que le dialog n'est pas déjà ouvert quand la personne veut l'ouvrir
doob666 Messages postés 149 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 25 janvier 2011
30 juin 2007 à 20:23
voili voilou j'ai changer l'alias flood (je pensais que ça pourrait marcher mais vu que je ne fait aucun test j'en étais pas sur)
je fais l'antispam :
on @*:text:*:#:{
if ( $len($1-) >= 15 ) && ( $nick isreg # ) {
if ( $calc($regex($1-,/[A-Z]/g) / $regex($1-,/[A-Z]/gi) * 100) >= 60 ) kick # $nick $v1 $+ % Flood de majuscule
}
}
normallement ça doit marcher. il faut que je modifie le dialog et que je fasse l'antispam et normallement ça sera bon. autre chose Coolman002?


pour le switch -u y'as un truc qui foire ça m'énèrve...j'ai passer le code à un pote et.... ça ne désignore/débanni pas...
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
29 juin 2007 à 21:34
Quand je dis "autre" je pense à "l'anti majuscule" et à "l'anti spam" (par exemple)

Ton alias flood... comment dirais-je... elle fonctionne !?
Ton alias clone tu peux la mettre en local (-l), a quoi sert le ":begin", plutôt que de "if" "if" et encore "if", utilises:
if
elseif
else

Voilà ^^
doob666 Messages postés 149 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 25 janvier 2011
28 juin 2007 à 19:31
Coolman02, je comprend bien, c'est pour ça que je le refait. Je vais me servir de hash table, il sera actif sur tous les chans ou on sera op et on pourra configurer au dessus de quel nombre de phrase on kick ban 5min.

cela est-il suffisant ou il faut que je lui rajoute certaine fonctionnalité?

qu'entends tu par "et autre"? je sèche là. l'attaque de clone je ne l'avais pas fait car je l'ai sur un autre addon que je vais implémenter sur celui là. sinon je vois pas. dit m'en plus sur ce que tu pense utile de voir apparaitre.
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
28 juin 2007 à 18:35
cette anti flood n'est pas terrible... certe il permet de configurer beaucoup de chose, encore faut-il se renseigner sur le site d'unrealircd!

Alors qu'un antiflood que tu fais et qu'on configure via un dialog ce sera certe, un peu long, mais plus clair pour les gens qui veulent pas lire les infos d'unrealircd.
doob666 Messages postés 149 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 25 janvier 2011
28 juin 2007 à 16:25
pour la protection du flood elle y est déjà
edit %fs, 2254, 30 315 90 20, tab 11 autohs center
button "+f", 2255, 125 315 26 20, tab 11
button "-f", 2256, 155 315 26 20, tab 11
text "Flood #:#", 2257, 205 315 80 20, tab 11

j'en rajoute une pour voila car il ne prend pas ce mode ( grrr il peuvent pas faire comme les autres)
doob666 Messages postés 149 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 25 janvier 2011
28 juin 2007 à 14:23
sans le switch : timer 1 900 ignore -r $did(1).seltext // avec le switch : timer 1 900 switch -u $did(1).seltext
pour tes raccourcis IsOkA ça marche
Le reste des améliorations ça se fera quand j'aurais finis l'autre source (très peu de temps en ce moment)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
28 juin 2007 à 04:05
Lol ! viens donc jouer avec MM & $me ;x (new jeux)

histoire de pas faire un commentaire pour rien (merci CM) vires les {} inutiles, quand tu n'effectue qu'une seule commande, ça accélère le traitement
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
28 juin 2007 à 03:52
Bonsoir,

Un screen du dialog serait pas trop mal pour donner un aperçu...

J'avais un dialog a l'epoque que j'avais docké sur la gauche et qui contenait
dans une liste:
Les salons sur lequel j'étais.
Les gens sur le chan actif/selectionnés

et des boutons:
Qui s'activait (ou non) suivant mon status (halfop/op/ircop)

avec un edit pour pouvoir mettre la raison des kicks/ban..

et tout ca était en mass... (voice/devoice/halfop/op/kick/ban/mode ect.)
améliore ca, poste un screen, et comme te l'a signalé Wims (le vilain d'ailleur) utilise le switch -u, et comme t'a dit ISoKa, anti flood, attaque de clone et autre se serait pas mal... avec pk pas, une alias genre sF10 (Shift+F10) pour kick si l'user flood une fois, ban si déjà pris kick ect.

Ps: Wims est très très vilain.
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
28 juin 2007 à 01:11
ha oui j'y pense pour un truc vraiment complet un system anti flood ,attaque de clones et autres plaisirs du genre parametrables pourrai etre sympa :)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
27 juin 2007 à 22:10
Tu peux utiliser le switch -u pour les commande /ban et /ignore, qui retire l'ignore/ban apres le temps que tu as spécifié
cs_ISoKa Messages postés 435 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 17 octobre 2008
27 juin 2007 à 21:33
Si je me trompe pas on devrait pouvoir raccourcir de la facon suivante :

# if ($did == 223) { /mode $active +c }
# if ($did == 224) { /mode $active -c }
# if ($did == 226) { /mode $active +i }
# if ($did == 227) { /mode $active -i }
# if ($did == 228) { /mode $active +m }
# if ($did == 229) { /mode $active -m }
# if ($did == 230) { /mode $active +p }
# if ($did == 231) { /mode $active -p }
# if ($did == 232) { /mode $active +s }
# if ($did == 233) { /mode $active -s }
# if ($did == 235) { /mode $active +u }
# if ($did == 236) { /mode $active -u }
# if ($did == 237) { /mode $active +iK }
# if ($did == 238) { /mode $active -iK }
# if ($did == 239) { /mode $active +nt }
# if ($did == 240) { /mode $active -nt }
# if ($did == 241) { /mode $active +A }
# if ($did == 242) { /mode $active -A }
# if ($did == 244) { /mode $active +C }
# if ($did == 245) { /mode $active -C }
# if ($did == 246) { /mode $active +G }
# if ($did == 247) { /mode $active -G }
# if ($did == 248) { /mode $active +N }
# if ($did == 249) { /mode $active -N }
# if ($did == 250) { /mode $active +O }
# if ($did == 251) { /mode $active -O }
# if ($did == 252) { /mode $active +R }
# if ($did == 253) { /mode $active -R }
# if ($did == 254) { /mode $active +S }
# if ($did == 255) { /mode $active -S }
# if ($did == 256) { /mode $active +T }
# if ($did == 257) { /mode $active -T }
# if ($did == 259) { /mode $active +V }
# if ($did == 260) { /mode $active -V }

devient :
if ($did isnum 223-260) { mode $active $did(modo,$did) }

# if ($did == 1202) { /mode $active +v $did(1).seltext $did(1202) }
# if ($did == 1203) { /mode $active -v $did(1).seltext $did(1203) }
# if ($did == 1302) { /mode $active +h $did(1).seltext $did(1302) }
# if ($did == 1303) { /mode $active -h $did(1).seltext $did(1303) }
# if ($did == 1402) { /mode $active +o $did(1).seltext $did(1402) }
# if ($did == 1403) { /mode $active -o $did(1).seltext $did(1403) }
# if ($did == 1502) { /mode $active +a $did(1).seltext $did(1502) }
# if ($did == 1503) { /mode $active -a $did(1).seltext $did(1503) }
# if ($did == 1602) { /mode $active +q $did(1).seltext $did(1602) }
# if ($did == 1603) { /mode $active -q $did(1).seltext $did(1603) }
# if ($did == 1702) { /mode $active +I $did(1).seltext $did(1702) }
# if ($did == 1703) { /mode $active -I $did(1).seltext $did(1703) }
# if ($did == 1802) { /mode $active +e $did(1).seltext $did(1802) }
# if ($did == 1803) { /mode $active -e $did(1).seltext $did(1803) }

devient :
if ($did isnum 1203-1803) { mode $active $did(modo,$did) $did(1).seltext $did(modo,$did)}

et je pense que sur ce mm genre de principe on doit pouvoir raccourcir le code, de plus essai de poser des elseif au lieu de tous tes if
sinon ca a l'air à peu prés complet oui.
Rejoignez-nous