diff options
author | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-10-21 00:05:53 -0400 |
---|---|---|
committer | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-10-21 00:05:53 -0400 |
commit | 166d7fdf24440db71311c2cda95697c06e7b8b36 (patch) | |
tree | 23b0400362b5f3035b156200eb634d202aa54741 /src/lib/common/moderation.ts | |
parent | 08f33f7d450c8920afc3b9fb8886729547065313 (diff) | |
download | tanzanite-166d7fdf24440db71311c2cda95697c06e7b8b36.tar.gz tanzanite-166d7fdf24440db71311c2cda95697c06e7b8b36.tar.bz2 tanzanite-166d7fdf24440db71311c2cda95697c06e7b8b36.zip |
Refactoring, rewrote ButtonPaginator, better permission handling + support for send messages in threads, optimizations, another scam link
Diffstat (limited to 'src/lib/common/moderation.ts')
-rw-r--r-- | src/lib/common/moderation.ts | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/lib/common/moderation.ts b/src/lib/common/moderation.ts index c8779fc..29d66fa 100644 --- a/src/lib/common/moderation.ts +++ b/src/lib/common/moderation.ts @@ -123,7 +123,7 @@ export class Moderation { const expires = options.duration ? new Date(+new Date() + options.duration ?? 0) : undefined; const user = (await util.resolveNonCachedUser(options.user))!.id; const guild = client.guilds.resolveId(options.guild)!; - const type = this.#findTypeEnum(options.type)!; + const type = this.findTypeEnum(options.type)!; const entry = ActivePunishment.build( options.extraInfo @@ -144,7 +144,7 @@ export class Moderation { }): Promise<boolean> { const user = await util.resolveNonCachedUser(options.user); const guild = client.guilds.resolveId(options.guild); - const type = this.#findTypeEnum(options.type); + const type = this.findTypeEnum(options.type); if (!user || !guild) return false; @@ -160,18 +160,19 @@ export class Moderation { success = false; }); if (entries) { - // eslint-disable-next-line @typescript-eslint/no-misused-promises - entries.forEach(async (entry) => { - await entry.destroy().catch(async (e) => { + const promises = entries.map(async (entry) => + entry.destroy().catch(async (e) => { await util.handleError('removePunishmentEntry', e); - }); - success = false; - }); + success = false; + }) + ); + + await Promise.all(promises); } return success; } - static #findTypeEnum(type: 'mute' | 'ban' | 'role' | 'block') { + private static findTypeEnum(type: 'mute' | 'ban' | 'role' | 'block') { const typeMap = { ['mute']: ActivePunishmentType.MUTE, ['ban']: ActivePunishmentType.BAN, |