Documentação IRC · Intermédio
IRCv3: as extensões do IRC moderno
IRCv3 é um conjunto de especificações que fazem evoluir IRC sem exigir que todos os clientes mudem ao mesmo tempo. As capacidades são negociadas separadamente: uma simples indicação de «compatível com IRCv3» não garante todas as funções.
A equipa do Dialova · Verificado em
Nesta secção
- Account-tag: identificar a conta por trás de uma mensagemComo funciona account-tag: etiqueta account adicionada pelo servidor, diferenças entre pseudónimo e conta, negociação e cuidados para bots IRC.
- Batch: agrupar eventos IRC relacionadosLotes IRCv3 BATCH: abertura, fecho, etiqueta batch, aninhamento e diferenças entre agrupamento, histórico e multiline.
- Negociar capacidades com CAPUma negociação IRCv3 CAP passo a passo: LS 302, listas divididas, REQ, ACK, NAK, END e alterações após a ligação. Exemplos e erros de implementação.
- Message tags: metadados das mensagens IRCAprende a ler etiquetas IRCv3: prefixo @, separadores, escapes, etiquetas de cliente, TAGMSG e limites. Distingue metadados e texto com exemplos.
- SASL em IRC: autenticar uma contaSASL em IRC: diferenças em relação a TLS e NickServ, mecanismos PLAIN e EXTERNAL, negociação CAP e erros de autenticação.
- Server-time: datar as mensagens com a hora do servidorComo funcionam server-time e a etiqueta time: marcas temporais UTC, negociação, histórico, hora local e limites da ordenação das mensagens.
Uma evolução compatível com os clientes existentes #
CAP descobre e ativa as extensões comuns ao cliente e ao servidor. O suporte depende das versões, módulos, serviços e definições realmente usados. É preciso distinguir uma função anunciada, uma pedida e uma efetivamente aceite.
| Grupo | Mecanismos a conhecer |
|---|---|
| Ligação e identidade | CAP, sasl, account-tag, account-notify, extended-join |
| Apresentação e acompanhamento | server-time, echo-message, away-notify, multi-prefix |
| Metadados e agrupamento | message-tags, batch, labeled-response |
| Histórico | draft/chathistory e draft/event-playback, ainda em desenvolvimento à data de verificação |
Consultar o estado e as dependências #
O catálogo oficial distingue as especificações finalizadas dos trabalhos em curso. Uma extensão com o prefixo draft/ pode mudar de forma incompatível. O nome de uma capacidade, o nome de uma etiqueta e o tipo de um batch são identificadores diferentes: chathistory é um tipo de lote, enquanto a capacidade em desenvolvimento usa draft/chathistory.
Esta primeira versão detalha CAP, SASL, message-tags, server-time, account-tag e batch. As restantes capacidades aparecem para contextualizar as suas utilizações, sem criar páginas vazias. Consulta as especificações oficiais para ler o texto completo.
Para quem desenvolve um cliente #
- Ler CAP LS por completo, incluindo as respostas divididas e os valores.
- Ativar apenas as capacidades implementadas e esperar ACK.
- Aceitar mensagens adicionais entre as etapas de uma troca.
- Não confundir o estado atual com a reprodução de eventos históricos.
- Tratar as etiquetas desconhecidas sem inventar os seus efeitos.
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.
- IRCv3 — catalogue des spécifications ↗Fonte da especificação · consultada em 2026-10-29
- IRCv3 — Client Capability Negotiation ↗Fonte da especificação · consultada em 2026-10-29
- IRCv3 — chathistory, spécification en développement ↗Fonte da especificação · consultada em 2026-10-29