Skip to content

Commit 2d9dca5

Browse files
committed
Added CronJob Handler
1 parent 74d2dab commit 2d9dca5

File tree

4 files changed

+52
-4
lines changed

4 files changed

+52
-4
lines changed

package-lock.json

Lines changed: 36 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
},
2323
"dependencies": {
2424
"chalk": "^5.1.2",
25-
"discord.js": "^14.9.0"
25+
"discord.js": "^14.9.0",
26+
"node-cron": "^3.0.2"
2627
}
2728
}

src/handlers/cronjobs.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import fs from 'fs';
2+
import cron from 'node-cron';
3+
4+
export async function loadCronJobs(folderPath, client) {
5+
let files = fs.readdirSync(folderPath);
6+
7+
for (let i = 0; i < files.length; i++) {
8+
folderPath = folderPath.replace('src/', '');
9+
let cronjob = await import (`../${folderPath}/${files[i]}`);
10+
cron.schedule(cronjob.default.cron, () => cronjob.default.execute(client));
11+
}
12+
}

src/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import config from './data/config.js';
44
import loadEvents from './handlers/events.js';
55
import loadInteractions from './handlers/handler.js';
66
import registerApplicationCommands from './handlers/application.js';
7+
import { loadCronJobs } from './handlers/cronjobs.js';
78

89
const client = new Discord.Client({
910
intents: [
@@ -28,6 +29,7 @@ client.interaction = new Discord.Collection();
2829
await loadEvents(client);
2930
await loadInteractions('./src/interactions', client);
3031
await registerApplicationCommands(client);
32+
await loadCronJobs('./src/cron', client);
3133

3234
process.on('uncaughtException', function (err) {
3335
console.error(err);

0 commit comments

Comments
 (0)