3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-22 09:15:03 +00:00
zeppelin/backend/src/plugins/Mutes/events/ClearActiveMuteOnRoleRemovalEvt.ts

20 lines
647 B
TypeScript

import { memberHasMutedRole } from "../functions/memberHasMutedRole";
import { mutesEvt } from "../types";
/**
* Clear active mute if the mute role is removed manually
*/
export const ClearActiveMuteOnRoleRemovalEvt = mutesEvt({
event: "guildMemberUpdate",
async listener({ pluginData, args: { oldMember, newMember: member } }) {
const muteRole = pluginData.config.get().mute_role;
if (!muteRole) return;
const mute = await pluginData.state.mutes.findExistingMuteForUserId(member.id);
if (!mute) return;
if (!memberHasMutedRole(pluginData, member)) {
await pluginData.state.mutes.clear(muteRole);
}
},
});