Browse Source

Added a shorthand CommandService.Execute method

tags/1.0-rc
RogueException 9 years ago
parent
commit
0e710cc76a
1 changed files with 19 additions and 0 deletions
  1. +19
    -0
      src/Discord.Net.Commands/CommandService.cs

+ 19
- 0
src/Discord.Net.Commands/CommandService.cs View File

@@ -265,5 +265,24 @@ namespace Discord.Commands
else
return SearchResult.FromError(CommandError.UnknownCommand, "Unknown command.");
}

public async Task<IResult> Execute(IMessage message, string input)
{
var searchResult = Search(input);
if (!searchResult.IsSuccess)
return searchResult;

var commands = searchResult.Commands;
for (int i = 0; i < commands.Count; i++)
{
var parseResult = await commands[i].Parse(message, searchResult);
if (!parseResult.IsSuccess)
continue;
var executeResult = await commands[i].Execute(message, parseResult);
return executeResult;
}
return ParseResult.FromError(CommandError.ParseFailed, "This input does not match any overload.");
}
}
}

Loading…
Cancel
Save