private static async Task LogUnmute(IModeratorEventArgs mArgs) { if (!mArgs.Server.IsPremium) { return; } var logger = new ModeratorEventLogger(mArgs, InternalModerationAction.UNMUTE, "🔔", GetFormattedTimestamp(), mArgs.Server.LogUnmutes); await logger.LogModerationAction(); }
private static async Task LogUnshadowban(IModeratorEventArgs mArgs) { if (!mArgs.Server.IsPremium) { return; } var logger = new ModeratorEventLogger(mArgs, InternalModerationAction.UNSHADOWBAN, "👻 ✅", GetFormattedTimestamp(), mArgs.Server.LogUnshadowbans); await logger.LogModerationAction(); }
public static void TriggerUnmute(IModeratorEventArgs mArgs) => OnUnmute?.Invoke(mArgs);
public static void TriggerUnshadowban(IModeratorEventArgs mArgs) => OnUnshadowban?.Invoke(mArgs);
public static void TriggerUnwarn(IModeratorEventArgs wArgs) => OnUnwarn?.Invoke(wArgs);
public static void TriggerWarning(IModeratorEventArgs wArgs) => OnWarn?.Invoke(wArgs);
public static async Task OnWarn(IModeratorEventArgs warnArgs) { var currentSettings = await DatabaseQueries.GetFirstForServerAsync <WarnSetting>(warnArgs.Server.ServerId); if (currentSettings == null) { return; } List <WarnedUser> currentWarnings = await DatabaseQueries.GetAllForServerAndUserAsync <WarnedUser>(warnArgs.ActionedUser.Id, warnArgs.Server.ServerId); int warnCount = currentWarnings.Count; SocketGuildUser guildUser = ConfigProperties.Client.GetGuild(warnArgs.ActionedUser.Id).GetUser(warnArgs.ActionedUser.Id); int?muteNum = currentSettings.Mute; int?kickNum = currentSettings.Kick; int?shadowbanNum = currentSettings.Shadowban; int?banNum = currentSettings.Ban; if (warnCount == banNum) { var ban = new Ban(); try { await ban.AutoBanUserAsync(guildUser, "User has been automatically banned due to " + $"reaching the specified warning threshold for bans " + $"({warnCount} warnings)."); await ConsoleLogger.LogAsync($"User [{guildUser} | {guildUser.Id}] has been " + $"automatically banned in guild " + $"[{guildUser.Guild} | {guildUser.Guild.Id}]", LogLvl.DEBUG); } catch (Exception e) { await ConsoleLogger.LogAsync($"An attempt was made to auto-ban a user " + $"who hit the warn threshold for this event " + $"to take place. This failed due to an exception.\n" + $"Exception Message: {e.Message}\n" + $"Inner Exception Message: {e.InnerException?.Message}\n" + $"Guild: {warnArgs.Server.ServerId}", LogLvl.WARN); } return; } if (warnCount == shadowbanNum) { var shadowban = new Shadowban(); try { await shadowban.AutoShadowbanUserAsync(guildUser); await ConsoleLogger.LogAsync($"User [{guildUser} | {guildUser.Id}] has been " + $"automatically shadowbanned in guild " + $"[{guildUser.Guild} | {guildUser.Guild.Id}]", LogLvl.DEBUG); } catch (Exception e) { await ConsoleLogger.LogAsync($"An attempt was made to auto-shadowban a user " + $"who hit the warn threshold for this event " + $"to take place. This failed due to an exception.\n" + $"Exception Message: {e.Message}\n" + $"Inner Exception Message: {e.InnerException?.Message}\n" + $"Guild: {warnArgs.Server.ServerId}", LogLvl.WARN); } return; } if (warnCount == kickNum) { var kick = new Kick(); try { await kick.AutoKickUserAsync(guildUser, $"User has been automatically kicked due to " + $"reaching the specified warning threshold for kicks " + $"({warnCount} warnings)."); await ConsoleLogger.LogAsync($"User [{guildUser} | {guildUser.Id}] has been " + $"automatically kicked in guild " + $"[{guildUser.Guild} | {guildUser.Guild.Id}]", LogLvl.DEBUG); } catch (Exception e) { await ConsoleLogger.LogAsync($"An attempt was made to auto-kick a user " + $"who hit the warn threshold for this event " + $"to take place. This failed due to an exception.\n" + $"Exception Message: {e.Message}\n" + $"Inner Exception Message: {e.InnerException?.Message}\n" + $"Guild: {warnArgs.Server.ServerId}", LogLvl.WARN); } return; } if (warnCount == muteNum) { var mute = new Mute(); try { await mute.AutoMute(guildUser); await ConsoleLogger.LogAsync($"User [{guildUser} | {guildUser.Id}] has been " + $"automatically muted in guild " + $"[{guildUser.Guild} | {guildUser.Guild.Id}]", LogLvl.DEBUG); } catch (Exception e) { await ConsoleLogger.LogAsync($"An attempt was made to auto-mute a user " + $"who hit the warn threshold for this event " + $"to take place. This failed due to an exception.\n" + $"Exception Message: {e.Message}\n" + $"Inner Exception Message: {e.InnerException?.Message}\n" + $"Guild: {warnArgs.Server.ServerId}", LogLvl.WARN); } } }