| @@ -265,5 +265,24 @@ namespace Discord.Commands | |||||
| else | else | ||||
| return SearchResult.FromError(CommandError.UnknownCommand, "Unknown command."); | 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."); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||