| @@ -261,20 +261,41 @@ namespace Discord.WebSocket | |||
| } | |||
| } | |||
| var response = new API.InteractionResponse | |||
| if (!args.Attachments.IsSpecified) | |||
| { | |||
| Type = InteractionResponseType.UpdateMessage, | |||
| Data = new API.InteractionCallbackData | |||
| var response = new API.InteractionResponse | |||
| { | |||
| Type = InteractionResponseType.UpdateMessage, | |||
| Data = new API.InteractionCallbackData | |||
| { | |||
| Content = args.Content, | |||
| AllowedMentions = args.AllowedMentions.IsSpecified ? args.AllowedMentions.Value?.ToModel() : Optional<API.AllowedMentions>.Unspecified, | |||
| Embeds = apiEmbeds?.ToArray() ?? Optional<API.Embed[]>.Unspecified, | |||
| Components = args.Components.IsSpecified | |||
| ? args.Components.Value?.Components.Select(x => new API.ActionRowComponent(x)).ToArray() ?? Array.Empty<API.ActionRowComponent>() | |||
| : Optional<API.ActionRowComponent[]>.Unspecified, | |||
| Flags = args.Flags.IsSpecified ? args.Flags.Value ?? Optional<MessageFlags>.Unspecified : Optional<MessageFlags>.Unspecified | |||
| } | |||
| }; | |||
| await InteractionHelper.SendInteractionResponseAsync(Discord, response, this, Channel, options).ConfigureAwait(false); | |||
| } | |||
| else | |||
| { | |||
| var response = new API.Rest.UploadInteractionFileParams(args.Attachments.Value.ToArray()) | |||
| { | |||
| Type = InteractionResponseType.UpdateMessage, | |||
| Content = args.Content, | |||
| AllowedMentions = args.AllowedMentions.IsSpecified ? args.AllowedMentions.Value?.ToModel() : Optional<API.AllowedMentions>.Unspecified, | |||
| Embeds = apiEmbeds?.ToArray() ?? Optional<API.Embed[]>.Unspecified, | |||
| Components = args.Components.IsSpecified | |||
| MessageComponents = args.Components.IsSpecified | |||
| ? args.Components.Value?.Components.Select(x => new API.ActionRowComponent(x)).ToArray() ?? Array.Empty<API.ActionRowComponent>() | |||
| : Optional<API.ActionRowComponent[]>.Unspecified, | |||
| Flags = args.Flags.IsSpecified ? args.Flags.Value ?? Optional<MessageFlags>.Unspecified : Optional<MessageFlags>.Unspecified | |||
| } | |||
| }; | |||
| }; | |||
| await InteractionHelper.SendInteractionResponseAsync(Discord, response, this, Channel, options).ConfigureAwait(false); | |||
| } | |||
| lock (_lock) | |||
| { | |||
| @@ -284,7 +305,6 @@ namespace Discord.WebSocket | |||
| } | |||
| } | |||
| await InteractionHelper.SendInteractionResponseAsync(Discord, response, this, Channel, options).ConfigureAwait(false); | |||
| HasResponded = true; | |||
| } | |||