Files
Microsoft-Rewards-Bot/docs/buy-mode.md

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

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:

  1. Opens 2 browser tabs:
    • Monitor tab — Background point tracking (auto-refresh every ~10s)
    • Your tab — Use this for manual purchases
  2. Monitors points passively without clicking
  3. Sends alerts when spending detected
  4. 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
  1. Script opens Microsoft Rewards in browser
  2. Use the user tab to browse and redeem
  3. Monitor tab tracks your balance in background
  4. 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


← Back to Hub | Config Guide