III. Commandes générales du protocole▲
Voici les commandes générales du protocole, elles sont séparées en trois catégories :
- les commandes de gestion des chans (et des utilisateurs dans les chans)Â ;
- les commandes de gestion des utilisateurs ;
- les commandes de discussion.
III-A. Gestion des chans (et des utilisateurs dans ceux-ci)▲
- Message JOIN
Paramètres : <nom du chan> [<clé>]
Réponses possibles : ERR_NEEDMOREPARAMS (461), ERR_BANNEDFROMCHAN (474), ERR_INVITEONLYCHAN (473), ERR_BADCHANNELKEY (475), ERR_CHANNELISFULL (471), ERR_NOSUCHCHANNEL (403), RPL_TOPIC (332)
Ce message permet d'entrer sur un chan. Une fois qu'un utilisateur est sur un chan, il reçoit tous les messages (discussion et gestion) concernant ce chan. Si l'entrée est validée, le serveur transmet le message aux autres serveurs et autres utilisateurs présents sur le chan, puis le message RPL_TOPIC rappelle le topic du chan, et est suivi de messages RPL_NAMREPLY (353) avec la liste des nicks présents sur le chan, et enfin par un RPL_ENDOFNAMES (366). - Message PART
Paramètres : <nom du chan> [<commentaire>]
Réponses possibles : ERR_NEEDMOREPARAMS (461), ERR_NOSUCHCHANNEL (403), ERR_NOTONCHANNEL (442)
Ce message permet de sortir d'un chan. - Message MODE
Paramètres : <nom du chan> <+|-|o|p|s|i|t|n|b|v|m>+ <autres paramètres>
Réponses possibles : ERR_NEEDMOREPARAMS (461), ERR_NOSUCHCHANNEL (403), ERR_NOTONCHANNEL (442), ERR_NOSUCHNICK (401), ERR_CHANOPRIVSNEEDED (482), RPL_CHANNELMODEIS (324), ERR_KEYSET (467), RPL_BANLIST (367), RPL_ENDOFBANLIST (368), ERR_UNKNOWNMODE (472)
Ce message permet aux ops de modifier la configuration du chan.
o : ajoute ou enlève le statut d'opérateur à un membre du chan.
v : ajoute ou enlève le voice à un membre du chan (autorisation d'envoyer des messages au chan en état de modération).
b : ajoute ou enlève un ban (interdiction d'entrer sur le chan).
l : ajoute (éventuellement modifie) ou enlève le nombre maximum d'utilisateurs pouvant entrer sur le chan.
k : ajoute (éventuellement modifie) ou enlève la clé du chan.
t : interdit aux non-chanops de modifier le topic du chan.
i : interdit l'entrée sur le chan aux non-invités.
m : interdit aux non-voices de parler sur le chan (modération du chan).
n : interdit les messages venant de personnes n'étant pas sur le chan.
s : Chan secret (n'apparait pas dans les listings à moins que l'utilisateur ne soit présent sur le chan).
p : Chan privé (ne divulgue pas d'informations autres que l'existence du chan dans les listings à moins que l'utilisateur ne soit présent sur le chan). - Message TOPIC
Paramètres : <nom du chan> [<nouveau topic>]
Réponses possibles : ERR_NEEDMOREPARAMS (461), ERR_NOTONCHANNEL (442), ERR_CHANOPRIVSNEEDED (482), RPL_TOPIC (332), RPL_NOTOPIC (331)
Si un nouveau topic est spécifié et si l'utilisateur en a le droit, alors ce message permet de modifier le topic (sujet) du chan. S'il n'est pas présent, alors il sert uniquement à redemander le topic du chan en question. - Message NAMES
Paramètres : <nom du chan>
Réponses possibles : RPL_NAMREPLY (353), RPL_ENDOFNAMES (366)
Permet de redemander la liste des personnes présentes sur le chan et leur statut (op, voice, simple membre). - Message LIST
Paramètres : [<nom du chan>]
Réponses possibles : RPL_LISTSTART (321), RPL_LIST (322), RPL_LISTEND (323)
Permet de demander la liste des chans, ou les détails sur un chan en particulier. - Message INVITE
Paramètres : <nick> <nom du chan>
Réponses possibles : ERR_NEEDMOREPARAMS (461), ERR_NOSUCHNICK (401), ERR_NOTONCHANNEL (442), ERR_USERONCHANNEL (443), ERR_CHANOPRIVSNEEDED (482), RPL_INVITING(341)
Permet d'inviter un utilisateur sur un chan. - Message KICK
Paramètres : <nom du chan> <nick>
Réponses possibles : ERR_NEEDMOREPARAMS (461), ERR_NOSUCHCHANNEL (403), ERR_NOTONCHANNEL (442), ERR_CHANOPRIVSNEEDED (482)
Ce message sert aux ops à éjecter un utilisateur de force du chan.
III-B. Gestion des utilisateurs▲
- Message WHOIS
Paramètres : <nick>
Réponses possibles : ERR_NONICKNAMEGIVEN (431), RPL_WHOISUSER (311), RPL_WHOISSERVER (312), RPL_WHOISOPERATOR (313), RPL_WHOISIDLE (317), RPL_ENDOFWHOIS (318), RPL_WHOISCHANNELS (319)
Ce message permet de demander des informations sur un utilisateur telles que son masque (nick, nom et domaine de connexion), les chans où il est (et son statut sur ces chans), s'il a le statut d'IRCOP, etc. - Message WHOWAS
Paramètres : <nick>
Réponses possibles : ERR_NONICKNAMEGIVEN (431), ERR_WASNOSUCHNICK (406), RPL_WHOWASUSER (314), RPL_ENDOFWHOWAS (369), RPL_WHOISSERVER (312)
Ce message est identique à WHOIS, mais pour des nicks qui ne sont plus utilisés. Bien sûr, ce n'est pas valide pour tous les nicks, uniquement ceux qui étaient utilisés il y a un court laps de temps. - Message MODE
Paramètres : <nick> <+|-|o|i>+
Réponses possibles : ERR_NEEDMOREPARAMS (461), ERR_USERSDONTMATCH (502), ERR_UMODEUNKNOWNFLAG (501), RPL_UMODEIS (221)
Ce message permet d'attribuer certains pouvoirs à certains utilisateurs.
o : ajoute ou enlève le statut d'IRCOP.
i : ajoute ou enlève le statut invisible (informations réduites dans le WHOIS).
III-C. Les commandes de discussion▲
Elles sont au nombre de deux (NOTICE et PRIVMSG) et suivent la même syntaxe : <nick ou chan> <message>
La NOTICE se distingue du message classique (PRIVMSG) par une simple signification sémantique : il n'y a pas de réelle réponse attendue, c'est uniquement un envoi d'information. De plus, aucune réponse d'erreur (réponse numérique) ne peut être envoyée à une notice. Pour les PRIVMSG, les réponses possibles sont : ERR_NORECIPIENT (411), ERR_NOTEXTTOSEND (412), ERR_CANNOTSENDTOCHAN (404), ERR_NOTOPLEVEL (413), ERR_WILDTOPLEVEL (414), ERR_NOSUCHNICK (401)