Cron Tasks
djs-core provides a built-in scheduler for running code at fixed intervals. Useful for cleanup jobs, daily messages, or any background processing.
Experimental
Cron tasks are experimental. Enable them in djs.config.ts before use.
export default defineConfig({ // ... experimental: { cron: true, },});Creating a task
Create a file in src/cron/. Each file exports a default Task instance.
import { Task } from "@djs-core/runtime";
export default new Task() .cron("0 * * * *") // Every hour .run((client) => { console.log("Starting hourly cleanup..."); // cleanup logic here });Cron expression reference
| Expression | Meaning |
|---|---|
* * * * * |
Every minute |
0 * * * * |
Every hour |
0 9 * * * |
Every day at 9am |
0 9 * * 1 |
Every Monday at 9am |
0 0 1 * * |
First day of every month |
Key methods
.cron("expression")— standard 5-field cron expression.run((client) => { ... })— receives the Discordclientinstance