You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

CommandMatch.cs 1.3 kB

12345678910111213141516171819202122232425262728
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Threading.Tasks;
  4. using Microsoft.Extensions.DependencyInjection;
  5. namespace Discord.Commands
  6. {
  7. public struct CommandMatch
  8. {
  9. public CommandInfo Command { get; }
  10. public string Alias { get; }
  11. public CommandMatch(CommandInfo command, string alias)
  12. {
  13. Command = command;
  14. Alias = alias;
  15. }
  16. public Task<PreconditionResult> CheckPreconditionsAsync(ICommandContext context, IServiceProvider services = null)
  17. => Command.CheckPreconditionsAsync(context, services);
  18. public Task<ParseResult> ParseAsync(ICommandContext context, SearchResult searchResult, PreconditionResult? preconditionResult = null)
  19. => Command.ParseAsync(context, Alias.Length, searchResult, preconditionResult);
  20. public Task<ExecuteResult> ExecuteAsync(ICommandContext context, IEnumerable<object> argList, IEnumerable<object> paramList, IServiceProvider services)
  21. => Command.ExecuteAsync(context, argList, paramList, services);
  22. public Task<ExecuteResult> ExecuteAsync(ICommandContext context, ParseResult parseResult, IServiceProvider services)
  23. => Command.ExecuteAsync(context, parseResult, services);
  24. }
  25. }