Class CommandDispatcher
- Namespace
- Uncreated.Warfare.Interaction.Commands
- Assembly
- Uncreated.Warfare.dll
public class CommandDispatcher : IDisposable, IHostedService, IEventListener<PlayerLeft>
- Inheritance
-
CommandDispatcher
- Implements
- Inherited Members
Constructors
CommandDispatcher(IServiceProvider)
public CommandDispatcher(IServiceProvider serviceProvider)
Parameters
serviceProviderIServiceProvider
Properties
Commands
public IReadOnlyList<CommandInfo> Commands { get; }
Property Value
Parser
public CommandParser Parser { get; }
Property Value
Methods
AssertPermissions(CommandInfo, CommandContext, CancellationToken)
Throw a CommandContext if a command doesn't have permission to be ran by ctx.
public static UniTask AssertPermissions(CommandInfo command, CommandContext ctx, CancellationToken token = default)
Parameters
commandCommandInfoctxCommandContexttokenCancellationToken
Returns
- UniTask
ExecuteCommandAsync(CommandInfo, ICommandUser, string[], CommandFlagInfo[], string, List<CommandWaitTask>?, CancellationToken)
Execute a parsed command.
public UniTask ExecuteCommandAsync(CommandInfo command, ICommandUser user, string[] args, CommandFlagInfo[] flags, string originalMessage, List<CommandWaitTask>? waitTasks, CancellationToken token = default)
Parameters
commandCommandInfouserICommandUserargsstring[]flagsCommandFlagInfo[]originalMessagestringwaitTasksList<CommandWaitTask>tokenCancellationToken
Returns
- UniTask
FindCommand(string)
Find information about a command by name.
public CommandInfo? FindCommand(string search)
Parameters
searchstring
Returns
FindCommand(Type)
Find information about a command by name.
public CommandInfo? FindCommand(Type commandType)
Parameters
commandTypeType
Returns
WaitForCommand(Type, TimeSpan, CommandWaitOptions, CancellationToken)
Wait for a commandType command to be executed by any user.
public CommandWaitTask WaitForCommand(Type commandType, TimeSpan timeout = default, CommandWaitOptions options = CommandWaitOptions.Default, CancellationToken token = default)
Parameters
commandTypeTypetimeoutTimeSpanoptionsCommandWaitOptionstokenCancellationToken
Returns
WaitForCommand(Type, ICommandUser, TimeSpan, CommandWaitOptions, CancellationToken)
Wait for a commandType command to be executed by user.
public CommandWaitTask WaitForCommand(Type commandType, ICommandUser user, TimeSpan timeout = default, CommandWaitOptions options = CommandWaitOptions.Default, CancellationToken token = default)
Parameters
commandTypeTypeuserICommandUsertimeoutTimeSpanoptionsCommandWaitOptionstokenCancellationToken
Returns
WaitForCommand(CommandInfo, TimeSpan, CommandWaitOptions, CancellationToken)
Wait for a commandType command to be executed by any user.
public CommandWaitTask WaitForCommand(CommandInfo commandType, TimeSpan timeout = default, CommandWaitOptions options = CommandWaitOptions.Default, CancellationToken token = default)
Parameters
commandTypeCommandInfotimeoutTimeSpanoptionsCommandWaitOptionstokenCancellationToken
Returns
WaitForCommand(CommandInfo, ICommandUser, TimeSpan, CommandWaitOptions, CancellationToken)
Wait for a commandType command to be executed by user.
public CommandWaitTask WaitForCommand(CommandInfo commandType, ICommandUser user, TimeSpan timeout = default, CommandWaitOptions options = CommandWaitOptions.Default, CancellationToken token = default)
Parameters
commandTypeCommandInfouserICommandUsertimeoutTimeSpanoptionsCommandWaitOptionstokenCancellationToken