From 23abefb291ed5088fcb30882c48ce79d175b0796 Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Fri, 11 Feb 2022 12:18:58 -0500 Subject: [PATCH] fix(plugins/permissions): getting disabled welcome screens requires `MANAGE_GUILD` (#2034) * fix: require manage guild perm in welcome screen * fix: perm check only if screen disabled --- plugins/permissions/src/guilds/welcomeScreen.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/plugins/permissions/src/guilds/welcomeScreen.ts b/plugins/permissions/src/guilds/welcomeScreen.ts index f6515dd2d..7da106632 100644 --- a/plugins/permissions/src/guilds/welcomeScreen.ts +++ b/plugins/permissions/src/guilds/welcomeScreen.ts @@ -1,6 +1,19 @@ import { BotWithCache } from "../../deps.ts"; import { requireBotGuildPermissions } from "../permissions.ts"; +export function getWelcomeScreen(bot: BotWithCache) { + const getWelcomeScreenOld = bot.helpers.getWelcomeScreen; + + bot.helpers.getWelcomeScreen = function (guildId) { + const guild = bot.guilds.get(guildId); + if (!guild?.welcomeScreen) { + requireBotGuildPermissions(bot, guildId, ["MANAGE_GUILD"]); + } + + return getWelcomeScreenOld(guildId); + }; +} + export function editWelcomeScreen(bot: BotWithCache) { const editWelcomeScreenOld = bot.helpers.editWelcomeScreen; @@ -12,5 +25,6 @@ export function editWelcomeScreen(bot: BotWithCache) { } export default function setupWelcomeScreenPermChecks(bot: BotWithCache) { + getWelcomeScreen(bot); editWelcomeScreen(bot); }