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();