~emersion/goguma#80: 
Improve NOTICE handling

Ref https://github.com/irccloud/irccloud-tools/wiki/Notice-handling

Maybe we should just bubble these up as snackbars, or completely ignore them by default.

Status
REPORTED
Submitter
~emersion
Assigned to
No-one
Submitted
4 months ago
Updated
3 months ago
Labels
enhancement

~delthas 3 months ago

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

~emersion 3 months ago

Right. If there's an open buffer for the incoming NOTICE we should probably just keep appending them there.

~delthas 3 months ago

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?

~emersion 3 months ago

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.

~delthas 3 months ago

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.

~emersion 3 months ago

There is no way to link the NOTICE to the channel, apart from error-prone heuristics and yet-to-be-implemented tags.

~delthas 3 months ago

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.

~emersion 3 months ago

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.

~delthas 3 months ago

OK. Then I will send a patch for @+soju.im/channel to goguma-dev and send an MR to ircv3-specs in addition to the existing issue.

~delthas 3 months ago

Tested, works fine with the patch I sent and my updated bot.

Register here or Log in to comment, or comment via email.