| @@ -18,7 +18,7 @@ namespace Discord.API | |||||
| // New flags prop. this make the response "ephemeral". see https://discord.com/developers/docs/interactions/slash-commands#interaction-response-interactionapplicationcommandcallbackdata | // New flags prop. this make the response "ephemeral". see https://discord.com/developers/docs/interactions/slash-commands#interaction-response-interactionapplicationcommandcallbackdata | ||||
| [JsonProperty("flags")] | [JsonProperty("flags")] | ||||
| public Optional<int> Flags { get; set; } | |||||
| public Optional<MessageFlags> Flags { get; set; } | |||||
| [JsonProperty("components")] | [JsonProperty("components")] | ||||
| public Optional<API.ActionRowComponent[]> Components { get; set; } | public Optional<API.ActionRowComponent[]> Components { get; set; } | ||||
| @@ -28,7 +28,7 @@ namespace Discord.API.Rest | |||||
| public Optional<AllowedMentions> AllowedMentions { get; set; } | public Optional<AllowedMentions> AllowedMentions { get; set; } | ||||
| [JsonProperty("flags")] | [JsonProperty("flags")] | ||||
| public Optional<int> Flags { get; set; } | |||||
| public Optional<MessageFlags> Flags { get; set; } | |||||
| [JsonProperty("components")] | [JsonProperty("components")] | ||||
| public Optional<API.ActionRowComponent[]> Components { get; set; } | public Optional<API.ActionRowComponent[]> Components { get; set; } | ||||
| @@ -3628,14 +3628,8 @@ | |||||
| <member name="M:Discord.WebSocket.SocketMessageComponent.FollowupAsync(System.String,Discord.Embed[],System.Boolean,System.Boolean,Discord.AllowedMentions,Discord.RequestOptions,Discord.MessageComponent,Discord.Embed)"> | <member name="M:Discord.WebSocket.SocketMessageComponent.FollowupAsync(System.String,Discord.Embed[],System.Boolean,System.Boolean,Discord.AllowedMentions,Discord.RequestOptions,Discord.MessageComponent,Discord.Embed)"> | ||||
| <inheritdoc/> | <inheritdoc/> | ||||
| </member> | </member> | ||||
| <member name="M:Discord.WebSocket.SocketMessageComponent.DeferAsync(Discord.RequestOptions)"> | |||||
| <summary> | |||||
| Acknowledges this interaction with the <see cref="F:Discord.InteractionResponseType.DeferredUpdateMessage"/>. | |||||
| </summary> | |||||
| <param name="options">The request options for this async request.</param> | |||||
| <returns> | |||||
| A task that represents the asynchronous operation of acknowledging the interaction. | |||||
| </returns> | |||||
| <member name="M:Discord.WebSocket.SocketMessageComponent.DeferAsync(System.Boolean,Discord.RequestOptions)"> | |||||
| <inheritdoc/> | |||||
| </member> | </member> | ||||
| <member name="T:Discord.WebSocket.SocketMessageComponentData"> | <member name="T:Discord.WebSocket.SocketMessageComponentData"> | ||||
| <summary> | <summary> | ||||
| @@ -3747,13 +3741,8 @@ | |||||
| <member name="M:Discord.WebSocket.SocketSlashCommand.FollowupAsync(System.String,Discord.Embed[],System.Boolean,System.Boolean,Discord.AllowedMentions,Discord.RequestOptions,Discord.MessageComponent,Discord.Embed)"> | <member name="M:Discord.WebSocket.SocketSlashCommand.FollowupAsync(System.String,Discord.Embed[],System.Boolean,System.Boolean,Discord.AllowedMentions,Discord.RequestOptions,Discord.MessageComponent,Discord.Embed)"> | ||||
| <inheritdoc/> | <inheritdoc/> | ||||
| </member> | </member> | ||||
| <member name="M:Discord.WebSocket.SocketSlashCommand.DeferAsync(Discord.RequestOptions)"> | |||||
| <summary> | |||||
| Acknowledges this interaction with the <see cref="F:Discord.InteractionResponseType.DeferredChannelMessageWithSource"/>. | |||||
| </summary> | |||||
| <returns> | |||||
| A task that represents the asynchronous operation of acknowledging the interaction. | |||||
| </returns> | |||||
| <member name="M:Discord.WebSocket.SocketSlashCommand.DeferAsync(System.Boolean,Discord.RequestOptions)"> | |||||
| <inheritdoc/> | |||||
| </member> | </member> | ||||
| <member name="T:Discord.WebSocket.SocketSlashCommandData"> | <member name="T:Discord.WebSocket.SocketSlashCommandData"> | ||||
| <summary> | <summary> | ||||
| @@ -3888,10 +3877,12 @@ | |||||
| A task that represents the asynchronous operation of acknowledging the interaction. | A task that represents the asynchronous operation of acknowledging the interaction. | ||||
| </returns> | </returns> | ||||
| </member> | </member> | ||||
| <member name="M:Discord.WebSocket.SocketInteraction.DeferAsync(Discord.RequestOptions)"> | |||||
| <member name="M:Discord.WebSocket.SocketInteraction.DeferAsync(System.Boolean,Discord.RequestOptions)"> | |||||
| <summary> | <summary> | ||||
| Acknowledges this interaction. | Acknowledges this interaction. | ||||
| </summary> | </summary> | ||||
| <param name="ephemeral"><see langword="true"/> to send this message ephemerally, otherwise <see langword="false"/>.</param> | |||||
| <param name="options">The request options for this async request.</param> | |||||
| <returns> | <returns> | ||||
| A task that represents the asynchronous operation of acknowledging the interaction. | A task that represents the asynchronous operation of acknowledging the interaction. | ||||
| </returns> | </returns> | ||||
| @@ -123,7 +123,7 @@ namespace Discord.WebSocket | |||||
| }; | }; | ||||
| if (ephemeral) | if (ephemeral) | ||||
| response.Data.Value.Flags = 64; | |||||
| response.Data.Value.Flags = MessageFlags.Ephemeral; | |||||
| await InteractionHelper.SendInteractionResponse(this.Discord, response, this.Id, Token, options); | await InteractionHelper.SendInteractionResponse(this.Discord, response, this.Id, Token, options); | ||||
| } | } | ||||
| @@ -180,7 +180,7 @@ namespace Discord.WebSocket | |||||
| Components = args.Components.IsSpecified | Components = args.Components.IsSpecified | ||||
| ? args.Components.Value?.Components.Select(x => new API.ActionRowComponent(x)).ToArray() | ? args.Components.Value?.Components.Select(x => new API.ActionRowComponent(x)).ToArray() | ||||
| : Optional<API.ActionRowComponent[]>.Unspecified, | : Optional<API.ActionRowComponent[]>.Unspecified, | ||||
| Flags = args.Flags.IsSpecified ? (int?)args.Flags.Value ?? Optional<int>.Unspecified : Optional<int>.Unspecified | |||||
| Flags = args.Flags.IsSpecified ? args.Flags.Value ?? Optional<MessageFlags>.Unspecified : Optional<MessageFlags>.Unspecified | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -217,23 +217,19 @@ namespace Discord.WebSocket | |||||
| }; | }; | ||||
| if (ephemeral) | if (ephemeral) | ||||
| args.Flags = 64; | |||||
| args.Flags = MessageFlags.Ephemeral; | |||||
| return await InteractionHelper.SendFollowupAsync(Discord.Rest, args, Token, Channel, options); | return await InteractionHelper.SendFollowupAsync(Discord.Rest, args, Token, Channel, options); | ||||
| } | } | ||||
| /// <summary> | |||||
| /// Acknowledges this interaction with the <see cref="InteractionResponseType.DeferredUpdateMessage"/>. | |||||
| /// </summary> | |||||
| /// <param name="options">The request options for this async request.</param> | |||||
| /// <returns> | |||||
| /// A task that represents the asynchronous operation of acknowledging the interaction. | |||||
| /// </returns> | |||||
| public override Task DeferAsync(RequestOptions options = null) | |||||
| /// <inheritdoc/> | |||||
| public override Task DeferAsync(bool ephemeral = false, RequestOptions options = null) | |||||
| { | { | ||||
| var response = new API.InteractionResponse() | var response = new API.InteractionResponse() | ||||
| { | { | ||||
| Type = InteractionResponseType.DeferredUpdateMessage, | Type = InteractionResponseType.DeferredUpdateMessage, | ||||
| Data = ephemeral ? new API.InteractionCallbackData() { Flags = MessageFlags.Ephemeral } : Optional<API.InteractionCallbackData>.Unspecified | |||||
| }; | }; | ||||
| return Discord.Rest.ApiClient.CreateInteractionResponse(response, this.Id, this.Token, options); | return Discord.Rest.ApiClient.CreateInteractionResponse(response, this.Id, this.Token, options); | ||||
| @@ -106,7 +106,7 @@ namespace Discord.WebSocket | |||||
| }; | }; | ||||
| if (ephemeral) | if (ephemeral) | ||||
| response.Data.Value.Flags = 64; | |||||
| response.Data.Value.Flags = MessageFlags.Ephemeral; | |||||
| await InteractionHelper.SendInteractionResponse(this.Discord, response, this.Id, Token, options); | await InteractionHelper.SendInteractionResponse(this.Discord, response, this.Id, Token, options); | ||||
| } | } | ||||
| @@ -141,22 +141,18 @@ namespace Discord.WebSocket | |||||
| }; | }; | ||||
| if (ephemeral) | if (ephemeral) | ||||
| args.Flags = 64; | |||||
| args.Flags = MessageFlags.Ephemeral; | |||||
| return await InteractionHelper.SendFollowupAsync(Discord.Rest, args, Token, Channel, options); | return await InteractionHelper.SendFollowupAsync(Discord.Rest, args, Token, Channel, options); | ||||
| } | } | ||||
| /// <summary> | |||||
| /// Acknowledges this interaction with the <see cref="InteractionResponseType.DeferredChannelMessageWithSource"/>. | |||||
| /// </summary> | |||||
| /// <returns> | |||||
| /// A task that represents the asynchronous operation of acknowledging the interaction. | |||||
| /// </returns> | |||||
| public override Task DeferAsync(RequestOptions options = null) | |||||
| /// <inheritdoc/> | |||||
| public override Task DeferAsync(bool ephemeral = false, RequestOptions options = null) | |||||
| { | { | ||||
| var response = new API.InteractionResponse | var response = new API.InteractionResponse | ||||
| { | { | ||||
| Type = InteractionResponseType.DeferredChannelMessageWithSource, | Type = InteractionResponseType.DeferredChannelMessageWithSource, | ||||
| Data = ephemeral ? new API.InteractionCallbackData() { Flags = MessageFlags.Ephemeral } : Optional<API.InteractionCallbackData>.Unspecified | |||||
| }; | }; | ||||
| return Discord.Rest.ApiClient.CreateInteractionResponse(response, this.Id, this.Token, options); | return Discord.Rest.ApiClient.CreateInteractionResponse(response, this.Id, this.Token, options); | ||||
| @@ -156,15 +156,17 @@ namespace Discord.WebSocket | |||||
| /// A task that represents the asynchronous operation of acknowledging the interaction. | /// A task that represents the asynchronous operation of acknowledging the interaction. | ||||
| /// </returns> | /// </returns> | ||||
| [Obsolete("This method deprecated, please use DeferAsync instead")] | [Obsolete("This method deprecated, please use DeferAsync instead")] | ||||
| public Task AcknowledgeAsync(RequestOptions options = null) => DeferAsync(options); | |||||
| public Task AcknowledgeAsync(RequestOptions options = null) => DeferAsync(options: options); | |||||
| /// <summary> | /// <summary> | ||||
| /// Acknowledges this interaction. | /// Acknowledges this interaction. | ||||
| /// </summary> | /// </summary> | ||||
| /// <param name="ephemeral"><see langword="true"/> to send this message ephemerally, otherwise <see langword="false"/>.</param> | |||||
| /// <param name="options">The request options for this async request.</param> | |||||
| /// <returns> | /// <returns> | ||||
| /// A task that represents the asynchronous operation of acknowledging the interaction. | /// A task that represents the asynchronous operation of acknowledging the interaction. | ||||
| /// </returns> | /// </returns> | ||||
| public abstract Task DeferAsync(RequestOptions options = null); | |||||
| public abstract Task DeferAsync(bool ephemeral = false, RequestOptions options = null); | |||||
| private bool CheckToken() | private bool CheckToken() | ||||
| { | { | ||||