feat(arabot): add a scheduler for messages/commands

This commit is contained in:
Anthony
2022-07-23 18:19:47 +01:00
parent f67ad335a4
commit 1b71e46f40
4 changed files with 70 additions and 0 deletions

View File

@@ -21,6 +21,7 @@
*/
import { LogLevel, SapphireClient } from '@sapphire/framework';
import { ScheduleManager } from './utils/scheduleManager';
require('dotenv').config();
@@ -56,6 +57,9 @@ const main = async () => {
client.destroy();
process.exit(1);
}
// Scheduled Commands
await ScheduleManager();
};
main();

View File

@@ -0,0 +1,36 @@
// SPDX-License-Identifier: GPL-3.0-or-later
/*
Animal Rights Advocates Discord Bot
Copyright (C) 2022 Anthony Berg
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import { CronJob } from 'cron';
import { standupRun } from '../schedules/standup';
export async function ScheduleManager() {
// TODO add a way to automatically add all schedules in the schedules folder
// Define Jobs:
// Standup
const standup = new CronJob(
'00 00 12 * * 1',
(async () => {
await standupRun();
}),
);
// Start Jobs:
standup.start();
}