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 thecontentandflags: 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:
flagscan be set to64to mark the message as ephemeral, except when it is the first followup message to a deferred Interactions Response. In that case, theflagsfield will be ignored, and the ephemerality of the message will be determined by theflagsvalue 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:
flagscan be set to64to mark the message as ephemeral, except when it is the first followup message to a deferred Interactions Response. In that case, theflagsfield will be ignored, and the ephemerality of the message will be determined by theflagsvalue in your original ACK.Basically, you have to set
flagswhen 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
flagsfield 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.