Documentazione IRC · Avanzato
Message tag: i metadati dei messaggi IRC
I message tag aggiungono metadati prima del resto di un messaggio IRC. Possono contenere un orario, un account o un riferimento a un batch. Un tag sconosciuto può essere ignorato nell’interfaccia, ma il suo formato va analizzato correttamente.
Il team di Dialova · Verificato il
Leggere la sezione dei tag #
@time=2026-10-29T10:00:00.000Z;account=alice :Alice!u@cloak.example PRIVMSG #atelier :BonjourLa sezione inizia con @ e termina al primo spazio non sottoposto a escape. I tag sono separati da ;. Ogni chiave può avere un valore dopo =. L’ordine non ha significato e le chiavi distinguono maiuscole e minuscole. Isola questa sezione prima di suddividere i parametri del messaggio.
Decodificare i valori una sola volta #
| Sequenza sul protocollo | Valore decodificato |
|---|---|
| \: | Punto e virgola |
| \s | Spazio |
| \\ | Barra inversa |
| \r | Ritorno carrello |
| \n | Avanzamento riga |
L’escape riguarda il valore del tag, non il testo dell’intero messaggio. I valori dei tag sono in UTF-8. Un valore vuoto e l’assenza di valore sono equivalenti in questo meccanismo; l’interfaccia non deve inventare una differenza di significato.
La capacità generica e le estensioni specifiche #
message-tags annuncia il supporto del formato completo e permette, tra l’altro, i tag riservati ai client e TAGMSG. Anche estensioni come server-time, account-tag e batch usano il formato dei tag, senza che la loro negoziazione vada confusa con quella della capacità generica.
C: CAP REQ :message-tags
S: :irc.example CAP Alice ACK :message-tags
C: @+example.org/note=bonjour\sici TAGMSG #atelierIl prefisso + identifica un tag client. Non trasforma un’affermazione del client in un’informazione certificata dal server. Un account annunciato dal server e un testo arbitrario inviato da un partecipante devono restare distinti.
Metadati limitati, non messaggi infiniti #
I tag hanno un limite di dimensione distinto dalla parte storica del messaggio. La loro presenza non rende illimitato il testo di PRIVMSG. Tag sconosciuti, sequenze non valide e chiavi ripetute vanno gestiti secondo la specifica; evita un parser che rifiuti ogni evoluzione o conservi indefinitamente dati senza limiti.
Fonti e verifica
Gli esempi usano nickname e domini fittizi, tranne gli endpoint esplicitamente documentati. Le estensioni e le impostazioni specifiche di una rete sono indicate nel testo.
- IRCv3 — Message Tags ↗Fonte della specifica · consultata il 2026-10-29
- IRCv3 — server-time ↗Fonte della specifica · consultata il 2026-10-29
- IRCv3 — account-tag ↗Fonte della specifica · consultata il 2026-10-29
- IRCv3 — batch ↗Fonte della specifica · consultata il 2026-10-29