diff --git a/src/Discord.Net.Interactions/Info/Commands/AutocompleteCommandInfo.cs b/src/Discord.Net.Interactions/Info/Commands/AutocompleteCommandInfo.cs index 394e255a2..b8940f42f 100644 --- a/src/Discord.Net.Interactions/Info/Commands/AutocompleteCommandInfo.cs +++ b/src/Discord.Net.Interactions/Info/Commands/AutocompleteCommandInfo.cs @@ -44,8 +44,8 @@ namespace Discord.Interactions return await base.ExecuteAsync(context, services).ConfigureAwait(false); } - protected override async ValueTask ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) - => ParseResult.FromSuccess(Array.Empty()); + protected override Task ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) + => Task.FromResult(ParseResult.FromSuccess(Array.Empty()) as IResult); /// protected override Task InvokeModuleEvent(IInteractionContext context, IResult result) => diff --git a/src/Discord.Net.Interactions/Info/Commands/CommandInfo.cs b/src/Discord.Net.Interactions/Info/Commands/CommandInfo.cs index d4bcd637e..961a819f7 100644 --- a/src/Discord.Net.Interactions/Info/Commands/CommandInfo.cs +++ b/src/Discord.Net.Interactions/Info/Commands/CommandInfo.cs @@ -104,7 +104,7 @@ namespace Discord.Interactions return ExecuteResult.FromSuccess(); } - protected abstract ValueTask ParseArgumentsAsync(IInteractionContext context, IServiceProvider services); + protected abstract Task ParseArgumentsAsync(IInteractionContext context, IServiceProvider services); private async Task ExecuteInternalAsync(IInteractionContext context, IServiceProvider services) { @@ -224,7 +224,7 @@ namespace Discord.Interactions return !commandResult.IsSuccess ? commandResult : PreconditionResult.FromSuccess(); } - protected async ValueTask InvokeEventAndReturn(IInteractionContext context, T result) where T : IResult + protected async Task InvokeEventAndReturn(IInteractionContext context, T result) where T : IResult { await InvokeModuleEvent(context, result).ConfigureAwait(false); return result; diff --git a/src/Discord.Net.Interactions/Info/Commands/ComponentCommandInfo.cs b/src/Discord.Net.Interactions/Info/Commands/ComponentCommandInfo.cs index 585b0709e..5877eaea9 100644 --- a/src/Discord.Net.Interactions/Info/Commands/ComponentCommandInfo.cs +++ b/src/Discord.Net.Interactions/Info/Commands/ComponentCommandInfo.cs @@ -32,7 +32,7 @@ namespace Discord.Interactions return await base.ExecuteAsync(context, services).ConfigureAwait(false); } - protected override async ValueTask ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) + protected override async Task ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) { var captures = (context as IRouteMatchContainer)?.SegmentMatches?.ToList(); var captureCount = captures?.Count() ?? 0; diff --git a/src/Discord.Net.Interactions/Info/Commands/ContextCommands/MessageCommandInfo.cs b/src/Discord.Net.Interactions/Info/Commands/ContextCommands/MessageCommandInfo.cs index 9817d607c..09dd56340 100644 --- a/src/Discord.Net.Interactions/Info/Commands/ContextCommands/MessageCommandInfo.cs +++ b/src/Discord.Net.Interactions/Info/Commands/ContextCommands/MessageCommandInfo.cs @@ -20,17 +20,17 @@ namespace Discord.Interactions return await ExecuteAsync(context, services).ConfigureAwait(false); } - protected override async ValueTask ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) + protected override Task ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) { try { object[] args = new object[1] { (context.Interaction as IMessageCommandInteraction).Data.Message }; - return ParseResult.FromSuccess(args); + return Task.FromResult(ParseResult.FromSuccess(args) as IResult); } catch (Exception ex) { - return ParseResult.FromError(ex); + return Task.FromResult(ParseResult.FromError(ex) as IResult); } } diff --git a/src/Discord.Net.Interactions/Info/Commands/ContextCommands/UserCommandInfo.cs b/src/Discord.Net.Interactions/Info/Commands/ContextCommands/UserCommandInfo.cs index 111982f7e..22acf9056 100644 --- a/src/Discord.Net.Interactions/Info/Commands/ContextCommands/UserCommandInfo.cs +++ b/src/Discord.Net.Interactions/Info/Commands/ContextCommands/UserCommandInfo.cs @@ -20,17 +20,17 @@ namespace Discord.Interactions return await ExecuteAsync(context, services).ConfigureAwait(false); } - protected override async ValueTask ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) + protected override Task ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) { try { object[] args = new object[1] { (context.Interaction as IUserCommandInteraction).Data.User }; - return ParseResult.FromSuccess(args); + return Task.FromResult(ParseResult.FromSuccess(args) as IResult); } catch (Exception ex) { - return ParseResult.FromError(ex); + return Task.FromResult(ParseResult.FromError(ex) as IResult); } } diff --git a/src/Discord.Net.Interactions/Info/Commands/ModalCommandInfo.cs b/src/Discord.Net.Interactions/Info/Commands/ModalCommandInfo.cs index 089b6384e..849b4de2e 100644 --- a/src/Discord.Net.Interactions/Info/Commands/ModalCommandInfo.cs +++ b/src/Discord.Net.Interactions/Info/Commands/ModalCommandInfo.cs @@ -28,7 +28,7 @@ namespace Discord.Interactions } /// - public async Task ExecuteAsync(IInteractionContext context, IServiceProvider services) + public override async Task ExecuteAsync(IInteractionContext context, IServiceProvider services) { if (context.Interaction is not IModalInteraction modalInteraction) return ExecuteResult.FromError(InteractionCommandError.ParseFailed, $"Provided {nameof(IInteractionContext)} doesn't belong to a Modal Interaction."); @@ -36,7 +36,7 @@ namespace Discord.Interactions return await base.ExecuteAsync(context, services).ConfigureAwait(false); } - protected override async ValueTask ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) + protected override async Task ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) { var captures = (context as IRouteMatchContainer)?.SegmentMatches?.ToList(); var captureCount = captures?.Count() ?? 0; diff --git a/src/Discord.Net.Interactions/Info/Commands/SlashCommandInfo.cs b/src/Discord.Net.Interactions/Info/Commands/SlashCommandInfo.cs index 0bfa33080..634fd9643 100644 --- a/src/Discord.Net.Interactions/Info/Commands/SlashCommandInfo.cs +++ b/src/Discord.Net.Interactions/Info/Commands/SlashCommandInfo.cs @@ -68,7 +68,7 @@ namespace Discord.Interactions return await base.ExecuteAsync(context, services); } - protected override async ValueTask ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) + protected override async Task ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) { List GetOptions() {