Documentação IRC · Avançado
Message tags: metadados das mensagens IRC
As etiquetas de mensagens acrescentam metadados antes do resto de uma mensagem IRC. Podem conter uma hora, uma conta ou uma referência de lote. Uma etiqueta desconhecida pode ser ignorada na interface, mas o seu formato deve ser analisado corretamente.
A equipa do Dialova · Verificado em
Ler a zona de etiquetas #
@time=2026-10-29T10:00:00.000Z;account=alice :Alice!u@cloak.example PRIVMSG #atelier :BonjourA zona começa por @ e termina no primeiro espaço sem escape. As etiquetas são separadas por ;. Cada chave pode ter um valor depois de =. A ordem não tem significado e as chaves distinguem maiúsculas e minúsculas. Isola esta zona antes de dividir os parâmetros da mensagem.
Descodificar os valores uma única vez #
| Sequência no protocolo | Valor descodificado |
|---|---|
| \: | Ponto e vírgula |
| \s | Espaço |
| \\ | Barra invertida |
| \r | Retorno do cursor |
| \n | Mudança de linha |
Os escapes dizem respeito ao valor da etiqueta, não ao texto da mensagem inteira. Os valores usam UTF-8. Um valor vazio e a ausência de valor são equivalentes neste mecanismo; a interface não deve inventar uma diferença de significado.
A capacidade genérica e as extensões específicas #
message-tags anuncia suporte do formato completo e permite, entre outras coisas, etiquetas reservadas a clientes e TAGMSG. Extensões como server-time, account-tag e batch também usam o formato das etiquetas, sem que a sua negociação deva ser confundida com a da capacidade genérica.
C: CAP REQ :message-tags
S: :irc.example CAP Alice ACK :message-tags
C: @+example.org/note=bonjour\sici TAGMSG #atelierO prefixo + identifica uma etiqueta de cliente. Não transforma uma afirmação do cliente em informação certificada pelo servidor. É preciso distinguir uma conta anunciada pelo servidor de um texto arbitrário enviado por um participante.
Metadados limitados, não mensagens infinitas #
As etiquetas têm um limite de tamanho distinto da parte histórica da mensagem. A sua presença não torna ilimitado o texto de PRIVMSG. Trata etiquetas desconhecidas, sequências inválidas e chaves repetidas segundo a especificação; evita um analisador que rejeite qualquer evolução ou conserve dados sem limites indefinidamente.
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 — Message Tags ↗Fonte da especificação · consultada em 2026-10-29
- IRCv3 — server-time ↗Fonte da especificação · consultada em 2026-10-29
- IRCv3 — account-tag ↗Fonte da especificação · consultada em 2026-10-29
- IRCv3 — batch ↗Fonte da especificação · consultada em 2026-10-29