mirror of
https://github.com/nx-bat/discordbot-ng.git
synced 2026-09-22 10:29:10 -04:00
(tasks): Implement error handling and task IDs.
This commit is contained in:
+8
-3
@@ -139,9 +139,14 @@ client.on('clientReady', async () => {
|
|||||||
|
|
||||||
await initializeWebserver(client);
|
await initializeWebserver(client);
|
||||||
|
|
||||||
tasks.forEach(async (task) => {
|
tasks.forEach((task) => {
|
||||||
if (task.firstRun) await task.handle(client);
|
const handler = () => {
|
||||||
setInterval(async () => await task.handle(client).catch((error) => console.log(error)), task.interval);
|
Promise.resolve(task.handle(client))
|
||||||
|
.catch(e => console.error(`Error in '${task.id}' task:`, e));
|
||||||
|
};
|
||||||
|
|
||||||
|
if (task.firstRun) handler();
|
||||||
|
setInterval(handler, task.interval);
|
||||||
});
|
});
|
||||||
|
|
||||||
events.forEach(event =>
|
events.forEach(event =>
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import { Client } from 'discord.js';
|
import { Client } from 'discord.js';
|
||||||
import { checkExpiredBans } from '../utils';
|
|
||||||
import { Task } from '../types';
|
import { Task } from '../types';
|
||||||
|
import { checkExpiredBans } from '../utils';
|
||||||
|
|
||||||
const task: Task = {
|
const task: Task = {
|
||||||
|
id: 'checkExpiredBans',
|
||||||
interval: 300000,
|
interval: 300000,
|
||||||
firstRun: true,
|
firstRun: true,
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
import { Client } from 'discord.js';
|
import { Client } from 'discord.js';
|
||||||
import { closeOldTickets } from '../utils';
|
|
||||||
import { Task } from '../types';
|
import { Task } from '../types';
|
||||||
|
import { closeOldTickets } from '../utils';
|
||||||
|
|
||||||
const task: Task = {
|
const task: Task = {
|
||||||
|
id: 'closeStaleTickets',
|
||||||
interval: 3.6e6,
|
interval: 3.6e6,
|
||||||
firstRun: true,
|
firstRun: true,
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { Database } from '../shared/Database';
|
|||||||
import { Task } from '../types';
|
import { Task } from '../types';
|
||||||
|
|
||||||
const task: Task = {
|
const task: Task = {
|
||||||
|
id: 'pruneOldMessages',
|
||||||
interval: 3.6e6,
|
interval: 3.6e6,
|
||||||
firstRun: true,
|
firstRun: true,
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
@@ -1,6 +1,7 @@
|
|||||||
import { Client } from "discord.js";
|
import { Client } from "discord.js";
|
||||||
|
|
||||||
export interface Task {
|
export interface Task {
|
||||||
|
id: string;
|
||||||
interval: number;
|
interval: number;
|
||||||
firstRun: boolean;
|
firstRun: boolean;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user