RFC IRC : Réponses


Ce qui suit est une liste de réponses numériques générées à la suite des commandes spécifiées ci-dessus. Chaque réponse numérique est donnée avec son numéro, son nom, et sa chaîne de réponse (en anglais).

6.1 Réponses d'erreur

401 ERR_NOSUCHNICK
"<pseudonyme> :No such nick/channel"
Utilisé pour indiquer que le pseudonyme passé en paramètre à la commande n'est pas actuellement utilisé.
402 ERR_NOSUCHSERVER
"<nom de serveur> :No such server"
Utilisé pour indiquer que le nom du serveur donné n'existe pas actuellement.
403 ERR_NOSUCHCHANNEL
"<nom de canal> :No such channel"
Utilisé pour indiquer que le nom de canal donné est invalide.
404 ERR_CANNOTSENDTOCHAN
"<nom de canal> :Cannot send to channel"
Envoyé à un utilisateur qui (a) soit n'est pas dans un canal en mode +n ou (b) n'est pas opérateur (ou mode +v) sur un canal en mode +m ; et essaie d'envoyer un PRIVMSG à ce canal.
405 ERR_TOOMANYCHANNELS
"<nom de canal> :You have joined too many channels"
Envoyé à un utilisateur quand il a atteint le nombre maximal de canaux qu'il est autorisé à accéder simultanément, et qu'il essaie d'en rejoindre un autre.
406 ERR_WASNOSUCHNICK
"<nom de canal> :There was no such nickname"
Renvoyé par WHOWAS pour indiquer qu'il n'y a pas d'information dans l'historique concernant ce pseudonyme.
407 ERR_TOOMANYTARGETS
"<destination> :Duplicate recipients. No message delivered"
Renvoyé à un client qui essaie d'envoyer un PRIVMSG/NOTICE utilisant le format de destination utilisateur@hôte pour lequel utilisateur@hôte a plusieurs occurrences.
409 ERR_NOORIGIN
":No origin specified"
Message PING ou PONG sans le paramètre origine qui est obligatoire puisque ces commandes doivent marcher sans préfixe.
411 ERR_NORECIPIENT
":No recipient given (<commande>)"
Pas de destinataire.
412 ERR_NOTEXTTOSEND
":No text to send"
Pas de texte à envoyer.
413 ERR_NOTOPLEVEL
"<masque> :No toplevel domain specified"
Domaine principal non spécifié.
414 ERR_WILDTOPLEVEL
"<masque> :Wildcard in toplevel domain"
Joker dans le domaine principal

Les erreurs 412-414 sont renvoyées par PRIVMSG pour indiquer que le message n'a pas été délivré. ERR_NOTOPLEVEL et ERR_WILDTOPLEVEL sont les erreurs renvoyées lors d'une utilisation invalide de "PRIVMSG $<serveur>" ou de "PRIVMSG #<hôte>".

421 ERR_UNKNOWNCOMMAND
"<commande> :Unknown command"
Renvoyé à un client enregistré pour indiquer que la commande envoyée est inconnue du serveur.
422 ERR_NOMOTD
":MOTD File is missing"
Le fichier MOTD du serveur n'a pas pu être ouvert.
423 ERR_NOADMININFO
"<serveur> :No administrative info available"
Renvoyé par un serveur en réponse à un message ADMIN quand il y a une erreur lors de la recherche des informations appropriées.
424 ERR_FILEERROR
":File error doing <fichier op> on <fichier>"
Message d'erreur générique utilisé pour rapporter un échec d'opération de fichier durant le traitement d'un message.
431 ERR_NONICKNAMEGIVEN
":No nickname given"
Renvoyé quand un paramètre pseudonyme attendu pour une commande n'est pas fourni.
432 ERR_ERRONEUSNICKNAME
"<pseudo> :Erroneus nickname"
Renvoyé après la réception d'un message NICK qui contient des caractères qui ne font pas partie du jeu autorisé. Voir les sections 1 et 2.2 pour les détails des pseudonymes valides.
433 ERR_NICKNAMEINUSE
"<nick> :Nickname is already in use"
Renvoyé quand le traitement d'un message NICK résulte en une tentative de changer de pseudonyme en un déjà existant.
436 ERR_NICKCOLLISION
"<nick> :Nickname collision KILL"
Renvoyé par un serveur à un client lorsqu'il détecte une collision de pseudonymes (enregistrement d'un pseudonyme qui existe déjà sur un autre serveur).
441 ERR_USERNOTINCHANNEL
"<pseudo> <canal> :They aren't on that channel"
Renvoyé par un serveur pour indiquer que l'utilisateur donné n'est pas dans le canal spécifié.
442 ERR_NOTONCHANNEL
"<canal> :You're not on that channel"
Renvoyé par le serveur quand un client essaie une commande affectant un canal dont il ne fait pas partie.
443 ERR_USERONCHANNEL
"<utilisateur> <channel> :is already on channel"
Renvoyé quand un client essaie d'inviter un utilisateur sur un canal où il est déjà.
444 ERR_NOLOGIN
"<utilisateur> :User not logged in"
Renvoyé par un SUMMON si la commande n'a pas pu être accomplie, car l'utilisateur n'est pas connecté.
445 ERR_SUMMONDISABLED
":SUMMON has been disabled"
Renvoyé en réponse à une commande SUMMON si le SUMMON est désactivé. Tout serveur qui ne gère pas les SUMMON doit retourner cette valeur.
446 ERR_USERSDISABLED
":USERS has been disabled"
Retourné en réponse à une commande USERS si la commande est désactivée. Tout serveur qui ne gère pas les USERS doit retourner cette valeur.
451 ERR_NOTREGISTERED
":You have not registered"
Retourné par le serveur pour indiquer à un client qu'il doit être enregistré avant que ses commandes soient traitées.
461 ERR_NEEDMOREPARAMS
"<commande> :Not enough parameters"
Renvoyé par un serveur après de nombreuses commandes, afin d'indiquer que le client n'a pas fourni assez de paramètres.
462 ERR_ALREADYREGISTRED
":You may not reregister"
Retourné par le serveur à tout lien qui tente de changer le détail de leurs informations enregistrées (tels que mot de passe et détail utilisateur du second message USER)
463 ERR_NOPERMFORHOST
":Your host isn't among the privileged"
Renvoyé à un client qui essaie de s'enregistrer sur un serveur qui n'accepte pas les connections depuis cet hôte.
464 ERR_PASSWDMISMATCH
":Password incorrect"
Retourné pour indiquer l'échec d'une tentative d'enregistrement d'une connection dû à un mot de passe incorrect ou manquant.
465 ERR_YOUREBANNEDCREEP
":You are banned from this server"
Retourné après une tentative de connection et d'enregistrement sur un serveur configuré explicitement pour vous dénier les connections.
467 ERR_KEYSET
"<canal> :Channel key already set"
Clé de canal déjà définie.
471 ERR_CHANNELISFULL
"<canal> :Cannot join channel (+l)"
Impossible de joindre le canal (+l)
472 ERR_UNKNOWNMODE
"<caratère> :is unknown mode char to me"
Mode inconnu.
473 ERR_INVITEONLYCHAN
"<canal> :Cannot join channel (+i)"
Impossible de joindre le canal (+i).
474 ERR_BANNEDFROMCHAN
"<canal> :Cannot join channel (+b)"
Impossible de joindre le canal (+b).
475 ERR_BADCHANNELKEY
"<canal> :Cannot join channel (+k)"
Impossible de joindre le canal (+k).
481 ERR_NOPRIVILEGES
":Permission Denied- You're not an IRC operator"
Toute commande qui requiert le privilège d'opérateur pour opérer doit retourner cette erreur pour indiquer son échec.
482 ERR_CHANOPRIVSNEEDED
"<canal> :You're not channel operator"
Toute commande qui requiert les privilèges 'chanop' (telles que les messages MODE) doit retourner ce message à un client qui l'utilise sans être chanop sur le canal spécifié.
483 ERR_CANTKILLSERVER
":You cant kill a server!"
Toute tentative d'utiliser la commande KILL sur un serveur doit être refusée et cette erreur renvoyée directement au client.
491 ERR_NOOPERHOST
":No O-lines for your host"
Si un client envoie un message OPER et que le serveur n'a pas été configuré pour autoriser les connection d'opérateurs de cet hôte, cette erreur doit être retournée.
501 ERR_UMODEUNKNOWNFLAG
":Unknown MODE flag"
Renvoyé par un serveur pour indiquer que le message MODE a été envoyé avec un pseudonyme et que le mode spécifié n'a pas été identifié.
502 ERR_USERSDONTMATCH
":Cant change mode for other users"
Erreur envoyé à tout utilisateur qui essaie de voir ou de modifier le mode utilisateur d'un autre client.

6.2 Réponses aux commandes.

300 RPL_NONE
Numéro de réponse bidon. Inutilisé.
302 RPL_USERHOST
":[<réponse>{<espace><réponse>}]"
Format de réponse utilisé par USERHOST pour lister les réponses à la liste des requêtes. La chaîne de réponse est composée ainsi :
<réponse> ::= <pseudo>['*'] '=' <'+'|'-'><hôte>
Le '*' indique si le client est enregistré comme opérateur. Les caractères '-' ou '+' indiquent respectivement si le client a défini un message AWAY ou non.
303 RPL_ISON
":[<pseudo> {<espace><pseudo>}]"
Format de réponse utilisé par ISON pour lister les réponses à la liste de requête.
301 RPL_AWAY
"<pseudo> :< message d'absence>"
305 RPL_UNAWAY
":You are no longer marked as being away"
306 RPL_NOWAWAY
":You have been marked as being away"
Ces trois réponses sont utilisées avec la commande AWAY (si elle est autorisée). RPL_AWAY est envoyé à tout client qui envoie un PRIVMSG à un client absent. RPL_AWAY n'est envoyé que par le serveur sur lequel le client est connecté. Les réponses RPL_UNAWAY et RPL_NOWAWAY sont envoyées quand un client retire et défini un message AWAY.
311 RPL_WHOISUSER
"<pseudo> <utilisateur> <hôte> * :<vrai nom>"
312 RPL_WHOISSERVER
"<pseudo> <serveur> :<info serveur >"
313 RPL_WHOISOPERATOR
"<pseudo> :is an IRC operator"
317 RPL_WHOISIDLE
"<pseudo> <integer> :seconds idle"
318 RPL_ENDOFWHOIS
"<pseudo> :End of /WHOIS list"
319 RPL_WHOISCHANNELS
"<pseudo> :{[@|+]<canal><espace>}"
Les réponses 311 à 313 et 317 à 319 sont toutes générées en réponses à un message WHOIS. S'il y a assez de paramètres, le serveur répondant doit soit formuler une réponse parmi les numéros ci-dessus (si le pseudo recherché a été trouvé) ou renvoyer un message d'erreur. Le '*' dans RPL_WHOISUSER est là en tant que littéral et non en tant que joker. Pour chaque jeu de réponses, seul RPL_WHOISCHANNELS peut apparaître plusieurs fois (pour les longues listes de nom de canaux). Les caractères '@' et '+' à côté du nom de canal indique si un client est opérateur de canal, ou si on l'a autorisé à parler dans un canal modéré. La réponse RPL_ENDOFWHOIS est utilisée pour marquer la fin de la réponse WHOIS.
314 RPL_WHOWASUSER
"<pseudo> <utilisateur> <hôte> * :<vrai nom>"
369 RPL_ENDOFWHOWAS
"<pseudo> :End of WHOWAS"
Lorsqu'il répond à un message WHOWAS, un serveur doit utiliser RPL_WHOWASUSER, RPL_WHOISSERVER ou ERR_WASNOSUCHNICK pour chacun des pseudonymes de la liste fournie. A la fin de toutes les réponses, il doit y avoir un RPL_ENDOFWHOWAS (même s'il n'y a eu qu'une réponse, et que c'était une erreur).
321 RPL_LISTSTART
"Channel :Users Name"
322 RPL_LIST
"<canal> <# visible> :<sujet>"
323 RPL_LISTEND
":End of /LIST"
Les réponses RPL_LISTSTART, RPL_LIST, RPL_LISTEND marquent le début, les réponses proprement dites, et la fin du traitement d'une commande LIST. S'il n'y a aucun canal disponible, seules les réponses de début et de fin sont envoyées.
324 RPL_CHANNELMODEIS
"<canal> <mode> <paramètres de mode >"
331 RPL_NOTOPIC
"<canal> :No topic is set"
332 RPL_TOPIC
"<canal> :<sujet>"
Lors de l'envoi d'un message TOPIC pour déterminer le sujet d'un canal, une de ces deux réponses est envoyée. Si le sujet est défini, RPL_TOPIC est renvoyée, sinon c'est RPL_NOTOPIC.
341 RPL_INVITING
"<canal> <pseudo>"
Renvoyé pas un serveur pour indiquer que le message INVITE a été enregistré, et est en cours de transmission au client final.
342 RPL_SUMMONING
"<utilisateur> :Summoning user to IRC"
Renvoyé par un serveur en réponse à un message SUMMON pour indiquer qu'il appelle cet utilisateur.
351 RPL_VERSION
"<version>.<debuglevel> <serveur> :<commentaires>"
Réponse du serveur indiquant les détails de sa version. <version> est la version actuelle du programme utilisé (comprenant le numéro de mise à jour) et <debuglevel> est utilisé pour indiquer si le serveur fonctionne en mode débugage.
Le champ <commentaire> peut contenir n'importe quel commentaire au sujet de la version, ou des détails supplémentaires sur la version.
352 RPL_WHOREPLY
"<canal> <utilisateur> <hôte> <serveur> <pseudo> <H|G>[*][@|+] :<compteur de distance> <vrai nom>"
315 RPL_ENDOFWHO
"<nom> :End of /WHO list"
La paire RPL_WHOREPLY et RPL_ENDOFWHO est utilisée en réponse à un message WHO. Le RPL_WHOREPLY n'est envoyé que s'il y a une correspondance à la requête WHO. S'il y a une liste de paramètre fournie avec le message WHO, un RPL_ENDOFWHO doit être envoyé après le traitement de chaque élément de la liste, <nom> étant l'élément.
353 RPL_NAMREPLY
"<canal> :[[@|+]<pseudo> [[@|+]<pseudo> [...]]]"
366 RPL_ENDOFNAMES
"<canal> :End of /NAMES list"
En réponse à un message NAMES, une paire consistant de RPL_NAMREPLY et RPL_ENDOFNAMES est renvoyée par le serveur au client. S'il n'y a pas de canal résultant de la requête, seul RPL_ENDOFNAMES est retourné. L'exception à cela est lorsqu'un message NAMES est envoyé sans paramètre et que tous les canaux et contenus visibles sont renvoyés en une suite de message RPL_NAMEREPLY avec un RPL_ENDOFNAMES indiquant la fin.
364 RPL_LINKS
"<masque> <serveur> :<compteur de distance> <info serveur >"
365 RPL_ENDOFLINKS
"<mask> :End of /LINKS list"
En réponse à un message LINKS, un serveur doit répondre en utilisant le nombre RPL_LINKS, et indiquer la fin de la liste avec une réponse RPL_ENDOFLINKS.
367 RPL_BANLIST
"<canal> <identification de bannissement>"
368 RPL_ENDOFBANLIST
"<canal> :End of channel ban list"
Quand il liste les bannissements actifs pour un canal donné, un serveur doit renvoyer la liste en utilisant les messages RPL_BANLIST et RPL_ENDOFBANLIST. Un RPL_BANLIST différent doit être utilisé pour chaque identification de bannissement. Après avoir listé les identifications de bannissement (s'il y en a), un RPL_ENDOFBANLIST doit être renvoyé.
371 RPL_INFO
":<chaîne>"
374 RPL_ENDOFINFO
":End of /INFO list"
Un serveur répondant à un message INFO doit envoyer toute sa série d'info en une suite de réponses RPL_INFO, avec un RPL_ENDOFINFO pour indiquer la fin des réponses.
375 RPL_MOTDSTART
":- <serveur> Message of the day - "
372 RPL_MOTD
":- <texte>"
376 RPL_ENDOFMOTD
":End of /MOTD command"
Lorsqu'il répond à un message MOTD et que le fichier MOTD est trouvé, le fichier est affiché ligne par ligne, chaque ligne ne devant pas dépasser 80 caractères, en utilisant des réponses au format RPL_MOTD. Celles-ci doivent être encadrées par un RPL_MOTDSTART (avant les RPL_MOTDs) et un RPL_ENDOFMOTD (après).
381 RPL_YOUREOPER
":You are now an IRC operator"
RPL_YOUREOPER est renvoyé à un client qui vient d'émettre un message OPER et a obtenu le statut d'opérateur.
382 RPL_REHASHING
"<fichier de configuration> :Rehashing"
Si l'option REHASH est activée et qu'un opérateur envoie un message REHASH, un RPL_REHASHING est renvoyé à l'opérateur.
391 RPL_TIME
"<serveur> :<chaîne indiquant l'heure locale du serveur >"
Lorsqu'il répond à un message TIME, un serveur doit répondre en utilisant le format RPL_TIME ci-dessus. La chaîne montrant l'heure ne doit que contenir le jour et l'heure correcte. Il n'y a pas d'obligation supplémentaire.
392 RPL_USERSSTART
":UserID Terminal Hôte"
393 RPL_USERS
":%-8s %-9s %-8s"
394 RPL_ENDOFUSERS
":End of users"
395 RPL_NOUSERS
":Nobody logged in"
Si le message USERS est géré par un serveur, les réponses RPL_USERSTART, RPL_USERS, RPL_ENDOFUSERS et RPL_NOUSERS sont utilisées. RPL_USERSSTART doit être envoyé en premier, suivi par soit une séquence de RPL_USERS ou un unique RPL_NOUSER. Enfin, viens un RPL_ENDOFUSERS.
200 RPL_TRACELINK
"Link <version & niveau de débugage > <destination> < serveur suivant>"
201 RPL_TRACECONNECTING
"Try. <classe> <serveur>"
202 RPL_TRACEHANDSHAKE
"H.S. <classe> <serveur>"
203 RPL_TRACEUNKNOWN
"???? <classe> [<adresse IP du client au format utilisant des points >]"
204 RPL_TRACEOPERATOR
"Oper <classe> <pseudo>"
205 RPL_TRACEUSER
"User <classe> <pseudo>"
206 RPL_TRACESERVER
"Serv <classe> <int>S <int>C <serveur> <pseudo!utilisateur|*!*>@<hôte|serveur>"
208 RPL_TRACENEWTYPE
"<nouveau type> 0 <nom du client>"
261 RPL_TRACELOG
"File <fichier log> <niveau de débugage>"
Les RPL_TRACE* sont tous renvoyés par le serveur en réponse à un message TRACE. Le nombre de messages retournés dépend de la nature du message TRACE, et s'il a été envoyé par un opérateur ou non. Il n'y a pas d'ordre définissant lequel doit être le premier. Les réponses RPL_TRACEUNKNOWN, RPL_TRACECONNECTING et RPL_TRACEHANDSHAKE sont toutes utilisées pour des connections qui n'ont pas été complètement établies, et sont soit inconnues, soit sont toujours en cours de connection, soit sont dans la phase terminale de la 'poignée de main du serveur'. RPL_TRACELINK est envoyé par tout serveur qui traite un message TRACE et doit le transmettre à un autre serveur. La liste de RPL_TRACELINK envoyé en réponse à une commande TRACE traversant le réseau IRC devrait refléter la connectivité actuelle des serveurs le long du chemin. RPL_TRACENEWTYPE est utilisé pour toute connection qui n'entre pas dans les autres catégories, mais qui est néanmoins affichée.
211 RPL_STATSLINKINFO
"<nom du lien> <sendq> < messages envoyés> <octets envoyés > <message reçus> <octets reçus> <temps de connection>"
212 RPL_STATSCOMMANDS
"<commande> <compteur>"
213 RPL_STATSCLINE
"C <hôte> * <nom> <port> <classe>"
214 RPL_STATSNLINE
"N <hôte> * <nom> <port> <classe>"
215 RPL_STATSILINE
"I <hôte> * <hôte> <port> <classe>"
216 RPL_STATSKLINE
"K <hôte> * <nom d'utilisateur> <port> <classe>"
218 RPL_STATSYLINE
"Y <classe> <fréquence des PINGS > <fréquence de connection > <sendq max>"
219 RPL_ENDOFSTATS
"<lettre de stats > :End of /STATS report"
241 RPL_STATSLLINE
"L <masque d'hôte> * <nom de serveur> <profondeur maxi>"
242 RPL_STATSUPTIME
":Server Up %d days %d:%02d:%02d"
243 RPL_STATSOLINE
"O <masque d'hôte> * <nom>"
244 RPL_STATSHLINE
"H <masque d'hôte> * <nom de serveur>"
221 RPL_UMODEIS
"<chaîne de mode utilisateur>"
Pour répondre à une requête au sujet du mode du client, RPL_UMODEIS est renvoyé.
251 RPL_LUSERCLIENT
":There are <entier> users and <entier> invisible on <entier> servers"
252 RPL_LUSEROP
"<entier> :operator(s) online"
253 RPL_LUSERUNKNOWN
"<entier> :unknown connection(s)"
254 RPL_LUSERCHANNELS
"<entier> :channels formed"
255 RPL_LUSERME
":I have <entier> clients and <integer> servers"
Lors du traitement d'un message LUSERS, le serveur envoie un lot de réponses parmi RPL_LUSERCLIENT, RPL_LUSEROP, RPL_USERUNKNOWN, RPL_LUSERCHANNELS et RPL_LUSERME. Lorsqu'il répond, un serveur doit envoyer RPL_LUSERCLIENT et RPL_LUSERME. Les autres réponses ne sont renvoyées que si le nombre trouvé n'est pas nul.
256 RPL_ADMINME
"<serveur> :Administrative info"
257 RPL_ADMINLOC1
":<info admin >"
258 RPL_ADMINLOC2
":<info admin>"
259 RPL_ADMINEMAIL
":<info admin>"
Lorsqu'il répond à un message ADMIN, un serveur doit renvoyer les réponses RLP_ADMINME à RPL_ADMINEMAIL et fournir un texte de message avec chacune. Pour RPL_ADMINLOC1, une description de la ville et de l'état dans lequel le serveur est, suivi des détails de l'université et du département (RPL_ADMINLOC2), et finalement le contact administratif pour ce serveur (avec obligatoirement une adresse email) dans RPL_ADMINEMAIL.

6.3 Nombres réservés.

Ces nombres ne sont pas décrits si dessus par ce qu'ils tombent dans l'une des catégories suivantes :
  1. Plus utilisés ;
  2. Réservés à une future utilisation ;
  3. Utilisés à l'heure actuelle, mais faisant partie des caractéristiques non génériques des serveurs IRC courants.
        209     RPL_TRACECLASS          217     RPL_STATSQLINE
        231     RPL_SERVICEINFO         232     RPL_ENDOFSERVICES
        233     RPL_SERVICE             234     RPL_SERVLIST
        235     RPL_SERVLISTEND
        316     RPL_WHOISCHANOP         361     RPL_KILLDONE
        362     RPL_CLOSING             363     RPL_CLOSEEND
        373     RPL_INFOSTART           384     RPL_MYPORTIS
        466     ERR_YOUWILLBEBANNED     476     ERR_BADCHANMASK
        492     ERR_NOSERVICEHOST