BLACKLIST PSEUDOS/MASKS

IrX Messages postés 77 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 19 février 2011 - 26 nov. 2009 à 17:25
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 - 19 mars 2010 à 00:39
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/50902-blacklist-pseudos-masks

WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
19 mars 2010 à 00:39
ok pas de brobleme bro :D
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
19 mars 2010 à 00:37
Non mais lol.

je comprend le français, si tu ne parles pas français, je ne comprend pas... ou du moins comme c'est du français mal écrit, je dois me forcer a comprendre, c'est pas fluide, je dois relire tes phrases etc, c'est ça qui est chiant.
Ce n'est pas a cause d'un manque d'explication ou que je n'ai pas compris techniquement quoi
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
19 mars 2010 à 00:16
t'es chian mec :D
t'es le seul a ne rien comprendre de ce que j'ecris :D

ok quand tu ne comprend pas grand chose demande moi je t'expliquerai encore plus pas de prob :p
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
19 mars 2010 à 00:11
Comme je te l'ai dit, je te disais ça en général, pas par rapport a ce que tu as dis sur $read.
Fait quand même l'effort de bien écrire alors, parce que c'est chiant de se forcer a lire.
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
19 mars 2010 à 00:05
non Ga c'est pas ça c'est que je parle vite et je m'exprime mal des fois c'est tout :p

regarde mon 2eme post c'est de ça que je parlais tout a l'heure a propos de $read(fichier,w,qqchose)
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
18 mars 2010 à 23:59
Non, je te disais ça en général...
Sinon, je veux bien accepter que tu est un anglais pas terrible (oui je te lis sur le forum de mirc :p) mais je sais pas si j'ai plus de mal a te lire en anglais ou en français ! fais un effort quoi stp !
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
18 mars 2010 à 23:38
Après presque 3 mois :)
j'ai jamais dis qu'un code plus court est plus efficace mais esque une loop "while" est mieux que $read(fichier,w,qqchose)?
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
18 mars 2010 à 22:45
WoldDMT : un code plus court n'est pas toujours plus efficace, tu sembles faire une fixette sur le fait d'avoir les codes les plus court possible.En revanche il est vrai qu'ici le code peut être raccourci...

Pour l'auteur :

Attention a l'utilisation de $$.

Dans tes boucle, il y a par ex des trucs comme :
mode # -e+b $$ini(configuration.ini,bliste,%k) $$ini(configuration.ini,bliste,%k)
Si $ini renvoi null, /halt est executer et ta boucle ne se finis pas (il y a plusieurs boucle ou tu fais ça) et tu bloques les autres evenements on join qui voudrait bien etre executer eux aussi

il est également completement débile de faire une gestion d'affichage en passant par le server (/notice, /msg), que se passe t-il si on conf l'addon sans être connecté, et dans l'autre sens, pourquoi faire passer la gestion d'erreur par le server ?
ça ne fera qu'afficher les erreurs en retard si on lag, et ça fait laguer le server

et je déconseille d'utiliser le file handling (/fopen etc) pour écrire dans un .ini, ce n'est pas pour rien qu'il y a des commandes prévus pour les .ini, la routine de /writeini n'est pas d'écrire betement ou de lire betement ($readini ou $ini), c'est plus complexe.

on !@*:join:#:{

comment on fait si on est halfop ?

j'ai regardé vite fait tes methodes de detection de #salon par ex, c'est a revoir il me semble, je crois que si je dis un simple #, je vais me faire ban.

Sinon, regarde du coté de /help /tokenize
qui va grandement amélioré la clarté de tes codes

Sinon quelque détail, quand il n'y a qu'une seul command après une condition, tu n'est pas obligé d'utiliser de { }, ceci augmente la vitesse d'execution
et quand tu fait une boucle, tu peux également augmenter la vitesse d'execution en ne ré-évaluant pas a chaque fois un $ident dans la boucle
du style

var %a 1
while (%a <= $numtok($1-,32)) { ... | inc %a }

deviens

var %a 1 ,%b $numtok($1-,32)
while (%a <= %b) { ... | inc %a }

et pour finir, on ne poste pas un code ici pour avoir un avis dessus, on le met sur le forum.
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
28 déc. 2009 à 20:12
j'ai pas dis le contraire Vin
j'ai juste dis que c'est trop ptit pas si lourd quand meme
en tout cas je vois bien ce que tu dis
usurpateur Messages postés 9 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 24 janvier 2011
28 déc. 2009 à 16:02
Merci pour vos commentaires UAIP & WorldDMT

@Alfortville ce que tu demandes (de manière plus ou moins claire) peut se résoudre en utilisant une blacklist, mais de manière plus simple et sur le même principe tu peux créer un alias qui ajoute un mask dans un simple fichier (/write), un autre qui supprime le mask quand tu le désire et pour finir un "on unban" qui permet de récupérer le mask dé-banni et de le comparer avec $read à ceux que ton fichier contient... et remettre le ban avec les commandes spécifiques du bot dans ce cas là.

Bonne journée à tous
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
28 déc. 2009 à 14:39
Tu n'as pas compris.
Là tu as fait exactement ce que j'ai dit : 4 writeini, ce qui représente 4 ouvertures/fermetures du fichier. C'est extrêmement lourd. Alors qu'avec sa méthode /fopen, il n'ouvre le fichier qu'une fois, écrit TOUT, et referme le fichier, donc beaucoup plus rapide.

Pour faire simple, avec sa méthode :
- ouverture du fichier
- écriture des données
- fermeture du fichier

Avec ta méthode /writeini
- ouverture du fichier
- écriture d'une donnée
- fermeture du fichier
- ouverture du fichier
- écriture d'une donnée
- fermeture du fichier
- ouverture du fichier
- écriture d'une donnée
- fermeture du fichier
- ouverture du fichier
- écriture d'une donnée
- fermeture du fichier

Donc je maintiens mon "Non, il ne faut pas utiliser /writeini".
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
28 déc. 2009 à 13:43
oups j'ai fais une betise :p

alias clearbl {
.remini configuration.ini bliste
.write configuration.ini $+([,bliste,])
.writeini configuration.ini blackliste status on
.writeini configuration.ini blackliste masks $chr(160)
.writeini configuration.ini blackliste mode pv
.notice $me Blackliste effacée (et sur "activée", liste en "pv"), fichier réinitialisé.
unset %noticebl
}
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
28 déc. 2009 à 13:32
wé t'a raison j'ai dis UN SIMPLE WRITEINI pas qu un en tant que tel mais une façon de dire qu'il pouvait utiliser la methode stendar puisque c'est un fichier ini par exp:

alias clearbl {
.remini configuration.ini bliste
.writeini configuration.ini bliste
.writeini configuration.ini blackliste status on
.writeini configuration.ini blackliste masks $chr(160)
.writeini configuration.ini blackliste mode pv
.notice $me Blackliste effacée (et sur "activée", liste en "pv"), fichier réinitialisé.
unset %noticebl
}

mais bon c'est juste un avis il peut faire ce qui lui plai
@+
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
27 déc. 2009 à 22:18
Non,
Là avec une seule ouverture/fermeture du fichier, il écrit 2 sections et 3 items.
Il aurait donc fallut utiliser (si je ne dis pas de bêtise) 4 fois /writeini, et donc ouvrir/fermer 4 fois le fichier.
Si khaled offre la possibilité de manipuler les fichiers à un assez bas niveau, c'est pour éviter ce genre de chose.
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
27 déc. 2009 à 22:10
d'ailleur il pouvait utilisé un simple writeini sans passé par tout ça mais bon il fait ce qu'il veux :)
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
27 déc. 2009 à 02:53
Salut,
Pas grand chose à dire, j'aime bien ton alias clearbl. Mais qui a t-il de plus avantageux dans ce cas d'utiliser une suite de /fwrite plutôt qu'un /write (qui est aussi, je crois, adapté aux .ini) ? Surtout que tu ne contrôles pas le succès de /fopen.

Dans un esprit puriste, "taper" prend un 'p', et c'est mieux d'éviter le franglais ("BlackList" ou "Liste Noire", mais pas "BlackListe")
cs_Alfortville Messages postés 6 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009
5 déc. 2009 à 22:53
Bonjour
Pas mal les BL mais moi ce qui m'interesserais sur les Niubot de Orange.
Serais une remotte qui ban auto apres le debande Niubot.
je sais il en existe une mais sa reban tous les pseudos, moi j'aimerais savois sil existe une remote par pseudo, ou on bannerais derriere Niubot mais que un pseudo et pas les trois bannis par exemple
merci
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
3 déc. 2009 à 11:51
"si tu as une solution miracle je suis preneur :)"

pas besoin de miracle c'est juste a regarder les ptit truc de plus comme au passage de ce sujet regarde la condition dans la ligne 50 "if ( %noticebl == on )" tu set la variable ensuite tu met une condition qui est tjr $true !!

pour "le fichier peut très bien contenir *pseudo*"

ça c'est dejà un anti-badnicks, le ban est (normalement) sur le host pas sur le pseudo mais bon j'ai pas mIRC ici je vais te montré que ça peut se reduire sans miracle

@+
usurpateur Messages postés 9 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 24 janvier 2011
30 nov. 2009 à 18:57
Ok pour les "!$1", "!= $false", "== $true" et "!= 0" en trop.

Pour l'utilisation d'alias, c'est plus lent et pénible de tapper "/addbl" plutôt que "!addbl" mais le code autorise les 2 (à peu près)

"ça peut etre plus simple et plus court": si tu as une solution miracle je suis preneur :)

$wildsite = *!*@hôte
le fichier peut très bien contenir *pseudo*
Toute la suite de ton commentaire permet de simplifier le code mais ne donne pas le même résultat donc je ne change pas, merci quand même
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
29 nov. 2009 à 22:57
oups dsl je retire l'ajout de du 2eme %mask

laisse comme elle est et le code est:


on !@*:join:#:{
if ($readini(configuration.ini,blackliste,status) == on) && ($ini(configuration.ini,bliste,0)) {
if ($readini(configuration.ini,bliste,$wildsite)) ban -k # $nick $v1
}
}
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
29 nov. 2009 à 22:53
Salut

j'ai vite regarder et je pense que ça peut etre plus simple et plus court et pour le niveau inité je pense pas

au passage "&& $ini(configuration.ini,bliste,0) != 0" tu peut retirer le "!= 0" je pense

pourquoi utiliser ON INPUT tan que c'est toi meme qui posede le code tu peux faire une alias

au passage je pense que "if ( $isfile(configuration.ini) == $false ) { clearbl }" peut devenir "if (!$isfile(configuration.ini)) { clearbl }"

et je vois "if ( !$1 || !$2 || $chr(35) isin $2 )" a ton avis si $1 n'existe pas, $2 existerait? sauf si $1 = 0 dans ce cas

bref tu peux bien utilisé les ini files sans une loop while comme par exp pour le ON JOIN:

pour le addbl tu ajoute un %mask qui devient writeini configuration.ini bliste %mask %mask %raison $asctime(HH:nn-dd/mm/yy) ensuite pour le code:


on !@*:join:#:{
if ($readini(configuration.ini,blackliste,status) == on) && ($ini(configuration.ini,bliste,0)) {
if ($readini(configuration.ini,bliste,$wildsite)) ban -k $v1
}
}

a toi de voir le reste
usurpateur Messages postés 9 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 24 janvier 2011
27 nov. 2009 à 12:32
Bonjour,
pour le principe, 'le dialogue ou non' est un choix personnel, je préfère les raccourcis clavier pour gérer ce genre de choses :)
Je me suis inspiré du fonctionnement d'une black liste d'egg et avec très peu de modifications, ce script pourrait être intégré à un bot de gestion de salon sous mirc.
IrX Messages postés 77 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 19 février 2011
26 nov. 2009 à 17:25
bonsoir,
j'aime beaucoup même si c'est du vue et revue comme blackliste.Pourquoi pas faire un système de dialogue ou fenêtre @blackliste pour géré les blacklister ect.. sa serais une idée ?
Rejoignez-nous