discord-api-docs
discord-api-docs copied to clipboard
sending a followup after deferring a slash command ignores the SUPPRESS_EMBEDS flag
Description
When you defer a slash command and then send a followup, the SUPPRESS_EMBEDS
flag is ignored for the followup message, resulting in embeds still being rendered.
Steps to Reproduce
- respond to a slash command with type
5
(DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE
) - send a followup message (
POST /webhooks/{application.id}/{interaction.token}
) with a link in thecontent
andflags: 4
- observe
Expected Behavior
The embeds should not be rendered.
Current Behavior
The SUPPRESS_EMBEDS
flag is being ignored, resulting in embeds being rendered.
Screenshots/Videos
No response
Client and System Information
Canary 124017 (2c2001f) Host 1.0.45 Windows 10 64-Bit (10.0.19044)
From the docs:
flags
can be set to64
to mark the message as ephemeral, except when it is the first followup message to a deferred Interactions Response. In that case, theflags
field will be ignored, and the ephemerality of the message will be determined by theflags
value in your original ACK.
Basically, you have to set flags
when you're deferring the response, as it will be ignored in the first followup message. This is not a bug.
From the docs:
flags
can be set to64
to mark the message as ephemeral, except when it is the first followup message to a deferred Interactions Response. In that case, theflags
field will be ignored, and the ephemerality of the message will be determined by theflags
value in your original ACK.Basically, you have to set
flags
when you're deferring the response, as it will be ignored in the first followup message. This is not a bug.
even with flags: 68
it renders the embeds. it's probably an oversight in the api.
I didn't say to make the response ephemeral. What I was referring to is that when you defer an interaction response, the flags
field in the first followup message will be ignored, and you should set it on the original deferral instead. It's documented behavior.
I didn't say to make the response ephemeral. What I was referring to is that when you defer an interaction response, the
flags
field in the first followup message will be ignored, and you should set it on the original deferral instead. It's documented behavior.
yes, that's what I did. try it yourself. the followup had no flags at all, while the interaction callback had both flags.
Can reproduce.
POST
https://discord.com/api/v10/interactions/:id/:token/callback
with {"type":5,"data":{"flags":4}}
has returned status code 204
PATCH
https://discord.com/api/v10/webhooks/:id/:token/messages/@original
has returned.... {"flags":0}
using disnake 2.5.0a
I think this is fixed now.