From a6750da5da139fa1c3efff6e4faf56026ce09512 Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Sat, 1 Apr 2023 20:19:17 +0300 Subject: [PATCH] fix: reapply timeout on join for forcemutes --- .../plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/src/plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts b/backend/src/plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts index 4d39e316..ccc60c55 100644 --- a/backend/src/plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts +++ b/backend/src/plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts @@ -1,7 +1,9 @@ import { Snowflake } from "discord.js"; +import moment from "moment-timezone"; import { MuteTypes } from "../../../data/MuteTypes"; import { memberRolesLock } from "../../../utils/lockNameHelpers"; import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { getTimeoutExpiryTime } from "../functions/getTimeoutExpiryTime"; import { mutesEvt } from "../types"; /** @@ -26,6 +28,12 @@ export const ReapplyActiveMuteOnJoinEvt = mutesEvt({ memberRoleLock.unlock(); } } + } else { + if (!member.isCommunicationDisabled()) { + const expiresAt = mute.expires_at ? moment.utc(mute.expires_at).valueOf() : null; + const timeoutExpiresAt = getTimeoutExpiryTime(expiresAt); + await member.disableCommunicationUntil(timeoutExpiresAt); + } } pluginData.getPlugin(LogsPlugin).logMemberMuteRejoin({