From b015bec7f66526ec5e959ae99865845f4db4b181 Mon Sep 17 00:00:00 2001 From: IRONM00N <64110067+IRONM00N@users.noreply.github.com> Date: Fri, 23 Jul 2021 22:02:44 -0400 Subject: feat: some shit - fix breaking changes - refactored active punishments into one table - made listeners args have stricter types --- src/tasks/removePunishmentRole.ts | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 src/tasks/removePunishmentRole.ts (limited to 'src/tasks/removePunishmentRole.ts') diff --git a/src/tasks/removePunishmentRole.ts b/src/tasks/removePunishmentRole.ts deleted file mode 100644 index 9830338..0000000 --- a/src/tasks/removePunishmentRole.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { BushGuildMember, BushTask } from '@lib'; - -export default class RemovePunishmentRole extends BushTask { - public constructor() { - super('removePunishmentRole', { - delay: 30_000, // 1/2 min - runOnStart: true - }); - } - async exec(): Promise { - const expiredEntries = await this.client.util.findExpiredEntries('role'); - this.client.logger.verbose( - `RemovePunishmentRoleTask`, - `Queried punishment roles, found <<${expiredEntries.length}>> expired punishment roles.` - ); - - for (const entry of expiredEntries) { - const guild = this.client.guilds.cache.get(entry.guild); - const role = guild?.roles?.cache?.get(entry.role); - if (!guild || !role) { - await entry.destroy(); - continue; - } - - const member = guild.members.cache.get(entry.user) as BushGuildMember; - const result = await member.removeRole({ - reason: 'Punishment expired.', - role: role, - addToModlog: true - }); - if (['success', 'failed to dm'].includes(result)) await entry.destroy(); - else throw result; - - this.client.logger.verbose(`RemovePunishmentRoleTask`, `Removed a punishment role from ${entry.user}.`); - } - } -} -- cgit