mirror of
https://github.com/LightZirconite/Microsoft-Rewards-Bot.git
synced 2026-01-10 09:16:16 +00:00
Initial commit
This commit is contained in:
179
docs/schedule.md
Normal file
179
docs/schedule.md
Normal file
@@ -0,0 +1,179 @@
|
||||
# ⏰ 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)**
|
||||
Reference in New Issue
Block a user