New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ephemeral flag not applied on followUp and other edge cases #5702
Comments
It is an API limitation unfortunately. The first response to a Slash Command must be either
This again is a limitation of the API - it doesn't return anything from the |
Thank you for explaining, I already guessed as much. Then at least this issue can be closed for now and is on record for future reference. |
Please describe the problem you are having in as much detail as possible:
Ephemeral interactions and
followUp
seem to be incorrect or a limitation by the discord API.This is in regards of #5618
Include a reproducible code sample here, if possible:
On this case, the bot will reply, the followup will posted separately and the original reply will be deleted:
With the log looking later like that:
This is expected behaviour, however, when deferring a reply (in this case the bot is doing some request-work that takes some time, then the defer-flag seems to break:
Uh oh, we acknowledged in private that the bot is doing something but then can't break out of this state anymore. An additional
reply
will be met withError [INTERACTION_ALREADY_REPLIED]
In general it seems to be by design that you cannot do a
reply
after adefer
. But additionally it seems to be that the initial defer sets and fixates the ephemeral flag.There is however this curious interaction:
While this delete causes an error (
DiscordAPIError: Unknown Message
), it first sends the acknowledgement, does afollowUp
with ephemeral and then follows up with a publicly visible message in reference to the initialfollowUp
Oddly enought, this is what a followup to an ephemeral message looks like:
In an optimal case it should be possible to do a
defer
on time hidden and do afollowUp
/reply
to the interaction in public and vice versa. This would allow to show the context that this message was generated from the slash command. However, I'm not sure if this is a limitation of the DiscordAPI. AdditionalfollowUp
andreply
. Additionally it might be useful to return the message object fromreply
as well asfollowUp
to be able to delete it separately.Further details:
e300518597955abf4bf3c3d2634b47b9b3964274
Relevant client options:
GUILDS
,GUILD_MESSAGES
,GUILD_WEBHOOKS
e300518597955abf4bf3c3d2634b47b9b3964274
The text was updated successfully, but these errors were encountered: