(types): Re-implemented the Task type.

This commit is contained in:
2026-09-21 22:06:09 +08:00
parent 34dd72a5af
commit 2fa8e8bf43
6 changed files with 31 additions and 13 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.handler(client); if (task.firstRun) await task.handle(client);
setInterval(async () => await task.handler(client), task.interval); setInterval(async () => await task.handle(client).catch((error) => console.log(error)), task.interval);
}); });
events.forEach(event => events.forEach(event =>
+7 -4
View File
@@ -1,11 +1,14 @@
import { Client } from 'discord.js'; import { Client } from 'discord.js';
import { checkExpiredBans } from '../utils'; import { checkExpiredBans } from '../utils';
import { Task } from '../types';
export default { const task: Task = {
interval: 300000, interval: 300000,
firstRun: true, firstRun: true,
handler: async (context: Client) => { handle: async (context: Client) => {
await checkExpiredBans(context); await checkExpiredBans(context);
}, },
}; }
export default task;
+6 -3
View File
@@ -1,11 +1,14 @@
import { Client } from 'discord.js'; import { Client } from 'discord.js';
import { closeOldTickets } from '../utils'; import { closeOldTickets } from '../utils';
import { Task } from '../types';
export default { const task: Task = {
interval: 3.6e6, interval: 3.6e6,
firstRun: true, firstRun: true,
handler: async (context: Client) => { handle: async (context: Client) => {
await closeOldTickets(context); await closeOldTickets(context);
}, },
}; };
export default task;
+7 -4
View File
@@ -1,11 +1,14 @@
import { Client } from 'discord.js'; import { Client } from 'discord.js';
import { Database } from '../shared/Database'; import { Database } from '../shared/Database';
import { Task } from '../types';
export default { const task: Task = {
interval: 3.6e6, interval: 3.6e6,
firstRun: true, firstRun: true,
handler: async (context: Client) => { handle: async (context: Client) => {
await Database.pruneOldMessages(); await Database.pruneOldMessages();
}, },
}; }
export default task;
+1
View File
@@ -3,3 +3,4 @@ export * from './database-types.d';
export * from './e621-types.d'; export * from './e621-types.d';
export * from './handler.d'; export * from './handler.d';
export * from './helper-types.d'; export * from './helper-types.d';
export * from './task.d';
+8
View File
@@ -0,0 +1,8 @@
import { Client } from "discord.js";
export interface Task {
interval: number;
firstRun: boolean;
handle(context: Client): Promise<void>;
}