Quelques questions pour apprendre à programmer en IRC. [Résolu]

BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 17 août 2005 à 08:33 - Dernière réponse : BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

24 réponses

Meilleure réponse
fjxokt 841 Messages postés vendredi 28 janvier 2005Date d'inscription 25 février 2009 Dernière intervention - 17 août 2005 à 13:58
3
Merci
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)

Merci fjxokt 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de fjxokt
fjxokt 841 Messages postés vendredi 28 janvier 2005Date d'inscription 25 février 2009 Dernière intervention - 17 août 2005 à 11:04
0
Merci
-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 )
Commenter la réponse de fjxokt
BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 17 août 2005 à 11:15
0
Merci
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
Commenter la réponse de BenXbox
fjxokt 841 Messages postés vendredi 28 janvier 2005Date d'inscription 25 février 2009 Dernière intervention - 17 août 2005 à 11:24
0
Merci
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)
Commenter la réponse de fjxokt
BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 17 août 2005 à 11:27
0
Merci
à 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
Commenter la réponse de BenXbox
fjxokt 841 Messages postés vendredi 28 janvier 2005Date d'inscription 25 février 2009 Dernière intervention - 17 août 2005 à 11:36
0
Merci
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
Commenter la réponse de fjxokt
BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 17 août 2005 à 11:55
0
Merci
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.
Commenter la réponse de BenXbox
fjxokt 841 Messages postés vendredi 28 janvier 2005Date d'inscription 25 février 2009 Dernière intervention - 17 août 2005 à 12:19
0
Merci
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

}

}
Commenter la réponse de fjxokt
BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 17 août 2005 à 12:23
0
Merci
Je viens d'essayer sa ne marche pas non plus.
Commenter la réponse de BenXbox
fjxokt 841 Messages postés vendredi 28 janvier 2005Date d'inscription 25 février 2009 Dernière intervention - 17 août 2005 à 12:39
0
Merci
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
Commenter la réponse de fjxokt
BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 17 août 2005 à 12:54
0
Merci
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
}
Commenter la réponse de BenXbox
COOLMAN002 976 Messages postés lundi 16 juin 2003Date d'inscription 1 juillet 2012 Dernière intervention - 17 août 2005 à 13:13
0
Merci
Sinon...

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



//say Salut $snicks
Commenter la réponse de COOLMAN002
BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 17 août 2005 à 13:35
0
Merci
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.
Commenter la réponse de BenXbox
BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 17 août 2005 à 13:59
0
Merci
Oki l'amis, bas merci pour tout :)
Commenter la réponse de BenXbox
cs_PaDa 1804 Messages postés mardi 15 juillet 2003Date d'inscription 22 septembre 2009 Dernière intervention - 17 août 2005 à 14:32
0
Merci
http://mhc.magnetik.org , le meilleur site pour débuter :)
PaDa
Commenter la réponse de cs_PaDa
COOLMAN002 976 Messages postés lundi 16 juin 2003Date d'inscription 1 juillet 2012 Dernière intervention - 17 août 2005 à 19:07
0
Merci
Tu peux voir le nombre de personne connecté (ceux qui ne sont pas en usermode +i), via /who *
Commenter la réponse de COOLMAN002
cs_PaDa 1804 Messages postés mardi 15 juillet 2003Date d'inscription 22 septembre 2009 Dernière intervention - 17 août 2005 à 19:18
0
Merci
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
Commenter la réponse de cs_PaDa
BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 18 août 2005 à 13:55
0
Merci
Nom je veut pas affiché le nombres d'users du seveur, mais les pseudos des users.
Commenter la réponse de BenXbox
COOLMAN002 976 Messages postés lundi 16 juin 2003Date d'inscription 1 juillet 2012 Dernière intervention - 18 août 2005 à 14:46
0
Merci
ç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
Commenter la réponse de COOLMAN002
BenXbox 211 Messages postés mercredi 5 juin 2002Date d'inscription 14 août 2007 Dernière intervention - 18 août 2005 à 15:00
0
Merci
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
}
Commenter la réponse de BenXbox

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.