Files
Microsoft-Rewards-Bot/docs/schedule.md
2025-11-01 20:44:31 +01:00

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

All timezones


🎲 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

Cron syntax helper


🏖️ 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

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


← Back to Hub | Getting Started