From 0e710cc76aec7ee053f1ca8f2b9ccc85e604a8b6 Mon Sep 17 00:00:00 2001 From: RogueException Date: Sun, 26 Jun 2016 21:40:05 -0300 Subject: [PATCH] Added a shorthand CommandService.Execute method --- src/Discord.Net.Commands/CommandService.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/Discord.Net.Commands/CommandService.cs b/src/Discord.Net.Commands/CommandService.cs index ec96479bb..a2f5c7004 100644 --- a/src/Discord.Net.Commands/CommandService.cs +++ b/src/Discord.Net.Commands/CommandService.cs @@ -265,5 +265,24 @@ namespace Discord.Commands else return SearchResult.FromError(CommandError.UnknownCommand, "Unknown command."); } + + public async Task 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."); + } } }