From bf4d17bd424471c73a5088e289c3e656634bea6d Mon Sep 17 00:00:00 2001 From: Isaac Date: Tue, 4 Oct 2022 21:23:01 +0100 Subject: [PATCH] bug fixes --- src/http.js | 3 ++- src/lib/users.js | 4 +++- src/routes/api/admin/guilds/[guild]/problems.js | 6 ++++-- src/routes/api/admin/guilds/index.js | 4 +++- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/http.js b/src/http.js index 422b2cc..ab41ac6 100644 --- a/src/http.js +++ b/src/http.js @@ -4,6 +4,7 @@ const { domain } = require('./lib/http'); const { short } = require('leeks.js'); const { join } = require('path'); const { files } = require('node-dir'); +const { PermissionsBitField } = require('discord.js'); process.env.PUBLIC_HOST = process.env.HTTP_EXTERNAL; // the SvelteKit app expects `PUBLIC_HOST` @@ -87,7 +88,7 @@ module.exports = async client => { }); } const guildMember = await guild.members.fetch(userId); - const isAdmin = guildMember?.permissions.has('MANAGE_GUILD') || client.supers.includes(userId); + const isAdmin = guildMember?.permissions.has(PermissionsBitField.Flags.ManageGuild) || client.supers.includes(userId); if (!isAdmin) { return res.code(403).send({ error: 'Forbidden', diff --git a/src/lib/users.js b/src/lib/users.js index f116db3..23a959d 100644 --- a/src/lib/users.js +++ b/src/lib/users.js @@ -1,3 +1,5 @@ +const { PermissionsBitField } = require('discord.js'); + /** * * @param {import("client")} client @@ -20,7 +22,7 @@ module.exports.isStaff = async (guild, userId) => { const client = guild.client; if (guild.client.supers.includes(userId)) return true; const guildMember = await guild.members.fetch(userId); - if (guildMember?.permissions.has('MANAGE_GUILD')) return true; + if (guildMember?.permissions.has(PermissionsBitField.Flags.ManageGuild)) return true; const { categories } = await client.prisma.guild.findUnique({ select: { categories: true }, where: { id: guild.id }, diff --git a/src/routes/api/admin/guilds/[guild]/problems.js b/src/routes/api/admin/guilds/[guild]/problems.js index d4c5b2b..130d6de 100644 --- a/src/routes/api/admin/guilds/[guild]/problems.js +++ b/src/routes/api/admin/guilds/[guild]/problems.js @@ -1,3 +1,5 @@ +const { PermissionsBitField } = require('discord.js'); + module.exports.get = fastify => ({ handler: async (req, res) => { /** @type {import('client')} */ @@ -11,14 +13,14 @@ module.exports.get = fastify => ({ if (settings.logChannel) { const permissions = guild.members.me.permissionsIn(settings.logChannel); - if (!permissions.has('SendMessages')) { + if (!permissions.has(PermissionsBitField.Flags.SendMessages)) { problems.push({ id: 'logChannelMissingPermission', permission: 'SendMessages', }); } - if (!permissions.has('EmbedLinks')) { + if (!permissions.has(PermissionsBitField.Flags.EmbedLinks)) { problems.push({ id: 'logChannelMissingPermission', permission: 'EmbedLinks', diff --git a/src/routes/api/admin/guilds/index.js b/src/routes/api/admin/guilds/index.js index 11ecb7e..add69fc 100644 --- a/src/routes/api/admin/guilds/index.js +++ b/src/routes/api/admin/guilds/index.js @@ -1,3 +1,5 @@ +const { PermissionsBitField } = require('discord.js'); + module.exports.get = fastify => ({ handler: async (req, res) => { const { client } = res.context.config; @@ -5,7 +7,7 @@ module.exports.get = fastify => ({ .filter(async guild => { const member = await guild.members.fetch(req.user.payload.id); if (!member) return false; - return member.permissions.has('MANAGE_GUILD'); + return member.permissions.has(PermissionsBitField.Flags.ManageGuild); }) .map(guild => ({ id: guild.id,