From 532041ad0de53f9d4943ac820cead9e6e0a179b4 Mon Sep 17 00:00:00 2001 From: Dark <7890309+DarkView@users.noreply.github.com> Date: Fri, 31 Jul 2020 19:31:36 +0200 Subject: [PATCH] Fixed mistake that made REST calls we know will fail on forcemute/unmute --- backend/src/plugins/ModActions/commands/UnmuteCmd.ts | 2 +- backend/src/plugins/Mutes/functions/muteUser.ts | 11 +++++++++-- backend/src/plugins/Mutes/functions/unmuteUser.ts | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/backend/src/plugins/ModActions/commands/UnmuteCmd.ts b/backend/src/plugins/ModActions/commands/UnmuteCmd.ts index c8808dec..695fef8c 100644 --- a/backend/src/plugins/ModActions/commands/UnmuteCmd.ts +++ b/backend/src/plugins/ModActions/commands/UnmuteCmd.ts @@ -46,7 +46,7 @@ export const UnmuteCmd = modActionsCommand({ } if (!memberToUnmute) { - const banned = await isBanned(pluginData, memberToUnmute.id); + const banned = await isBanned(pluginData, user.id); const prefix = pluginData.guildConfig.prefix; if (banned) { sendErrorMessage( diff --git a/backend/src/plugins/Mutes/functions/muteUser.ts b/backend/src/plugins/Mutes/functions/muteUser.ts index bd929998..104fa703 100644 --- a/backend/src/plugins/Mutes/functions/muteUser.ts +++ b/backend/src/plugins/Mutes/functions/muteUser.ts @@ -2,7 +2,14 @@ import { PluginData } from "knub"; import { MuteOptions, MutesPluginType } from "../types"; import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; import humanizeDuration from "humanize-duration"; -import { notifyUser, resolveUser, stripObjectToScalars, ucfirst, UserNotificationResult } from "../../../utils"; +import { + notifyUser, + resolveUser, + stripObjectToScalars, + ucfirst, + UserNotificationResult, + resolveMember, +} from "../../../utils"; import { renderTemplate } from "../../../templateFormatter"; import { TextChannel, User } from "eris"; import { CasesPlugin } from "../../Cases/CasesPlugin"; @@ -33,7 +40,7 @@ export async function muteUser( } const user = await resolveUser(pluginData.client, userId); - const member = await pluginData.client.getRESTGuildMember(pluginData.guild.id, user.id); // Grab the fresh member so we don't have stale role info + const member = await resolveMember(pluginData.client, pluginData.guild, user.id); // Grab the fresh member so we don't have stale role info const config = pluginData.config.getMatchingConfig({ member, userId }); if (member) { diff --git a/backend/src/plugins/Mutes/functions/unmuteUser.ts b/backend/src/plugins/Mutes/functions/unmuteUser.ts index a5762216..6e8af597 100644 --- a/backend/src/plugins/Mutes/functions/unmuteUser.ts +++ b/backend/src/plugins/Mutes/functions/unmuteUser.ts @@ -1,7 +1,7 @@ import { PluginData } from "knub"; import { MutesPluginType, UnmuteResult } from "../types"; import { CaseArgs } from "../../Cases/types"; -import { resolveUser, stripObjectToScalars } from "../../../utils"; +import { resolveUser, stripObjectToScalars, resolveMember } from "../../../utils"; import { memberHasMutedRole } from "./memberHasMutedRole"; import humanizeDuration from "humanize-duration"; import { CasesPlugin } from "../../Cases/CasesPlugin"; @@ -16,7 +16,7 @@ export async function unmuteUser( ): Promise { const existingMute = await pluginData.state.mutes.findExistingMuteForUserId(userId); const user = await resolveUser(pluginData.client, userId); - const member = await pluginData.client.getRESTGuildMember(pluginData.guild.id, userId); // Grab the fresh member so we don't have stale role info + const member = await resolveMember(pluginData.client, pluginData.guild, userId); // Grab the fresh member so we don't have stale role info if (!existingMute && !memberHasMutedRole(pluginData, member)) return;