From 2b19710664ad3b26a86b828d7ecd83fa7d7338e2 Mon Sep 17 00:00:00 2001 From: Nix Krystik Date: Fri, 28 Aug 2026 01:43:41 +0800 Subject: [PATCH] (tasks): move away from classes for consistency. --- src/index.ts | 4 ++-- src/tasks/checkExpiredBansTask.ts | 11 ++++------- src/tasks/closeStaleTicketsTask.ts | 11 ++++------- src/tasks/pruneOldMessagesTask.ts | 12 +++++------- src/types/task.d.ts | 8 -------- 5 files changed, 15 insertions(+), 31 deletions(-) delete mode 100644 src/types/task.d.ts diff --git a/src/index.ts b/src/index.ts index 74df98c..55a32cd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -140,8 +140,8 @@ client.on('clientReady', async () => { await initializeWebserver(client); tasks.forEach(async (task) => { - if (task.firstRun) await task.handle(client); - setInterval(async () => await task.handle(client), task.interval); + if (task.firstRun) await task.handler(client); + setInterval(async () => await task.handler(client), task.interval); }); events.forEach(event => diff --git a/src/tasks/checkExpiredBansTask.ts b/src/tasks/checkExpiredBansTask.ts index 762efc8..f8cc0ae 100644 --- a/src/tasks/checkExpiredBansTask.ts +++ b/src/tasks/checkExpiredBansTask.ts @@ -1,14 +1,11 @@ import { Client } from 'discord.js'; -import { Task } from '../types'; import { checkExpiredBans } from '../utils'; -class CheckExpiredBansTask implements Task { - interval: number = 300000; - firstRun: boolean = true; +export default { + interval: 300000, + firstRun: true, - async handle(context: Client): Promise { + handler: async (context: Client) => { await checkExpiredBans(context); } } - -export default new CheckExpiredBansTask(); diff --git a/src/tasks/closeStaleTicketsTask.ts b/src/tasks/closeStaleTicketsTask.ts index 0c6e243..97738cd 100644 --- a/src/tasks/closeStaleTicketsTask.ts +++ b/src/tasks/closeStaleTicketsTask.ts @@ -1,14 +1,11 @@ import { Client } from 'discord.js'; -import { Task } from '../types'; import { closeOldTickets } from '../utils'; -class CloseStaleTicketsTask implements Task { - interval: number = 3.6e6; - firstRun: boolean = true; +export default { + interval: 3.6e6, + firstRun: true, - async handle(context: Client): Promise { + handler: async (context: Client) => { await closeOldTickets(context); } } - -export default new CloseStaleTicketsTask(); diff --git a/src/tasks/pruneOldMessagesTask.ts b/src/tasks/pruneOldMessagesTask.ts index 765ba80..18ecf91 100644 --- a/src/tasks/pruneOldMessagesTask.ts +++ b/src/tasks/pruneOldMessagesTask.ts @@ -1,13 +1,11 @@ -import { Task } from '../types'; +import { Client } from 'discord.js'; import { Database } from '../shared/Database'; -class PruneOldMessagesTask implements Task { - interval: number = 3.6e6; - firstRun: boolean = true; +export default { + interval: 3.6e6, + firstRun: true, - async handle(): Promise { + handler: async (context: Client) => { await Database.pruneOldMessages(); } } - -export default new PruneOldMessagesTask(); diff --git a/src/types/task.d.ts b/src/types/task.d.ts deleted file mode 100644 index 3a05cc0..0000000 --- a/src/types/task.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Client } from 'discord.js'; - -export interface Task { - interval: number; - firstRun: boolean; - - handle(context: Client): Promise; -};