Documentación IRC · Avanzado
Message tags: metadatos de los mensajes IRC
Las etiquetas de mensajes añaden metadatos antes del resto de un mensaje IRC. Pueden incluir una hora, una cuenta o una referencia de lote. Una etiqueta desconocida puede ignorarse en la interfaz, pero su formato debe analizarse correctamente.
El equipo de Dialova · Verificado el
Leer la zona de etiquetas #
@time=2026-10-29T10:00:00.000Z;account=alice :Alice!u@cloak.example PRIVMSG #atelier :BonjourLa zona empieza por @ y termina en el primer espacio sin escapar. Las etiquetas se separan con ;. Cada clave puede tener un valor después de =. El orden no tiene significado y las claves distinguen mayúsculas y minúsculas. Aísla esta zona antes de dividir los parámetros del mensaje.
Decodificar los valores una sola vez #
| Secuencia en el protocolo | Valor decodificado |
|---|---|
| \: | Punto y coma |
| \s | Espacio |
| \\ | Barra inversa |
| \r | Retorno de carro |
| \n | Salto de línea |
Los escapes afectan al valor de la etiqueta, no a todo el texto del mensaje. Los valores usan UTF-8. Un valor vacío y la ausencia de valor son equivalentes en este mecanismo; la interfaz no debe inventar una diferencia de significado.
La capacidad genérica y las extensiones específicas #
message-tags anuncia soporte del formato completo y permite, entre otras cosas, las etiquetas reservadas a clientes y TAGMSG. Extensiones como server-time, account-tag y batch también usan el formato de etiquetas, sin que debas confundir su negociación con la de la capacidad genérica.
C: CAP REQ :message-tags
S: :irc.example CAP Alice ACK :message-tags
C: @+example.org/note=bonjour\sici TAGMSG #atelierEl prefijo + identifica una etiqueta de cliente. No convierte lo que afirma el cliente en información certificada por el servidor. Debes distinguir entre una cuenta anunciada por el servidor y un texto arbitrario enviado por un participante.
Metadatos limitados, no mensajes infinitos #
Las etiquetas tienen un límite de tamaño distinto al de la parte histórica del mensaje. Su presencia no convierte el texto de PRIVMSG en ilimitado. Gestiona las etiquetas desconocidas, las secuencias no válidas y las claves repetidas según la especificación; evita un analizador que rechace cualquier evolución o conserve datos ilimitados indefinidamente.
Fuentes y verificación
Los ejemplos usan apodos y dominios ficticios, salvo los puntos de conexión expresamente documentados. Las extensiones y los ajustes específicos de una red se indican en el texto.
- IRCv3 — Message Tags ↗Fuente de la especificación · consultada el 2026-10-29
- IRCv3 — server-time ↗Fuente de la especificación · consultada el 2026-10-29
- IRCv3 — account-tag ↗Fuente de la especificación · consultada el 2026-10-29
- IRCv3 — batch ↗Fuente de la especificación · consultada el 2026-10-29