Documentation IRC · Avancé
Message tags : les métadonnées des messages IRC
Les message tags ajoutent des métadonnées avant le reste d’un message IRC. Ils peuvent porter une heure, un compte ou une référence de lot. Un tag inconnu peut être ignoré dans l’interface, mais son format doit être correctement analysé.
Équipe Dialova · Vérifié le
Lire la zone de tags #
@time=2026-10-29T10:00:00.000Z;account=alice :Alice!u@cloak.example PRIVMSG #atelier :BonjourLa zone commence par @ et s’arrête au premier espace non échappé. Les tags sont séparés par ;. Chaque clé peut avoir une valeur après =. Leur ordre ne porte pas de sens et les clés sont sensibles à la casse. Ne découpez pas les paramètres du message avant d’avoir isolé cette zone.
Décoder les valeurs une seule fois #
| Séquence sur le fil | Valeur décodée |
|---|---|
| \: | Point-virgule |
| \s | Espace |
| \\ | Antislash |
| \r | Retour chariot |
| \n | Saut de ligne |
L’échappement concerne la valeur du tag, pas le texte du message entier. Les valeurs de tags sont en UTF-8. Une valeur vide et une absence de valeur sont équivalentes dans ce mécanisme ; une interface ne doit pas inventer une différence sémantique.
La capacité générique et les extensions spécialisées #
message-tags annonce une prise en charge du format complet et permet notamment les tags réservés aux clients ainsi que TAGMSG. Des extensions comme server-time, account-tag et batch reposent aussi sur le format des tags, sans exiger que leur négociation soit confondue avec celle de la capacité générique.
C: CAP REQ :message-tags
S: :irc.example CAP Alice ACK :message-tags
C: @+example.org/note=bonjour\sici TAGMSG #atelierLe préfixe + désigne un tag client. Il ne transforme pas une affirmation du client en information certifiée par le serveur. Un compte annoncé par le serveur et un texte arbitraire envoyé par un participant doivent rester distingués.
Des métadonnées bornées, pas des messages infinis #
Les tags ont un budget de taille distinct de la partie historique du message. Leur présence ne permet pas de considérer le texte de PRIVMSG comme illimité. Les tags inconnus, les séquences invalides et les clés répétées se traitent selon la spécification ; évitez un parseur qui rejette toute évolution ou conserve indéfiniment des données non bornées.
Sources et vérification
Les exemples utilisent des pseudos et domaines fictifs, sauf les points de connexion explicitement documentés. Les extensions et réglages propres à un réseau sont signalés dans le texte.
- IRCv3 — Message Tags ↗Source de spécification · consultée le 2026-10-29
- IRCv3 — server-time ↗Source de spécification · consultée le 2026-10-29
- IRCv3 — account-tag ↗Source de spécification · consultée le 2026-10-29
- IRCv3 — batch ↗Source de spécification · consultée le 2026-10-29