ircv3 / ircv3-ideas

46 stars 3 forks source link

Marking messages as NSFW #108

Open delthas opened 11 months ago

delthas commented 11 months ago

Rationale

Some GUI IRC clients now support image embedding. When users in a channel post an NSFW image, this image is shown without warning/opacity to the user, and there is no way to tell the client that the image is sensitive.

The goal is to add a simple attribute to channel & private messages that tell the clients that the message is NSFW/sensitive, that clients can then use to hide/hide embeds/add a warning/...

An example use case is a chat bot with a command that returns NSFW media: the bot knows in advance that the image is going to be NSFW when posting it. We could also imagine some future client integration where the user can mark the message as sensitive before sending it.

Implementation idea

Define a simple client-tag, e.g. @+nsfw, that clients can send in PRIVMSG and NOTICE messages. A message is NSFW/sensitive if it contains that tag.

Relates to #33

nektro commented 11 months ago

i think it should more generally be able to spoiler || like this || since that works inline too. it would also be nice if there was a way in the syntax to add alt text so users may decide whether they want to reveal it

delthas commented 11 months ago

i think it should more generally be able to spoiler || like this || since that works inline too. it would also be nice if there was a way in the syntax to add alt text so users may decide whether they want to reveal it

Spoiler text is discussed in: https://github.com/ircv3/ircv3-ideas/issues/33

I think that this is slightly different in the sense that you don't necessarily want to spoiler-text the link, it's just that you want clients not to show the image directly.

ValwareIRC commented 10 months ago

I think this should be called +rated. This way a user can explicitly mark a message as safe. With this, clients can implement not showing media as default behaviour, just in case, but they can choose to view those which are explicitly marked as safe. This saves on tags (+nsfw, +sfw).

This also gives room to key values like +rated=nsfw,gore,18, or +rated=sfw