From e5963126f1305cc56604ffd038415028d7ab0cd3 Mon Sep 17 00:00:00 2001 From: quin lynch Date: Sun, 21 Nov 2021 03:11:19 -0400 Subject: [PATCH] Fix #289 and add configureawaits to rest based interactions --- .../Entities/Interactions/CommandBase/RestCommandBase.cs | 2 +- .../Interactions/CommandBase/RestCommandBaseData.cs | 2 +- .../MessageCommands/RestMessageCommand.cs | 2 +- .../Interactions/MessageComponents/RestMessageComponent.cs | 4 ++-- .../Entities/Interactions/SlashCommands/RestSlashCommand.cs | 6 ++++-- .../Interactions/SlashCommands/RestSlashCommandData.cs | 4 ++-- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Discord.Net.Rest/Entities/Interactions/CommandBase/RestCommandBase.cs b/src/Discord.Net.Rest/Entities/Interactions/CommandBase/RestCommandBase.cs index 165f80978..845cd861b 100644 --- a/src/Discord.Net.Rest/Entities/Interactions/CommandBase/RestCommandBase.cs +++ b/src/Discord.Net.Rest/Entities/Interactions/CommandBase/RestCommandBase.cs @@ -51,7 +51,7 @@ namespace Discord.Rest internal override async Task UpdateAsync(DiscordRestClient client, Model model) { - await base.UpdateAsync(client, model); + await base.UpdateAsync(client, model).ConfigureAwait(false); var data = model.Data.IsSpecified ? (DataModel)model.Data.Value diff --git a/src/Discord.Net.Rest/Entities/Interactions/CommandBase/RestCommandBaseData.cs b/src/Discord.Net.Rest/Entities/Interactions/CommandBase/RestCommandBaseData.cs index 586b47c56..2310cb4b0 100644 --- a/src/Discord.Net.Rest/Entities/Interactions/CommandBase/RestCommandBaseData.cs +++ b/src/Discord.Net.Rest/Entities/Interactions/CommandBase/RestCommandBaseData.cs @@ -30,7 +30,7 @@ namespace Discord.Rest internal static async Task CreateAsync(DiscordRestClient client, Model model, IGuild guild, IRestMessageChannel channel) { var entity = new RestCommandBaseData(client, model); - await entity.UpdateAsync(client, model, guild, channel); + await entity.UpdateAsync(client, model, guild, channel).ConfigureAwait(false); return entity; } diff --git a/src/Discord.Net.Rest/Entities/Interactions/ContextMenuCommands/MessageCommands/RestMessageCommand.cs b/src/Discord.Net.Rest/Entities/Interactions/ContextMenuCommands/MessageCommands/RestMessageCommand.cs index c587ac881..53055cac3 100644 --- a/src/Discord.Net.Rest/Entities/Interactions/ContextMenuCommands/MessageCommands/RestMessageCommand.cs +++ b/src/Discord.Net.Rest/Entities/Interactions/ContextMenuCommands/MessageCommands/RestMessageCommand.cs @@ -29,7 +29,7 @@ namespace Discord.Rest internal override async Task UpdateAsync(DiscordRestClient client, Model model) { - await base.UpdateAsync(client, model); + await base.UpdateAsync(client, model).ConfigureAwait(false); var dataModel = model.Data.IsSpecified ? (DataModel)model.Data.Value diff --git a/src/Discord.Net.Rest/Entities/Interactions/MessageComponents/RestMessageComponent.cs b/src/Discord.Net.Rest/Entities/Interactions/MessageComponents/RestMessageComponent.cs index da843468b..eb47e15aa 100644 --- a/src/Discord.Net.Rest/Entities/Interactions/MessageComponents/RestMessageComponent.cs +++ b/src/Discord.Net.Rest/Entities/Interactions/MessageComponents/RestMessageComponent.cs @@ -41,12 +41,12 @@ namespace Discord.Rest internal new static async Task CreateAsync(DiscordRestClient client, Model model) { var entity = new RestMessageComponent(client, model); - await entity.UpdateAsync(client, model); + await entity.UpdateAsync(client, model).ConfigureAwait(false); return entity; } internal override async Task UpdateAsync(DiscordRestClient discord, Model model) { - await base.UpdateAsync(discord, model); + await base.UpdateAsync(discord, model).ConfigureAwait(false); if (model.Message.IsSpecified && model.ChannelId.IsSpecified) { diff --git a/src/Discord.Net.Rest/Entities/Interactions/SlashCommands/RestSlashCommand.cs b/src/Discord.Net.Rest/Entities/Interactions/SlashCommands/RestSlashCommand.cs index 4e4989d29..785e39a12 100644 --- a/src/Discord.Net.Rest/Entities/Interactions/SlashCommands/RestSlashCommand.cs +++ b/src/Discord.Net.Rest/Entities/Interactions/SlashCommands/RestSlashCommand.cs @@ -26,17 +26,19 @@ namespace Discord.Rest internal new static async Task CreateAsync(DiscordRestClient client, Model model) { var entity = new RestSlashCommand(client, model); - await entity.UpdateAsync(client, model); + await entity.UpdateAsync(client, model).ConfigureAwait(false); return entity; } internal override async Task UpdateAsync(DiscordRestClient client, Model model) { + await base.UpdateAsync(client, model).ConfigureAwait(false); + var dataModel = model.Data.IsSpecified ? (DataModel)model.Data.Value : null; - Data = await RestSlashCommandData.CreateAsync(client, dataModel, Guild, Channel); + Data = await RestSlashCommandData.CreateAsync(client, dataModel, Guild, Channel).ConfigureAwait(false); } //ISlashCommandInteraction diff --git a/src/Discord.Net.Rest/Entities/Interactions/SlashCommands/RestSlashCommandData.cs b/src/Discord.Net.Rest/Entities/Interactions/SlashCommands/RestSlashCommandData.cs index 70661a249..667aabd8f 100644 --- a/src/Discord.Net.Rest/Entities/Interactions/SlashCommands/RestSlashCommandData.cs +++ b/src/Discord.Net.Rest/Entities/Interactions/SlashCommands/RestSlashCommandData.cs @@ -17,12 +17,12 @@ namespace Discord.Rest internal static new async Task CreateAsync(DiscordRestClient client, Model model, IGuild guild, IRestMessageChannel channel) { var entity = new RestSlashCommandData(client, model); - await entity.UpdateAsync(client, model, guild, channel); + await entity.UpdateAsync(client, model, guild, channel).ConfigureAwait(false); return entity; } internal override async Task UpdateAsync(DiscordRestClient client, Model model, IGuild guild, IRestMessageChannel channel) { - await base.UpdateAsync(client, model, guild, channel); + await base.UpdateAsync(client, model, guild, channel).ConfigureAwait(false); Options = model.Options.IsSpecified ? model.Options.Value.Select(x => new RestSlashCommandDataOption(this, x)).ToImmutableArray()