Add support for IRCv3.2 message tags #519

Closed
opened 2026-10-05 04:26:58 +02:00 by adam · 9 comments
Owner

The log module is not writing PRIVMSGs with IRCv3 tags into the log files. I'm not sure if it's specific tags causing the issue, all of the ones I'm trying to log have the same format and are from Twitch chat. Here's one such message captured with raw module:

[11:36:52] <*raw> IRC -> [@color=#FF0000;display-name=BrainsGames;emotes=;subscriber=0;turbo=0;user-type=;user_type= :brainsgames!brainsgames@brainsgames.tmi.twitch.tv PRIVMSG #alaskansavage :A S Hope all is well buddy!]

(More detailed here)

I've tried both ZNC 1.6.0 and 1.7.x-git-180-1cce7f6 with same results on Debian Jessie (8)

The log module is not writing PRIVMSGs with IRCv3 tags into the log files. I'm not sure if it's specific tags causing the issue, all of the ones I'm trying to log have the same format and are from Twitch chat. Here's one such message captured with raw module: ``` [11:36:52] <*raw> IRC -> [@color=#FF0000;display-name=BrainsGames;emotes=;subscriber=0;turbo=0;user-type=;user_type= :brainsgames!brainsgames@brainsgames.tmi.twitch.tv PRIVMSG #alaskansavage :A S Hope all is well buddy!] ``` (More detailed [here](https://i.3v.fi/twitch-irc-v3.txt)) I've tried both ZNC 1.6.0 and 1.7.x-git-180-1cce7f6 with same results on Debian Jessie (8) <!-- github-sync-id:73255589 -->
adam closed this issue 2026-10-05 04:26:58 +02:00
Author
Owner

Did you somehow force server to enable this capability? If not, why does server send tags at all?
ZNC doesn't yet support tags on IRC server connection.

Did you somehow force server to enable this capability? If not, why does server send tags at all? ZNC doesn't yet support tags on IRC server connection. <!-- github-comment-id:99193409 -->
Author
Owner

Yes, by CAP REQ, because I need the information they contain.

Yes, by CAP REQ, because I need the information they contain. <!-- github-comment-id:99299817 -->
Author
Owner

You shouldn't cap req anything that your client & bouncer don't support so I would say that this is invalid unless you are requesting ZNC to start supporting tags.

You shouldn't `cap req` anything that your client & bouncer don't support so I would say that this is invalid unless you are requesting ZNC to start supporting tags. <!-- github-comment-id:99344156 -->
Author
Owner

It is more of a request to support tags. In my case, I'm running a script between ZNC and the server, so I simply started stripping the tags before they reach ZNC. I would still like tags available on my client while having ZNC log the chat, though.

I'd also like to point out that IRCv3 working group has ZNC 0.207 or later listed as a compliant client

It is more of a request to support tags. In my case, I'm running a script between ZNC and the server, so I simply [started stripping the tags before they reach ZNC](https://github.com/3ventic/tmi-irc-relay/commit/16daa616e82de02672152943a6a667d95b2f9a49). I would still like tags available on my client while having ZNC log the chat, though. I'd also like to point out that IRCv3 working group has [ZNC 0.207 or later listed as a compliant client](http://ircv3.net/software/clients.html) <!-- github-comment-id:99345417 -->
Author
Owner

I'd also like to point out that IRCv3 working group has ZNC 0.207 or later listed as a compliant client

That is a little inaccurate as the list is IRCv3**.1** compatible clients and when making the website they removed the mentioning of .1. Tags are in IRCv3.2 and I am not sure if any client understands them yet.

> I'd also like to point out that IRCv3 working group has ZNC 0.207 or later listed as a compliant client That is a little inaccurate as the list is IRCv3**.1** compatible clients and when making the website they removed the mentioning of .1. Tags are in IRCv3.2 and I am not sure if any client understands them yet. - http://ircv3.net/specs/core/message-tags-3.2.html <!-- github-comment-id:99351196 -->
Author
Owner

In order to support some capability, cap req is not enough. One also needs to actually add support for it (the enabled tags, other protocol changes, etc)
For proper support of tags on server side some refactoring will be needed (e.g. #506)
IRCv3.1 is mostly supported, yes. 3.2 only partially

In order to support some capability, `cap req` is not enough. One also needs to actually add support for it (the enabled tags, other protocol changes, etc) For proper support of tags on server side some refactoring will be needed (e.g. #506) IRCv3.1 is mostly supported, yes. 3.2 only partially <!-- github-comment-id:99984273 -->
Author
Owner

Could someone rename this issue to say "add support for server-tags" or something else that makes it clear what this is about?

Could someone rename this issue to say "add support for server-tags" or something else that makes it clear what this is about? <!-- github-comment-id:109783238 -->
Author
Owner

Sure. It only seemed to affect the logging module, but I don't know for certain.

Sure. It only seemed to affect the logging module, but I don't know for certain. <!-- github-comment-id:109785128 -->
Author
Owner

Solved by #1000. See CMessage::GetTags()

Solved by #1000. See CMessage::GetTags() <!-- github-comment-id:131983202 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#519