[Fix] Update modal's DeferAsync
impl
#2722
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently defer on modals responds with
InteractionResponseType.DeferredUpdateMessage
response type, while leaving no way of responding withInteractionResponseType.DeferredChannelMessageWithSource
- basically making it impossible to defer a modal sent in response to a slash command interaction.This PR adds the
DeferLoadingAsync
method toIModalInteraction
. In a similar toIComponentInteraction
way - it responds withDeferredChannelMessageWithSource
type.Changes
DeferLoadingAsync
toIModalInteraction
and its inherited typesDefer(Async)
to useDeferredChannelMessageWithSource
if theIModalInteraction.Message
isnull
(= interaction that triggered the modal was not a component interaction)Warning
RestModal.Defer
to respond withDeferredUpdateMessage
type to equalize behavior with theSocketModal.DeferAsync
Defer(Async)
responds withDeferredChannelMessageWithSource
type instead ofDeferredUpdateMessage
fixes #2624