Invite System avec login pass dans un .txt

cs_skydoom Messages postés 3 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 31 octobre 2005 - 31 oct. 2005 à 14:11
cs_skydoom Messages postés 3 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 31 octobre 2005 - 31 oct. 2005 à 18:15
salut jaimerais avoir de laide pour monter mon bot mirc je voudrais lui
ajouter un petit script qui inviterais mes users en tappant en pv avec
le bot !invite login pass mais voila je comprend pas trop les command
while qui read de la premiere ligne a la derniere ligne du .txt
je vais vous donner un petit bout jai commencer mais qui ne marche pas
encors

on *:TEXT:*:?:{

if ($1 == !invite) || if ( $2 isin $read(user.txt)) || if ( $3 isin $read(user.txt)) {

invite $nick #underground-empire

msg #chan 7[9 $2 7] 4- 12C'est Invité Avec le nick 4- 7[9 $nick 7]

}

}



voila jespere que vs comprendrez se que je cherche aujuste j'attend de vos nouvelles et merci a lavance

4 réponses

cs_skydoom Messages postés 3 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 31 octobre 2005
31 oct. 2005 à 14:16
desoler jai fais une erreur dans se que je cherche je voudrais qui est
les 3 donner et non 1 ou lautre donc les || remplacer part &&

on *:TEXT:*:?:{

if ($1 == !invite) && if ( $2 isin $read(user.txt)) && if ( $3 isin $read(user.txt)) {

invite $nick #chan

msg #chan 7[9 $2 7] 4- 12C'est Invité Avec le nick 4- 7[9 $nick 7]

}

}
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
31 oct. 2005 à 16:18
pour avoir chaque ligne d'un fichier texte :var %t 1, %max $lines(ton.txt)
while %t <= %max {
var %contenu = $read(ton.txt,%t)
inc %t
}

ici, tu veux vérifier que %contenu soit égal à $2-3 (2e et 3e mots)
donc if (%contenu == $2-3) {
invite $nick #underground-empire
msg #chan ...
}
que tu places à l'intérieur de ta boucle, juste après avoir défini %contenu

tu pourrais même mettre dans ton .txt :
"login" "pass" "commentaire"
"login2" "pass2" "commentaire2"
etc ...

ton bout de code serait donc :
if ($gettok(%contenu,1-2,32) == $2-3) {
invite $nick #underground-empire
msg #chan ... - Commentaire : $gettok(%contenu,3-,32)
}
0
Nolson Messages postés 216 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 16 mars 2006
31 oct. 2005 à 17:35
Il est sur qu'en bouclant on arrive à faire ce que l'on veut, mais lorsqu'on peut eviter les boucles, c'est mieux.

Car imaginons, je suppose qu'ici ce n'est pas le cas mais, que le fichier soit très gros, ca va impliquer une longueur de traitement, qui de plus peut figer le mIRC.
L'identifieur $read est assez puissant pour nous éviter de boucler.

Imaginons que ton fichier user.txt soit comme cela :
login1 pass1
login2 pass2
login3 pass3
etc...

Lorsque la personne veut s'identifier elle marque : !invite login pass
Sur le ON TEXT on a :$1 !invite , $2 login et $3 = pass.

Il suffit de chercher dans le fichier si la ligne commencant par $2 existe et de vérifier que le pass correspondant est bon.

on *:text:*:?: { if (($1 !invite) && ($read(user.txt,s,$2)) && $gettok($read(user.txt,$readn),2,32) $3) {
invite $nick #underground-empire
msg #underground-empire 7[9 $2 7] 4- 12C'est Invité Avec le nick 4- 7[9 $nick 7]
}
}

Mais pour gérer des access ou choses du même genre il est préférable d'utiliser les fichiers ini c'est plus pratique (ou les hash tables).
0
cs_skydoom Messages postés 3 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 31 octobre 2005
31 oct. 2005 à 18:15
Merci beaucoup jai use la facon a Nolson tres eficace et sympas
d'utilisation merci beacoup a vs deux serieux jaurais pas ressu sa solo
0
Rejoignez-nous