cs_lebaronrouge
Messages postés288Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention14 février 2009
-
27 déc. 2005 à 12:59
cs_lebaronrouge
Messages postés288Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention14 février 2009
-
29 déc. 2005 à 18:06
hello
Je fait une except list ( ou liste d'amis) sous mdx dans laquelle s'affiche les pseudos avec une ptite icone devant.
Cette list servira à stocker les personnes que mes protections de salons ne devront pas prendre en compte
J'ai juste un petit soucis
Avec la commande write central/friend/ami.txt $did(4) $address($did(4)(#,1),3)
( $did(4) étant l'edit du dilaogue ou l'on entre le pseudo qui s'affichera dans la list)
Par exemple pour le pseudo pepito ca écrit bien dans le fichier ami.txt une ligne :
pepito *!*lol@*.proxad.net ( il y a donc un espace entre le pseudo et le mask).
Mon dialogue affiche donc bien que le pseudo
(pour une facilité de reconnaissance des personnes que l'on aura mis
dans cette except liste) et aussi le mask mais uniquement dans le
fichier ami.txt , car baser l'except liste sur le pseudo uniquement
n'étant pas fiable (suffit que l'user pepito change de nick pour x
raison et hop il ne sera plus pris en compte) la reconnaissance la
meilleure pour moi reste donc le mask pour que les protections evitent
de kick ou ban
Ma question est donc : comment faire un code qui lit dans le fichier ami.txt et compare non pas le pseudo mais le mask
de l'user pour que les protections evitent les users protégés (suivant
un alias que j'incorporerais dans mes protections de salons)
A voir également:
Lire et comparer un endroit précis d'une ligne dans un .txt ?
cs_lebaronrouge
Messages postés288Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention14 février 2009 28 déc. 2005 à 10:15
En gros ce que je veux c'est que lorsque mon bot doit kick il y ait une
ligne qui avant de le faire : lise le mask de l'user avec quelque chose
comme je crois : $address($snick(#,1),3)
Et compare avec les mask se trouvant dans ma liste d'amis , et si oui il kick pas la personne , sinon il la kick
en gros si par exemple mon bot veux kick l'user
pepito lol@blabla-*-**-**-**-*.fbx.proxad.net
Et que dans ma liste ami.txt j'ai justement l'user pepito *!*lol@*.fbx.proxad.net
Pas de kick
Ca serait donc quelque chose comme : if $read(central/friend/ami.txt,w,*mask*) == $address($snick(#,1),3) halt (ou l'inverse).
(Vue qu' il y a plusieurs lignes dans mon fichier ami.txt parce que il
y a plusieurs pseudos avec leur mask dedans il faut que le code cherche
dans tout le fichier ,ca ne doit pas être tout à fait ca...
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_lebaronrouge
Messages postés288Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention14 février 2009 28 déc. 2005 à 14:43
La syntaxe que tu me donne est pour comparer si l'user sur le canal qui va être kické est dans ma liste via son nick :
$gettok($ifmatch,1,32) = pepito
Moi c'est pas ce que je veux ,si i la changé de
pseudo en autre chose ca ne correspondra pas , je veux pas que ca
comapre et trouve si le mask se trouvant dans ami.txt est celui de
pepito , mais si le mask de pepito est dans la liste ami.txt
Je veux juste que la variable lise le mask de pepito , lise les mask se
trouvant dans la liste ami.txt et que si c'est le cas il kick pas
exemple : si bot veut kick pour flood : analyse du mask de l'user , comparaison des masks se trouvant dans la liste ami.txt , trouvé = pas kick
cs_lebaronrouge
Messages postés288Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention14 février 2009 29 déc. 2005 à 13:51
Pour test j'ai fait ca parmis d'autres éssais basés sur vos conseils et ce que moi je tente aussi :
on *:text:!list:#:{
Var %i = 1
While (%i <= $lines(central/friend/ami.txt)) {
if
$istok($address($snick(#,1),3)(central/friend/ami.txt),$strip($gettok($1-,%i,32),182)
$true) { /msg # Bienvenue4 $nick Tu est dans ma protect liste }
inc %i
}
}
Ce qui devrait renvoyer le msg sur le salon si le mask du pseudo disant
!list se trouve dans la liste ami.txt , mais ce n'est pas le cas , rien
à faire je n'arrive pas à mettre en pratique la comparaison du mask de
l'user avec ceux se trouvants dans ma liste ami.txt
cs_lebaronrouge
Messages postés288Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention14 février 2009 29 déc. 2005 à 18:06
je Viens de tester effectivement la ca marche , reste à l'appliquer pour a véritable utilisation
Je suis surpris que il n'y ai pas besoin de plus de codes pour par
exemple scruter le fichier ami.txt en passant d'une ligne à la suivante
avec un Var %i = 1
While (%i <= $lines du fichier etc..
Mon fichier contient plusieurs users déja , donc une ligne pour chaque
, mais pourtant le code fonctionne bien si la personne est dedans via
son mask quelque soit la ligne ou il se trouve , et ne réagis donc pas
si la personne se trouvant sur le canal n'est pas dans cette liste ,
donc c'est à prioris ok
Pareil le fait de ne pas voir de code de comparaison ou de vérification
du mask user et mask étant dans ami.txt via un token ou gettok ou isin
m'étonne
Bref je le test à fond et si il s'avere totalement opérationnel tu gagne un accept