Enregistrer une liste de channel

Résolu
cs_scav Messages postés 4 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 20 novembre 2005 - 20 nov. 2005 à 16:06
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009 - 20 nov. 2005 à 19:38
Bonjour,

je voudrais savoir commet pourrais-je faire pour enregistrer tous les
channel sur lesquels je suis, pour pouvoir les rejoindre quand je les
ai tous quitté en ayant juste à tapper une commande (que j'aurai créée
pour l'occasion)

En gros je fais un /partall puis grace aux channel enregistrés je tappe
une commande et ca rejoin tous les chan sur lesquels j'étais avant le
/partall



J'espere avoir été clair

Scav

8 réponses

RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
20 nov. 2005 à 16:29
alias svg.chans { var %t 1, %max $chan(0), %list = $null
while %t <= %max {
var %list = %list $chan(%t)
inc %t
}
set %chans_liste $right(%list,-1)
}

alias join.svg { var %t 1, %max $numtok(%chan_liste,32)
while %t <= %max {
.timerjoin. $+ %t 1 %t join $gettok(%chan_liste,%t,32)
inc %t
}
}
3
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
20 nov. 2005 à 17:58
mon code est à mettre dans remote, bien évidement

set %chans_liste $right(%list,-1) => set %chan_liste $right(%list,-1)
(ouais y'a pas de S dans la 2e partie du code)

tape /svg.chans
puis /join #0,0
puis /join.svg
3
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
20 nov. 2005 à 18:47
pense à mettre de timers
1 /pour ton amsg :
amsg $$?!="Message ?"

2/ y'a des timers qui te permettent de ne pas partir en excess flood (normalement)
c'est donc normal que ce soit lent

sinon :
les /, ça fait noob :p

{
/partall
}
c'est moche, et inutile => partall

alias seek {
{
pourquoi deux { ? Enlève le 2e
et :
set %chan_liste $right(%list,-1)
}
enlève le }

essaye de voir si join #chan1,#chan2,#chan3,... marche, ça serait largement plus joli ^^
3
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
20 nov. 2005 à 16:28
bah tu crées un alias /save_chans dans lequel tu enregistres dans une
%var tous les canaux sur lequels tu te trouves à l'aide d'une boucle

apres tu crées un autre alias /load_chans qui, a l'aide d'une boucle
egalement, te fais rejoindre tous les canaux contenus dans ta %var
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_scav Messages postés 4 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 20 novembre 2005
20 nov. 2005 à 17:47
Merci de vos réponses.

Arkanis => Merci pour ce code.

Lorsque je le mets dans Aliases et que j'essaye de l'utiliser rien ne se passe.

J'ai essayé d'enlever "alias" devant svg.chans et join.svg puis de
taper "/svg.chans", "/partall", "/join.svg" mais rien ne se passe, pas
même un message d'erreur.

PS : j'utilise nnscript et je veux juste rajouter cette fonctionnalité. J'ai c/c ton code après les lignes de nnscript.



Je pense qu'il y a qqch que j'ai mal fait mais quoi ?
0
cs_scav Messages postés 4 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 20 novembre 2005
20 nov. 2005 à 18:35
Merci ca marche très bien :D



J'ai donc apporter quelques modifications pour arriver à ce que je veix au final.

Voila ce que ça donne



alias seek {

{

var %t 1, %max $chan(0), %list = $null

while %t <= %max {

var %list = %list $chan(%t)

inc %t

}

set %chan_liste $right(%list,-1)

}

/partall

/join #azazaz

/join #ererer

/join #tytyty

/join #uiuiui

/join #opopop

/join #qsqsqs



$$?="AMSG pour seek ?"

/amsg $!

}



alias finseek {

{

/partall

}

var %t 1, %max $numtok(%chan_liste,32)

while %t <= %max {

.timerjoin. $+ %t 1 %t join $gettok(%chan_liste,%t,32)

inc %t

}

}





Jai renommé svg.chans en "seek" et join.svg en "finseek"

Ca marche mais je suis certain que c'est tres mal codé (je parle de ce que j'ai rajouté)

2 questions :

1 / lorsque j'ai rejoin les chan "azazaz" etc et que j'ai validé mon
amsg, celui-ci est bien sur tous les channels mais dans la fenetre
Status je vois "xxx Unknown command" xxx étant le 1er mot de
l'amsg. Je ne pense pas que cela soit normal

2 / Je valide l'amsg, celui ci aparraît. Puis je tappe "/finseek" pour
revenir sur les anciens chans. Ca marche mais je trouve que cette
opération prend pas mal de temps. Je pense que c'est dû à mes rajouts
pas tres optimisés ?
0
cs_scav Messages postés 4 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 20 novembre 2005
20 nov. 2005 à 19:11
alias seek {



var %t 1, %max $chan(0), %list = $null

while %t <= %max {

var %list = %list $chan(%t)

inc %t

}

set %chan_liste $right(%list,-1)



partall

/join #azazaz, #ererer, #tytyty, #uiuiui, #opopop, #qsqsqs

amsg $$?="AMSG pour seek?"

}



alias finseek {

partall

var %t 1, %max $numtok(%chan_liste,32)

while %t <= %max {

.timerjoin. $+ %t 1 %t join $gettok(%chan_liste,%t,32)

inc %t

}

}







Ca donne donc ca. Ca va déja un peu plus vite :p

Par contre pour l'amsg j'ai enlevé le "!", ça fonctionne bien et Unknown command n'apparaît plus.



En ce qui concerne les timer, je ne voyais pas de quoi tu parles donc j'ai fais une recherche :

http://www.ircfr.com/code.aspx?id=14241

Parles-tu de ça ? Si oui alors je vais lire ce texte pour apprendre
tout ça. Juste une question, quelle serait l'utilité des timer dans mon
cas ?
0
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
20 nov. 2005 à 19:38
je parle de la commande /timer
/help /timer

le !, ouais t'as raison, sinon ça fait question oui/non, désolé
0
Rejoignez-nous