5.2 KiB
💳 Buy Mode
Manually redeem rewards while monitoring points
💡 What Is It?
Launches browser and passively monitors your points balance while you manually shop/redeem.
Use case: Safely redeem gift cards without automation interference.
⚡ Quick Start
Option 1: Interactive Selection (Recommended)
npm run buy
Option 2: Direct Email Selection
npm run buy your@email.com
Option 3: Numeric Account Index
npm run buy 1
What happens:
- Opens 2 browser tabs:
- Monitor tab — Background point tracking (auto-refresh every ~10s)
- Your tab — Use this for manual purchases
- Monitors points passively without clicking
- Sends alerts when spending detected
- Session runs for configured duration (default: 45 minutes)
🎯 Account Selection Methods
1. Interactive Selection (Easiest)
Run without arguments to see a menu of available accounts:
npm run buy
You'll see:
Available accounts:
────────────────────────────────────────────────────────────
[1] my***t@outlook.com Direct
[2] se***d@outlook.com 🔒 Proxy
[3] th***d@outlook.com Direct
────────────────────────────────────────────────────────────
Enter account number (1-3) or email:
Features:
- ✅ Masked emails for privacy
- ✅ Proxy status indication
- ✅ Only shows enabled accounts
- ✅ Validates selection before proceeding
2. By Email Address
Specify the exact email address:
npm run buy myaccount@outlook.com
3. By Account Number
Use the account index (1-based):
npm run buy 1 # First enabled account
npm run buy 2 # Second enabled account
🎯 Example Usage
Redeem Gift Card (Interactive)
npm run buy
Choose your account from the interactive menu.
Redeem Gift Card (Email)
npm run buy myaccount@outlook.com
- Script opens Microsoft Rewards in browser
- Use the user tab to browse and redeem
- Monitor tab tracks your balance in background
- Get notification when points decrease
Redeem Gift Card (Index)
npm run buy 1
Directly selects the first enabled account from your accounts list.
⚙️ Configuration
Set max session time:
Edit src/config.jsonc:
{
"buyMode": {
"maxMinutes": 45 // Session duration (minimum: 10, default: 45)
}
}
Session behavior:
- Monitor tab refreshes every ~10 seconds
- Session automatically ends after
maxMinutes - You can close the browser anytime
- Cookies are saved at the end
🔔 Notifications
Buy mode sends real-time alerts when:
- 💳 Points spent — Shows amount and new balance
- 📉 Balance changes — Tracks cumulative spending
Example alert:
💳 Spend Detected (Buy Mode)
Account: user@email.com
Spent: -500 points
Current: 12,500 points
Session spent: 1,200 points
Alert channels: Uses your configured webhooks (Discord, NTFY, etc.)
🛠️ Troubleshooting
| Problem | Solution |
|---|---|
| "No enabled accounts found" | Enable at least one account in accounts.jsonc |
| "Invalid account index" | Check your account number (must be 1-N) |
| "Account not found" | Verify email spelling and that account is enabled |
| Monitor tab closes | Script auto-reopens it in background |
| No spending alerts | Check webhook/NTFY config in config.jsonc |
| Session too short | Increase maxMinutes in config |
| Interactive prompt not showing | Run: npm run buy (no arguments) |
⚠️ Important Notes
- ✅ Browser visible — Always runs in visible mode (not headless)
- ✅ No automation — Script only monitors, never clicks or redeems
- ✅ Safe — Use your browsing tab normally
- ✅ Real-time tracking — Immediate notifications on point changes
- ✅ Multiple selection methods — Interactive, email, or index
- ✅ Privacy-friendly — Emails are masked in interactive mode
- ⚠️ Only enabled accounts — Disabled accounts don't appear
📊 Session Summary
At the end of each buy mode session, you'll receive a summary:
Account: myaccount@outlook.com
Duration: 45m 12s
Initial points: 15,000
Current points: 13,500
Total spent: 1,500
This summary is sent via your configured notification channels.
💡 Pro Tips
- Use interactive mode for the safest selection
- Build first if you modified code:
npm run build - Multiple accounts? Use numeric index for speed
- Check your balance before and after in the monitor tab
📚 Next Steps
Setup notifications?
→ Discord Webhooks
→ NTFY Push
Manage multiple accounts?
→ Accounts Guide
Back to automation?
→ Getting Started