| @@ -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, | Content = args.Content, | ||||
| AllowedMentions = args.AllowedMentions.IsSpecified ? args.AllowedMentions.Value?.ToModel() : Optional<API.AllowedMentions>.Unspecified, | AllowedMentions = args.AllowedMentions.IsSpecified ? args.AllowedMentions.Value?.ToModel() : Optional<API.AllowedMentions>.Unspecified, | ||||
| Embeds = apiEmbeds?.ToArray() ?? Optional<API.Embed[]>.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>() | ? args.Components.Value?.Components.Select(x => new API.ActionRowComponent(x)).ToArray() ?? Array.Empty<API.ActionRowComponent>() | ||||
| : Optional<API.ActionRowComponent[]>.Unspecified, | : Optional<API.ActionRowComponent[]>.Unspecified, | ||||
| Flags = args.Flags.IsSpecified ? args.Flags.Value ?? Optional<MessageFlags>.Unspecified : Optional<MessageFlags>.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) | lock (_lock) | ||||
| { | { | ||||
| @@ -284,7 +305,6 @@ namespace Discord.WebSocket | |||||
| } | } | ||||
| } | } | ||||
| await InteractionHelper.SendInteractionResponseAsync(Discord, response, this, Channel, options).ConfigureAwait(false); | |||||
| HasResponded = true; | HasResponded = true; | ||||
| } | } | ||||