mirror of
https://github.com/LightZirconite/Microsoft-Rewards-Bot.git
synced 2026-01-10 01:06:17 +00:00
180 lines
2.9 KiB
Markdown
180 lines
2.9 KiB
Markdown
# ⏰ Scheduler
|
|
|
|
**Automate daily script execution**
|
|
|
|
---
|
|
|
|
## ⚡ Quick Start
|
|
|
|
### Basic Setup
|
|
|
|
**Edit** `src/config.jsonc`:
|
|
```jsonc
|
|
{
|
|
"schedule": {
|
|
"enabled": true,
|
|
"time": "09:00",
|
|
"timeZone": "America/New_York"
|
|
}
|
|
}
|
|
```
|
|
|
|
**Start scheduler:**
|
|
```bash
|
|
npm run start:schedule
|
|
```
|
|
|
|
**That's it!** Script runs automatically at 9 AM daily.
|
|
|
|
---
|
|
|
|
## 🎯 Common Configurations
|
|
|
|
### Morning Run
|
|
```jsonc
|
|
{
|
|
"schedule": {
|
|
"enabled": true,
|
|
"time": "08:00",
|
|
"timeZone": "America/New_York"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Evening Run
|
|
```jsonc
|
|
{
|
|
"schedule": {
|
|
"enabled": true,
|
|
"time": "20:00",
|
|
"timeZone": "Europe/Paris"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Multiple Passes Per Day
|
|
```jsonc
|
|
{
|
|
"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](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
|
|
|
|
---
|
|
|
|
## 🎲 Advanced: Cron Expressions
|
|
|
|
Want more control? Use cron:
|
|
|
|
```jsonc
|
|
{
|
|
"schedule": {
|
|
"enabled": true,
|
|
"cron": "0 9 * * *", // Every day at 9 AM
|
|
"timeZone": "America/New_York"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Cron Examples
|
|
```bash
|
|
"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](https://crontab.guru/)
|
|
|
|
---
|
|
|
|
## 🏖️ Vacation Mode (Optional)
|
|
|
|
Skip random days each month to look more natural:
|
|
|
|
```jsonc
|
|
{
|
|
"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:**
|
|
```powershell
|
|
node -e "console.log(new Date().toLocaleString('en-US', {timeZone: 'America/New_York'}))"
|
|
```
|
|
|
|
**Validate config:**
|
|
```powershell
|
|
npm run typecheck
|
|
```
|
|
|
|
---
|
|
|
|
## 🐳 Docker Integration
|
|
|
|
### Built-in Scheduler (Recommended)
|
|
```yaml
|
|
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](./humanization.md)**
|
|
|
|
**Need notifications?**
|
|
→ **[Discord Webhooks](./conclusionwebhook.md)**
|
|
|
|
**Docker setup?**
|
|
→ **[Docker Guide](./docker.md)**
|
|
|
|
---
|
|
|
|
**[← Back to Hub](./index.md)** | **[Getting Started](./getting-started.md)**
|