@@ -44,8 +44,8 @@ namespace Discord.Interactions | |||||
return await base.ExecuteAsync(context, services).ConfigureAwait(false); | return await base.ExecuteAsync(context, services).ConfigureAwait(false); | ||||
} | } | ||||
protected override async ValueTask<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
=> ParseResult.FromSuccess(Array.Empty<object>()); | |||||
protected override Task<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
=> Task.FromResult(ParseResult.FromSuccess(Array.Empty<object>()) as IResult); | |||||
/// <inheritdoc/> | /// <inheritdoc/> | ||||
protected override Task InvokeModuleEvent(IInteractionContext context, IResult result) => | protected override Task InvokeModuleEvent(IInteractionContext context, IResult result) => | ||||
@@ -104,7 +104,7 @@ namespace Discord.Interactions | |||||
return ExecuteResult.FromSuccess(); | return ExecuteResult.FromSuccess(); | ||||
} | } | ||||
protected abstract ValueTask<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services); | |||||
protected abstract Task<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services); | |||||
private async Task<IResult> ExecuteInternalAsync(IInteractionContext context, IServiceProvider services) | private async Task<IResult> ExecuteInternalAsync(IInteractionContext context, IServiceProvider services) | ||||
{ | { | ||||
@@ -224,7 +224,7 @@ namespace Discord.Interactions | |||||
return !commandResult.IsSuccess ? commandResult : PreconditionResult.FromSuccess(); | return !commandResult.IsSuccess ? commandResult : PreconditionResult.FromSuccess(); | ||||
} | } | ||||
protected async ValueTask<T> InvokeEventAndReturn<T>(IInteractionContext context, T result) where T : IResult | |||||
protected async Task<T> InvokeEventAndReturn<T>(IInteractionContext context, T result) where T : IResult | |||||
{ | { | ||||
await InvokeModuleEvent(context, result).ConfigureAwait(false); | await InvokeModuleEvent(context, result).ConfigureAwait(false); | ||||
return result; | return result; | ||||
@@ -32,7 +32,7 @@ namespace Discord.Interactions | |||||
return await base.ExecuteAsync(context, services).ConfigureAwait(false); | return await base.ExecuteAsync(context, services).ConfigureAwait(false); | ||||
} | } | ||||
protected override async ValueTask<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
protected override async Task<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
{ | { | ||||
var captures = (context as IRouteMatchContainer)?.SegmentMatches?.ToList(); | var captures = (context as IRouteMatchContainer)?.SegmentMatches?.ToList(); | ||||
var captureCount = captures?.Count() ?? 0; | var captureCount = captures?.Count() ?? 0; | ||||
@@ -20,17 +20,17 @@ namespace Discord.Interactions | |||||
return await ExecuteAsync(context, services).ConfigureAwait(false); | return await ExecuteAsync(context, services).ConfigureAwait(false); | ||||
} | } | ||||
protected override async ValueTask<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
protected override Task<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
object[] args = new object[1] { (context.Interaction as IMessageCommandInteraction).Data.Message }; | 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) | catch (Exception ex) | ||||
{ | { | ||||
return ParseResult.FromError(ex); | |||||
return Task.FromResult(ParseResult.FromError(ex) as IResult); | |||||
} | } | ||||
} | } | ||||
@@ -20,17 +20,17 @@ namespace Discord.Interactions | |||||
return await ExecuteAsync(context, services).ConfigureAwait(false); | return await ExecuteAsync(context, services).ConfigureAwait(false); | ||||
} | } | ||||
protected override async ValueTask<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
protected override Task<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
object[] args = new object[1] { (context.Interaction as IUserCommandInteraction).Data.User }; | 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) | catch (Exception ex) | ||||
{ | { | ||||
return ParseResult.FromError(ex); | |||||
return Task.FromResult(ParseResult.FromError(ex) as IResult); | |||||
} | } | ||||
} | } | ||||
@@ -28,7 +28,7 @@ namespace Discord.Interactions | |||||
} | } | ||||
/// <inheritdoc/> | /// <inheritdoc/> | ||||
public async Task<IResult> ExecuteAsync(IInteractionContext context, IServiceProvider services) | |||||
public override async Task<IResult> ExecuteAsync(IInteractionContext context, IServiceProvider services) | |||||
{ | { | ||||
if (context.Interaction is not IModalInteraction modalInteraction) | if (context.Interaction is not IModalInteraction modalInteraction) | ||||
return ExecuteResult.FromError(InteractionCommandError.ParseFailed, $"Provided {nameof(IInteractionContext)} doesn't belong to a Modal Interaction."); | 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); | return await base.ExecuteAsync(context, services).ConfigureAwait(false); | ||||
} | } | ||||
protected override async ValueTask<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
protected override async Task<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
{ | { | ||||
var captures = (context as IRouteMatchContainer)?.SegmentMatches?.ToList(); | var captures = (context as IRouteMatchContainer)?.SegmentMatches?.ToList(); | ||||
var captureCount = captures?.Count() ?? 0; | var captureCount = captures?.Count() ?? 0; | ||||
@@ -68,7 +68,7 @@ namespace Discord.Interactions | |||||
return await base.ExecuteAsync(context, services); | return await base.ExecuteAsync(context, services); | ||||
} | } | ||||
protected override async ValueTask<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
protected override async Task<IResult> ParseArgumentsAsync(IInteractionContext context, IServiceProvider services) | |||||
{ | { | ||||
List<IApplicationCommandInteractionDataOption> GetOptions() | List<IApplicationCommandInteractionDataOption> GetOptions() | ||||
{ | { | ||||