mirror of
https://github.com/LightZirconite/Microsoft-Rewards-Bot.git
synced 2026-01-09 09:06:15 +00:00
2.9 KiB
2.9 KiB
⏰ Scheduler
Automate daily script execution
⚡ Quick Start
Basic Setup
Edit src/config.jsonc:
{
"schedule": {
"enabled": true,
"time": "09:00",
"timeZone": "America/New_York"
}
}
Start scheduler:
npm run start:schedule
That's it! Script runs automatically at 9 AM daily.
🎯 Common Configurations
Morning Run
{
"schedule": {
"enabled": true,
"time": "08:00",
"timeZone": "America/New_York"
}
}
Evening Run
{
"schedule": {
"enabled": true,
"time": "20:00",
"timeZone": "Europe/Paris"
}
}
Multiple Passes Per Day
{
"schedule": {
"enabled": true,
"time": "10:00",
"timeZone": "America/Los_Angeles"
},
"passesPerRun": 2
}
🌍 Common Timezones
| Region | Timezone |
|---|---|
| US East | America/New_York |
| US West | America/Los_Angeles |
| UK | Europe/London |
| France | Europe/Paris |
| Germany | Europe/Berlin |
🎲 Advanced: Cron Expressions
Want more control? Use cron:
{
"schedule": {
"enabled": true,
"cron": "0 9 * * *", // Every day at 9 AM
"timeZone": "America/New_York"
}
}
Cron Examples
"0 7 * * *" # Every day at 7:00 AM
"30 20 * * *" # Every day at 8:30 PM
"0 9,21 * * *" # Twice daily: 9 AM and 9 PM
"0 10 * * 1-5" # Weekdays only at 10 AM
🏖️ Vacation Mode (Optional)
Skip random days each month to look more natural:
{
"vacation": {
"enabled": true,
"minDays": 3,
"maxDays": 5
}
}
Example: Script will randomly skip 3-5 consecutive days per month.
🛠️ Troubleshooting
| Problem | Solution |
|---|---|
| Scheduler not running | Check enabled: true in config |
| Wrong execution time | Verify timezone spelling |
| Runs multiple times | Only use ONE scheduler instance |
| Missed run | Check if computer was off/sleeping |
Debug Commands
Check timezone:
node -e "console.log(new Date().toLocaleString('en-US', {timeZone: 'America/New_York'}))"
Validate config:
npm run typecheck
🐳 Docker Integration
Built-in Scheduler (Recommended)
services:
rewards:
build: .
command: ["npm", "run", "start:schedule"]
environment:
TZ: Europe/Paris
Uses config from src/config.jsonc.
📚 Next Steps
Want natural behavior?
→ Humanization Guide
Need notifications?
→ Discord Webhooks
Docker setup?
→ Docker Guide