mirror of
https://github.com/nx-bat/discordbot-ng.git
synced 2026-09-22 10:29:10 -04:00
(tasks): simply the tasks 🔥
This commit is contained in:
+5
-1
@@ -8,6 +8,7 @@ import { Handler } from './types';
|
|||||||
import { initIfNecessary, loadHandlersFrom, refreshCommands } from './utils';
|
import { initIfNecessary, loadHandlersFrom, refreshCommands } from './utils';
|
||||||
import { initializeWebserver } from './webserver';
|
import { initializeWebserver } from './webserver';
|
||||||
import { Encrypter } from './shared/Encrypter';
|
import { Encrypter } from './shared/Encrypter';
|
||||||
|
import tasks from './tasks';
|
||||||
|
|
||||||
|
|
||||||
let ready = false;
|
let ready = false;
|
||||||
@@ -141,7 +142,10 @@ client.on('clientReady', async () => {
|
|||||||
|
|
||||||
await initializeWebserver(client);
|
await initializeWebserver(client);
|
||||||
|
|
||||||
ScheduledTasks.forEach(task => scheduler.add(task));
|
tasks.forEach(async (task) => {
|
||||||
|
if (task.firstRun) await task.handle(client);
|
||||||
|
setInterval(async () => await task.handle(client), task.interval);
|
||||||
|
});
|
||||||
|
|
||||||
events.forEach(event =>
|
events.forEach(event =>
|
||||||
client.on(event.event, (...args) =>
|
client.on(event.event, (...args) =>
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
import { Client } from 'discord.js';
|
|
||||||
import { Task } from '../types';
|
|
||||||
import ScheduledTasks from './tasks';
|
|
||||||
|
|
||||||
class Scheduler {
|
|
||||||
private tasks = new Map<Task, NodeJS.Timeout>();
|
|
||||||
private context: Client;
|
|
||||||
|
|
||||||
constructor(context: Client) {
|
|
||||||
this.context = context;
|
|
||||||
}
|
|
||||||
|
|
||||||
add(task: Task) {
|
|
||||||
const interval = setInterval(() => task.handle(this.context), task.interval);
|
|
||||||
if (task.firstRun) interval._onTimeout();
|
|
||||||
|
|
||||||
this.tasks.set(task, interval);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export {
|
|
||||||
ScheduledTasks, Scheduler
|
|
||||||
};
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import checkExpiredBansTask from './check-expired-bans-task';
|
|
||||||
import closeStaleTicketsTask from './close-stale-tickets-task';
|
|
||||||
import pruneOldMessagesTask from './prune-old-messages-task';
|
|
||||||
|
|
||||||
export default [
|
|
||||||
closeStaleTicketsTask,
|
|
||||||
checkExpiredBansTask,
|
|
||||||
pruneOldMessagesTask
|
|
||||||
];
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Client } from 'discord.js';
|
import { Client } from 'discord.js';
|
||||||
import { Task } from '../../types';
|
import { Task } from '../types';
|
||||||
import { checkExpiredBans } from '../../utils';
|
import { checkExpiredBans } from '../utils';
|
||||||
|
|
||||||
class CheckExpiredBansTask implements Task {
|
class CheckExpiredBansTask implements Task {
|
||||||
interval: number = 300000;
|
interval: number = 300000;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
import { Client } from 'discord.js';
|
import { Client } from 'discord.js';
|
||||||
import { Task } from '../../types';
|
import { Task } from '../types';
|
||||||
import { closeOldTickets } from '../../utils';
|
import { closeOldTickets } from '../utils';
|
||||||
|
|
||||||
class CloseStaleTicketsTask implements Task {
|
class CloseStaleTicketsTask implements Task {
|
||||||
interval: number = 3.6e6;
|
interval: number = 3.6e6;
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
import checkExpiredBansTask from './checkExpiredBansTask';
|
||||||
|
import closeStaleTicketsTask from './closeStaleTicketsTask';
|
||||||
|
import pruneOldMessagesTask from './pruneOldMessagesTask';
|
||||||
|
|
||||||
|
export default [
|
||||||
|
closeStaleTicketsTask,
|
||||||
|
checkExpiredBansTask,
|
||||||
|
pruneOldMessagesTask
|
||||||
|
];
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Task } from '../../types';
|
import { Task } from '../types';
|
||||||
import { Database } from '../../shared/Database';
|
import { Database } from '../shared/Database';
|
||||||
|
|
||||||
class PruneOldMessagesTask implements Task {
|
class PruneOldMessagesTask implements Task {
|
||||||
interval: number = 3.6e6;
|
interval: number = 3.6e6;
|
||||||
Reference in New Issue
Block a user