Maybe we should just bubble these up as snackbars, or completely ignore them by default.
One particular case of NOTICE messages is bot response messages to !commands in channels (in order to avoid flooding the channel with responses). See: https://github.com/ircv3/ircv3-specifications/issues/497
Right. If there's an open buffer for the incoming NOTICE we should probably just keep appending them there.
For traditional cases where you are have goguma opened on a particular buffer when the message is received taking the first opened buffer with both you & the sender works fine, but in the case where you fetch old history in the background it can be difficult to select the appropriate buffer (you don't necessarily know on which buffer the sender was at the moment).
Should we start supporting eg @+channel first and update some of our bots to use it and see how it goes?
I don't understand. This is essentially what I'm suggesting:
- Bots sending a NOTICE to a channel the user is in show up as regular messages.
- Bots sending a direct NOTICE to the user show up in a snackbar, unless the user has a conversation with them.
Most bots will use NOTICE when responding directly to user commands in a channel, by sending them a direct NOTICE, as a way to avoid flooding the channel. See the linked issue for that use case. These messages should be treated as if they were regular messages sent to the corresponding channel, rather than as a private message.
PRIVMSG #chan :!help :bot NOTICE me :Help derp.
This "Help derp" message is intended by the bot to show in the #chan channel (and it does for most clients) to avoid flooding the channel with this info. NOTICE is almost used like a special keyword to mean that this is a message that should be shown in the last used/current channel.
As for the case where bots respond to NOTICEs in a channel, I agree they should show up just like regular channel PRIVMSGs.
There is no way to link the NOTICE to the channel, apart from error-prone heuristics and yet-to-be-implemented tags.
Yes. Heuristics work fine in the context of a traditional client but not when using CHATHISTORY as the issue mentions.
I am suggesting to start supporting the yet-to-be-implemented tag @+draft/channel (this should be a simple +10/-0 diff ish) and I will update my bots to use them. As for bots that do not support @+draft/channel, we can do snackbars or something else.
draft/is reserved for merged (but not yet ratified) IRCv3 extensions. We could use
soju.im/or another namespace, but I'd prefer to submit a formal IRCv3 proposal in parallel since this is a cross-client thing.
OK. Then I will send a patch for
@+soju.im/channelto goguma-dev and send an MR to ircv3-specs in addition to the existing issue.