Le Protocole IRC


précédentsommairesuivant

4. Commandes générales du protocole

Voici les commandes générales du protocoles, 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

4-1. 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 status 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 listing à 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 status (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.

4-2. 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 tel que sont masque (nick, nom et domaine de connexion), les chans où il est (et son status sur ces chans), s'il a le status 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 pouvoir à certains utilisateurs.
    o : ajoute ou enlève le status d'IRCOP
    i : ajoute ou enlève le status invisible (informations réduites dans le WHOIS)


4-3. Les commandes de discussion

Elles sont au nombre de 2 (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 envoie d'information. De plus, auncune réponse d'erreur (réponse numérique) ne peut être envoyé à 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)


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.