diff --git a/src/Discord.Net.Commands/CommandService.cs b/src/Discord.Net.Commands/CommandService.cs index 1d4b0e15a..e5da78fef 100644 --- a/src/Discord.Net.Commands/CommandService.cs +++ b/src/Discord.Net.Commands/CommandService.cs @@ -483,25 +483,27 @@ namespace Discord.Commands /// The context of the command. /// The position of which the command starts at. /// The service to be used in the command's dependency injection. + /// Whether the client should enter typing state. /// The handling mode when multiple command matches are found. /// /// A task that represents the asynchronous execution operation. The task result contains the result of the /// command execution. /// - public Task ExecuteAsync(ICommandContext context, int argPos, IServiceProvider services, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Exception) - => ExecuteAsync(context, context.Message.Content.Substring(argPos), services, multiMatchHandling); + public Task ExecuteAsync(ICommandContext context, int argPos, IServiceProvider services, bool enterTyping = false, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Exception) + => ExecuteAsync(context, context.Message.Content.Substring(argPos), services, enterTyping, multiMatchHandling); /// /// Executes the command. /// /// The context of the command. /// The command string. /// The service to be used in the command's dependency injection. + /// Whether the client should enter typing state. /// The handling mode when multiple command matches are found. /// /// A task that represents the asynchronous execution operation. The task result contains the result of the /// command execution. /// - public async Task ExecuteAsync(ICommandContext context, string input, IServiceProvider services, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Exception) + public async Task ExecuteAsync(ICommandContext context, string input, IServiceProvider services, bool enterTyping = false, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Exception) { services = services ?? EmptyServiceProvider.Instance; @@ -511,7 +513,11 @@ namespace Discord.Commands await _commandExecutedEvent.InvokeAsync(Optional.Create(), context, searchResult).ConfigureAwait(false); return searchResult; } - + + if (enterTyping) + { + using var typing = context.Channel.EnterTypingState(); + } var commands = searchResult.Commands; var preconditionResults = new Dictionary();