Scheduled Tasks
Automate recurring tasks with cron-like scheduling.
Configuration
config.yaml
scheduler:
tasks:
- name: daily-report
cron: "0 9 * * *" # Every day at 9 AM
prompt: "Send a daily summary of wallet balance and recent transactions to admin"
target: 123456789 # Admin Telegram ID
- name: price-alert
cron: "*/15 * * * *" # Every 15 minutes
prompt: "Check TON price. If it changed more than 5% in the last hour, alert admin"
target: 123456789Cron Syntax
Format
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sunday=0)
│ │ │ │ │
* * * * *| Expression | Description |
|---|---|
0 * * * * | Every hour |
0 9 * * * | Every day at 9 AM |
0 9 * * 1 | Every Monday at 9 AM |
*/15 * * * * | Every 15 minutes |
0 0 1 * * | First day of each month |
Example Tasks
config.yaml
scheduler:
tasks:
# Morning greeting
- name: morning-greeting
cron: "0 8 * * *"
prompt: "Send a good morning message with today's date and a motivational quote"
target: 123456789
# Weekly backup reminder
- name: backup-reminder
cron: "0 10 * * 0"
prompt: "Remind admin to backup the wallet"
target: 123456789
# Monitor wallet
- name: wallet-monitor
cron: "0 */6 * * *"
prompt: "Check wallet balance and notify if any unexpected changes"
target: 123456789Admin Commands
Manage scheduled tasks via Telegram:
| Command | Description |
|---|---|
/tasks | List all scheduled tasks |
/task run <name> | Run a task immediately |
/task pause <name> | Pause a scheduled task |
/task resume <name> | Resume a paused task |