From a250366b02a0edc85280e61bdf10f4d4a7336b4f Mon Sep 17 00:00:00 2001 From: Tiago R Date: Sun, 26 Nov 2023 17:09:43 +0000 Subject: [PATCH] almeida reviews Signed-off-by: GitHub --- backend/src/plugins/Mutes/functions/muteUser.ts | 6 +++--- backend/src/plugins/Mutes/functions/unmuteUser.ts | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/backend/src/plugins/Mutes/functions/muteUser.ts b/backend/src/plugins/Mutes/functions/muteUser.ts index 702a7f7b..a936c317 100644 --- a/backend/src/plugins/Mutes/functions/muteUser.ts +++ b/backend/src/plugins/Mutes/functions/muteUser.ts @@ -1,4 +1,4 @@ -import { PermissionsBitField, Snowflake } from "discord.js"; +import { Snowflake } from "discord.js"; import humanizeDuration from "humanize-duration"; import { GuildPluginData } from "knub"; import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; @@ -91,7 +91,6 @@ export async function muteUser( rolesToRestore = currentUserRoles.filter((x) => (restoreRoles).includes(x)); } - const zep = await pluginData.guild.members.fetchMe(); if (muteType === MuteTypes.Role) { // Verify the configured mute role is valid const actualMuteRole = pluginData.guild.roles.cache.get(muteRole!); @@ -104,6 +103,7 @@ export async function muteUser( } // Verify the mute role is not above Zep's roles + const zep = await pluginData.guild.members.fetchMe(); const zepRoles = pluginData.guild.roles.cache.filter((x) => zep.roles.cache.has(x.id)); if (zepRoles.size === 0 || !zepRoles.some((zepRole) => zepRole.position > actualMuteRole.position)) { lock.unlock(); @@ -125,7 +125,7 @@ export async function muteUser( throw new RecoverablePluginError(ERRORS.USER_ABOVE_ZEP, pluginData.guild); } - if (!member.moderatable || member.permissions.has(PermissionsBitField.Flags.Administrator)) { + if (!member.moderatable) { // redundant safety, since canActOn already checks this lock.unlock(); logs.logBotAlert({ diff --git a/backend/src/plugins/Mutes/functions/unmuteUser.ts b/backend/src/plugins/Mutes/functions/unmuteUser.ts index 0147e680..055f5341 100644 --- a/backend/src/plugins/Mutes/functions/unmuteUser.ts +++ b/backend/src/plugins/Mutes/functions/unmuteUser.ts @@ -1,4 +1,4 @@ -import { PermissionsBitField, Snowflake } from "discord.js"; +import { Snowflake } from "discord.js"; import humanizeDuration from "humanize-duration"; import { GuildPluginData } from "knub"; import { CaseTypes } from "../../../data/CaseTypes"; @@ -55,8 +55,7 @@ export async function unmuteUser( // Update timeout if (member && (existingMute?.type === MuteTypes.Timeout || createdMute?.type === MuteTypes.Timeout)) { - if (!member.manageable || !member.moderatable || member.permissions.has(PermissionsBitField.Flags.Administrator)) - return null; + if (!member.moderatable) return null; await member.disableCommunicationUntil(timeoutExpiresAt); await pluginData.state.mutes.updateTimeoutExpiresAt(userId, timeoutExpiresAt);