aboutsummaryrefslogtreecommitdiff
path: root/src/lib/common/moderation.ts
diff options
context:
space:
mode:
authorIRONM00N <64110067+IRONM00N@users.noreply.github.com>2021-10-21 00:05:53 -0400
committerIRONM00N <64110067+IRONM00N@users.noreply.github.com>2021-10-21 00:05:53 -0400
commit166d7fdf24440db71311c2cda95697c06e7b8b36 (patch)
tree23b0400362b5f3035b156200eb634d202aa54741 /src/lib/common/moderation.ts
parent08f33f7d450c8920afc3b9fb8886729547065313 (diff)
downloadtanzanite-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.ts19
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,