private async Task RunArgumentsAsync(Message message, CommandInfo command, string content) { var parser = new CommandUsageParser(command, message, content); try { parser.Run(); await RunCommandAsync(message, command, parser); } catch (ArgumentException exception) { await Client.EventHandler.OnCommandArgumentExceptionAsync(message, command.Name, exception); } catch (Exception exception) { await Client.EventHandler.OnArgumentErrorAsync(message, command.Name, exception); } }
private async Task RunArgumentsAsync(Message message, CommandInfo command, string content) { var parser = new CommandUsageParser(command, message, content); try { parser.Run(); await RunCommandAsync(message, command, parser); } catch (ArgumentException exception) { await message.SendAsync(Client, $"Argument Error: {exception.InnerException?.Message ?? exception.Message}"); } catch (Exception exception) { Console.Error.WriteLine($"[COMMANDS]: {exception.Message}\n{exception.StackTrace}"); await message.SendAsync(Client, "Whoops! Something while processing arguments!"); } }