Ephemeral messages without interactions

(#1097) Feature Under consideration api messaging

Problem

right now it is not possible to make ephemeral messages, which was a feature on discord. discord ephemeral messages require an interaction to respond to, which doesnt exist on fluxer

Proposed solution

ephemeral messages could be a new flag thats attached to the sent message, which would unlock a "target" field in the message object. the target field is a single user id. this would make the message only viewable to that user, and the target user can also dismiss the message. the message wont be logged at all since it only exist in transit; users would only be able to receive ephemerals if there is an active gateway connection from them.

Notes (optional)

since this proposed solution doesnt require interactions, this also means that user users (not just bot users) can also send ephemeral messages

2 comments

Sign in with Fluxer to comment and vote.
Comment by @PilkeySEK
RexSystem 1 vote originally by @PilkeySEK on GitHub
Not sure how Discord does it but ephemeral messages should probably be reportable, just in case, so they should be logged for like 1 day or less on the fluxer servers and then deleted, so that it's possible to report it
Comment by @noxied
RexSystem 1 vote originally by @noxied on GitHub
+1. The "sans interactions" angle makes sense to me, since there's no interactions system here to attach an EPHEMERAL flag to, so a plain flag plus a target user id feels like a more natural fit. Could be missing something on the internals though. Besides the privacy angle, these are really useful for bot feedback that shouldn't sit in the channel forever: "that command didn't work", "your upload failed", "only you can see this" confirmations, that kind of one-off reply to a single person. From a quick look, the schema side seems small (the server only allows a fixed set of message flags today), but the part I'm less sure about is the gateway having to deliver MESSAGE_CREATE only to the target user's sessions instead of the whole channel. No idea if that's the right way to do it, just what stood out to me. Either way, would love to see this land.