From 788eb98a50c0ad209f69d04370900d3aa0c7c626 Mon Sep 17 00:00:00 2001 From: iamshoXy Date: Thu, 18 Jan 2024 23:50:27 +0100 Subject: [PATCH] Global unban for main server --- backend/src/plugins/ModActions/ModActionsPlugin.ts | 1 + backend/src/plugins/ModActions/commands/UnbanCmd.ts | 11 ++++++++++- backend/src/plugins/ModActions/types.ts | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/backend/src/plugins/ModActions/ModActionsPlugin.ts b/backend/src/plugins/ModActions/ModActionsPlugin.ts index 638c82fd..28f0f679 100644 --- a/backend/src/plugins/ModActions/ModActionsPlugin.ts +++ b/backend/src/plugins/ModActions/ModActionsPlugin.ts @@ -56,6 +56,7 @@ import { BanOptions, ConfigSchema, KickOptions, ModActionsPluginType, WarnOption const defaultOptions = { config: { + main_guild: null, dm_on_warn: true, dm_on_kick: false, dm_on_ban: false, diff --git a/backend/src/plugins/ModActions/commands/UnbanCmd.ts b/backend/src/plugins/ModActions/commands/UnbanCmd.ts index 53363ee0..35c5e1e3 100644 --- a/backend/src/plugins/ModActions/commands/UnbanCmd.ts +++ b/backend/src/plugins/ModActions/commands/UnbanCmd.ts @@ -47,12 +47,21 @@ export const UnbanCmd = modActionsCmd({ mod = args.mod; } + const config = pluginData.config.get(); + const guild = pluginData.client.guilds.cache.get(config.main_guild as Snowflake); + if (!guild) { + return { + status: "failed", + error: "Guild not found!", + }; + } + pluginData.state.serverLogs.ignoreLog(LogType.MEMBER_UNBAN, user.id); const reason = formatReasonWithAttachments(args.reason, [...msg.attachments.values()]); try { ignoreEvent(pluginData, IgnoredEventType.Unban, user.id); - await pluginData.guild.bans.remove(user.id as Snowflake, reason ?? undefined); + await guild.bans.remove(user.id as Snowflake, reason ?? undefined); } catch { sendErrorMessage(pluginData, msg.channel, "Failed to unban member; are you sure they're banned?"); return; diff --git a/backend/src/plugins/ModActions/types.ts b/backend/src/plugins/ModActions/types.ts index ace09784..860a8308 100644 --- a/backend/src/plugins/ModActions/types.ts +++ b/backend/src/plugins/ModActions/types.ts @@ -12,6 +12,7 @@ import { UserNotificationMethod, UserNotificationResult, tNullable } from "../.. import { CaseArgs } from "../Cases/types"; export const ConfigSchema = t.type({ + main_guild: tNullable(t.string), dm_on_warn: t.boolean, dm_on_kick: t.boolean, dm_on_ban: t.boolean,