Quelques questions pour apprendre à programmer en IRC.

Résolu
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007 - 17 août 2005 à 08:33
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007 - 18 août 2005 à 18:28
Salut à tous,
Voila je voudrais sa apprendre à programmer en IRC.

Donc j'aurais voulue commencer doucement, avec des exemples :

- Comment envoyer un message à un user.
- Comment lister les users d'un salon ou d'un serveur.
- Comment affiché l'heur actuelle.
- Et un petit répondeur pour la fin :)

Merci d'avance.

24 réponses

fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
17 août 2005 à 13:58
on ne peux pas recuprer la liste de tous les users d'un serveur comme ça

il doit y avoir un raw pour ça , car quand on se connecte , le serveur
nous indique le nombre d'users (je dis peut etre n'importe quoi , chui
pas un pro de l'irc -_-' )

mais dans tous les cas, tu ne peut pas recuperer tous les nicks d'un
serveur (amoins d'aller dans tous les chans les uns a la suite des
autres lol)
3
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
17 août 2005 à 11:04
-envoyer un message a un user ? il suffit de taper /msg user ton message

-la liste des users d'un salon ? il faut pour cela se trouver dans le salon que tu veux lister

la commande $nick(#chan,0) retourne le nombre d'user dans #chan

$nick(#chan,1) retourne le nick du premier user , $nick(#chan,2) du 2eme etc...

si tu veux la liste il suffit de faire une boucle et de stocker les noms dans une variable

par ex



alias nbusers {

var %i 1 , %max $nick($chan,0)

while (%i <= %max) {

var %users = %users $nick($chan,%i)

inc %i

}

echo -a %users

}



voila c'est un exemple simple pour realiser ce code , a l'aide d'une
boucle while (pour le tester, tape /nbusers dans un salon apres avoir
prealablement mis ce code dans tes remotes)



pour plus d'infos , tape /help $nick



-l'heure s'affiche a l'aide de la commande $time



-et enfin, pour un repondeur tu peux regarder les sources presentes sur
ircfr , sinon tu aura besoin de savoir utiliser les events on text , et
la gestion des variables (tout depend de ce que tu veux faire comme
genre de repondeur)

/help on text , /help /set



dans tous les cas n'oublie pas de regarder l'aide ( si tu ne l'a pas en francais va ici )
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
17 août 2005 à 11:15
Salut et merci pour ta réponse, mais j'ai un pb :
Quant j'essaye ton code dans un salon il me dit : BenXbox ciel[busy] Fred Hoax
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
17 août 2005 à 11:24
bah c'est normal

je vais t'expliquer le code



alias nbusers { > nom de l'alias

var %i 1 , %max $nick($chan,0) > je definis 2 variables (%i vaut 1 et %max vaut le nombre d'users sur le chan)

while (%i <= %max) { >"tant que %i est inferieur a %max je continu la boucle

var %users = %users
$nick($chan,%i) > la je defini une var %users qui est egale a elle
meme (afin de recuperer les infos deja existantes) et je rajoute a la
fin de cette var le nick $nick(#chan,%i) (le i nieme nick du chan)

inc %i > j'incremente %i de 1 et la boucle recommence

} > fin de la boucle

echo -a %users > je dis en echo tous les nicks du chan

}



dans ton cas il t'a listé les users de ton chan

BenXbox

ciel[busy]

Fred

Hoax

en les mettant cote a cote dans la var (voir la ligne bleue)
0

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

Posez votre question
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
17 août 2005 à 11:27
à ok jviens de comprendre, merci beaucoup, et par exemple je suis sur mon salon, et je veut envoyé un message a tout le monde avec le code que tu viens de faire de fais :
/nbusers /msg Bonjour à tous
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
17 août 2005 à 11:36
nop ce code ne sertt qu'a lister les nicks, mais tu peux le transformer rapidement

ex:



alias allnicks {

var %i 1 , %max $nick($chan,0)

while (%i <= %max) {

msg $nick($chan,%i) $1- > j'ai juste changé cette ligne. a la
place de stocker les nicks dans ma var j'envoie le message que tu a
tapé au i nieme nick du chan

inc %i > j'incremente %i et je recommence

}

}



a utiliser comme ça

/allnicks salut copin ça va ? (dans le code $1- represente le message "salut copin etc.." )



dans une chaine de mots ex : salut ça va $1 vaut 'salut' , $2 vaut 'ça' et $3 vaut 'va'

et $2- vaut 'ça va' , $1-2 vaut 'salut ça' etc etc...

en faite $x = le xieme mot de la phrase

$x- = du xieme mot a la fin de la phrase

$x-y = du xieme au yieme mot de la phrase



cet identifieur est tres utilise dans les event on text
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
17 août 2005 à 11:55
Donc j'ai mit ce code dans le remote :

alias allnicks
{
var %i 1 , %max $nick($chan,0)
while (%i <= %max)
{
msg $nick($chan,%i) $1- >
inc %i >
}
}

Puit j'ai tapé dans mon salon :
/allnicks teste du salon

Mais rien ne se passe.
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
17 août 2005 à 12:19
les '>' etaient juste la pour l'explication

pour ecrire des commentaires dans du code il faut utiliser le point virgule ';'

essaye



alias allnicks

{

var %i 1 , %max $nick($chan,0)

while (%i <= %max)

{

msg $nick($chan,%i) $1-

inc %i

}

}
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
17 août 2005 à 12:23
Je viens d'essayer sa ne marche pas non plus.
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
17 août 2005 à 12:39
bon c'est au niveau du nom de l'alias

la ça devrait marcher



alias trala {

var %i 1 , %max $nick($chan,0)

while (%i <= %max) {

msg $nick($chan,%i) $1-

inc %i

}

}



tape /trala ton message sur un chan



une chose, l'acolade du while doit etre sur la meme ligne que le while,
sinon tu aura une erreur du type * /while: insufficient parameters
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
17 août 2005 à 12:54
A sa marche merci.
Donc si je comprend bien le principe du remote de mirc, pour affiché les users d'un serveur sa donne :

alias nbusers {
var %i 1 , %max $nick($serv,0)
while (%i <= %max) {
var %users = %users $nick($serv,%i)
inc %i
}
echo -a %users
}
0
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
17 août 2005 à 13:13
Sinon...

tu séléctionnes les nicks dans la NickList et:



//say Salut $snicks
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
17 août 2005 à 13:35
A ok, bas merci pour ton aide sa ma bien aider :)
A parcontre quant j'essaye d'affiché tout les users d'un serveur avec :
alias UsersServeur
{
var %i 1 , %max $nick($server,0)
while (%i <= %max)
{
var %users = %users $nick($server,%i)
inc %i
}
echo -a %users
}

Je tape dans le status : /UsersServeur

Bas sa ne m'affiche rien du tout, meme pas un message d'erreur.
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
17 août 2005 à 13:59
Oki l'amis, bas merci pour tout :)
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 6
17 août 2005 à 14:32
http://mhc.magnetik.org , le meilleur site pour débuter :)
PaDa
0
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
17 août 2005 à 19:07
Tu peux voir le nombre de personne connecté (ceux qui ne sont pas en usermode +i), via /who *
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 6
17 août 2005 à 19:18
Ouch... Tu vas avoir un Error, /who limit of NNN exceeded ou un truc dans le genre...

Pour le nombre d'users connectés mieux vaut faire un /lusers non ?

Je n'ai pas lu toute la discussion, désolé si je suis a coté de la plaque :x

PaDa
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
18 août 2005 à 13:55
Nom je veut pas affiché le nombres d'users du seveur, mais les pseudos des users.
0
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
18 août 2005 à 14:46
ça dépend du serveur la limite du who...



Sur powanet c'est bloqué à 1

Sur voila à 200

sur epik ... ça se bloque quand t'es déco :\



L'avantage de "/who *" c'est de voir les pseudos, alors que /luser renvoit juste le nombre
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
18 août 2005 à 15:00
Oué mais avec cette fonction, je doit modifier quoi pour que sa marche :

alias nbusers {
var %i 1 , %max $nick($serv,0)
while (%i <= %max) {
var %users = %users $nick($serv,%i)
inc %i
}
echo -a %users
}
0
Rejoignez-nous