Saltar para o conteúdo
Dialova

Documentação IRC · Intermédio

Compreender as respostas numéricas IRC

Uma resposta numérica é uma mensagem cujo comando é um código de três algarismos. O código e os parâmetros contêm a estrutura; o texto explicativo final destina-se à apresentação e pode variar conforme o servidor ou o idioma.

A equipa do Dialova · Verificado em

Ler a estrutura em vez de analisar uma frase #

Respostas NAMES dirigidas ao cliente Alice
:irc.example 353 Alice = #atelier :@Alice Bob
:irc.example 366 Alice #atelier :End of /NAMES list

Aqui 353 é o comando numérico. Alice é a destinatária da resposta; #atelier e a lista de pseudónimos são parâmetros úteis para o cliente. A frase de fim de lista não é um identificador estável a reconhecer palavra por palavra.

Algumas referências comuns #

CódigoUtilizaçãoAspeto a ter em conta
001Boas-vindas após o registo IRCNão equivale à simples abertura TCP.
005ISUPPORTDescreve propriedades do servidor; não é CAP ACK.
311 / 318Início da informação WHOIS e fimPodem intercalar-se várias respostas.
332 / 333Tópico e metadados associados333 é uma prática comum, não toda a resposta TOPIC por si só.
353 / 366Lista NAMES e fimA lista pode ser dividida.
401Destino não encontradoNão autoriza a contornar a política da rede.
482Permissões insuficientes no canalVerifica a função real, não apenas o menu do cliente.
903 / 904SASL com sucesso / falhaPortanto, nem todos os códigos 9xx indicam sucesso.

Respostas históricas e extensões #

As RFC descrevem uma base histórica, não todas as respostas atuais. Os IRCd e as extensões acrescentam códigos; o cliente deve poder apresentá-los ou ignorá-los corretamente, sem inventar interpretações. WHOIS pode fornecer informação adicional conforme a rede e as permissões.

As famílias 4xx e 5xx contêm muitos erros, mas esta orientação não substitui a documentação do mecanismo. As extensões modernas também usam respostas estruturadas como FAIL, WARN ou NOTE.

Associar a resposta à ação certa #

Um cliente pode receber eventos e várias respostas ao mesmo tempo. Não assumas que a mensagem seguinte responde ao último comando. Respeita os parâmetros de destino e os marcadores de fim; labeled-response, quando disponível, responde a necessidades de correlação mais avançadas.

Fontes e verificação

Os exemplos usam alcunhas e domínios fictícios, salvo os pontos de ligação expressamente documentados. As extensões e definições específicas de uma rede são assinaladas no texto.