From a898e69b580647d89346597ff082efc46ad31c16 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Sun, 12 Aug 2018 13:11:20 +0200 Subject: [PATCH] dm users when banned, show command exceptions better --- .../CommandHandler/CommandHandler.cs | 10 +++++++++- .../CommandHandler/Commands/ModeratorCommands.cs | 15 +++++++++++++++ .../RequestStructure/ParameterMatcher.cs | 2 -- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/DeukBot4/MessageHandlers/CommandHandler/CommandHandler.cs b/DeukBot4/MessageHandlers/CommandHandler/CommandHandler.cs index 70451fa..8ae5f6b 100644 --- a/DeukBot4/MessageHandlers/CommandHandler/CommandHandler.cs +++ b/DeukBot4/MessageHandlers/CommandHandler/CommandHandler.cs @@ -73,7 +73,15 @@ namespace DeukBot4.MessageHandlers.CommandHandler $"User is trying to use blocked command in PM: {message.Author.Username}"); return; } - await req.Item1.Command.Invoke(req.Item1); + + try + { + await req.Item1.Command.Invoke(req.Item1); + } + catch (Exception e) + { + await Logger.Log("An error occured: \n" + e); + } break; case CommandRequest.RequestCode.UnknownCommand: var permission = await PermissionValidator.GetUserPermissionLevel(message); diff --git a/DeukBot4/MessageHandlers/CommandHandler/Commands/ModeratorCommands.cs b/DeukBot4/MessageHandlers/CommandHandler/Commands/ModeratorCommands.cs index bc91c7a..d28effe 100644 --- a/DeukBot4/MessageHandlers/CommandHandler/Commands/ModeratorCommands.cs +++ b/DeukBot4/MessageHandlers/CommandHandler/Commands/ModeratorCommands.cs @@ -96,6 +96,21 @@ namespace DeukBot4.MessageHandlers.CommandHandler reason = request.Parameters[1].AsString(); } + string desc = "No reason was given."; + if (!string.IsNullOrWhiteSpace(reason)) + { + desc = "The given reason was: " + desc; + } + + var eb = new EmbedBuilder(); + eb.Color = Color.Gold; + eb.Title = "You were banned from " + channel.Guild.Name; + eb.Description = desc; + eb.Author = new EmbedAuthorBuilder(); + eb.Author.Name = request.OriginalMessage.Author.Username; + eb.Author.IconUrl = request.OriginalMessage.Author.GetAvatarUrl(); + eb.Timestamp = request.OriginalMessage.Timestamp; + user.SendMessageAsync("", embed: eb.Build()); // and ban await channel.Guild.AddBanAsync(user, 0, reason); await request.SendMessageAsync($"User was banned: {user.Username}"); diff --git a/DeukBot4/MessageHandlers/CommandHandler/RequestStructure/ParameterMatcher.cs b/DeukBot4/MessageHandlers/CommandHandler/RequestStructure/ParameterMatcher.cs index 84a4eb8..84e122b 100644 --- a/DeukBot4/MessageHandlers/CommandHandler/RequestStructure/ParameterMatcher.cs +++ b/DeukBot4/MessageHandlers/CommandHandler/RequestStructure/ParameterMatcher.cs @@ -1,8 +1,6 @@ using System; -using System.Linq; using System.Text; using System.Text.RegularExpressions; -using Discord.Net.Udp; namespace DeukBot4.MessageHandlers.CommandHandler.RequestStructure {