From db785134983bbed14a8d54d01b210d3c0b433d1f Mon Sep 17 00:00:00 2001 From: Yuzu Date: Sun, 19 Sep 2021 09:17:30 -0700 Subject: [PATCH] Added permission check for setPrefix --- src/discord/Settings.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/discord/Settings.ts b/src/discord/Settings.ts index efec019..791ab39 100644 --- a/src/discord/Settings.ts +++ b/src/discord/Settings.ts @@ -1,4 +1,4 @@ -import { Message, Interaction, CommandInteraction } from "discord.js"; +import { Message, Interaction, CommandInteraction, Permissions } from "discord.js"; import { makeInfoEmbed, makeErrorEmbed, makeSuccessEmbed, makeProcessingEmbed, sendMessageOrInteractionResponse, sendReply } from "../utils/DiscordMessage"; import DiscordProvider from "../providers/Discord"; import {registerAllGuildsCommands, unregisterAllGuildsCommands} from "../utils/DiscordInteraction"; @@ -91,6 +91,18 @@ export default class Settings { const funct = { setPrefix: async(data: Message | Interaction) => { + if(data === null || !data.guildId || data.member === null || data.guild === null) return; + + if(data instanceof Message) { + if (!data.member.permissions.has([Permissions.FLAGS.ADMINISTRATOR])) + return await sendMessageOrInteractionResponse(data, { embeds: [EMBEDS.NO_PERMISSION(data)] }); + } + else if(isSlashCommand) { + if(!data.guild.members.cache.get(data.user.id)?.permissions.has([Permissions.FLAGS.ADMINISTRATOR])) + return await sendMessageOrInteractionResponse(data, { embeds: [EMBEDS.NO_PERMISSION(data)] }); + } + + let newPrefix: string | undefined; if(data instanceof Message) { let _name: string;