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 :
- Plus utilisés ;
- Réservés à une future utilisation ;
- 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
|