(tasks): move away from classes for consistency.

This commit is contained in:
2026-08-28 01:43:41 +08:00
parent 2d1de7c203
commit 2b19710664
5 changed files with 15 additions and 31 deletions
+2 -2
View File
@@ -140,8 +140,8 @@ client.on('clientReady', async () => {
await initializeWebserver(client); await initializeWebserver(client);
tasks.forEach(async (task) => { tasks.forEach(async (task) => {
if (task.firstRun) await task.handle(client); if (task.firstRun) await task.handler(client);
setInterval(async () => await task.handle(client), task.interval); setInterval(async () => await task.handler(client), task.interval);
}); });
events.forEach(event => events.forEach(event =>
+4 -7
View File
@@ -1,14 +1,11 @@
import { Client } from 'discord.js'; import { Client } from 'discord.js';
import { Task } from '../types';
import { checkExpiredBans } from '../utils'; import { checkExpiredBans } from '../utils';
class CheckExpiredBansTask implements Task { export default {
interval: number = 300000; interval: 300000,
firstRun: boolean = true; firstRun: true,
async handle(context: Client): Promise<void> { handler: async (context: Client) => {
await checkExpiredBans(context); await checkExpiredBans(context);
} }
} }
export default new CheckExpiredBansTask();
+4 -7
View File
@@ -1,14 +1,11 @@
import { Client } from 'discord.js'; import { Client } from 'discord.js';
import { Task } from '../types';
import { closeOldTickets } from '../utils'; import { closeOldTickets } from '../utils';
class CloseStaleTicketsTask implements Task { export default {
interval: number = 3.6e6; interval: 3.6e6,
firstRun: boolean = true; firstRun: true,
async handle(context: Client): Promise<void> { handler: async (context: Client) => {
await closeOldTickets(context); await closeOldTickets(context);
} }
} }
export default new CloseStaleTicketsTask();
+5 -7
View File
@@ -1,13 +1,11 @@
import { Task } from '../types'; import { Client } from 'discord.js';
import { Database } from '../shared/Database'; import { Database } from '../shared/Database';
class PruneOldMessagesTask implements Task { export default {
interval: number = 3.6e6; interval: 3.6e6,
firstRun: boolean = true; firstRun: true,
async handle(): Promise<void> { handler: async (context: Client) => {
await Database.pruneOldMessages(); await Database.pruneOldMessages();
} }
} }
export default new PruneOldMessagesTask();
-8
View File
@@ -1,8 +0,0 @@
import { Client } from 'discord.js';
export interface Task {
interval: number;
firstRun: boolean;
handle(context: Client): Promise<void>;
};