2025-11-29 14:31:35 +01:00
Fix
2025-11-15 13:52:37 +01:00
2025-11-29 14:31:35 +01:00
2025-11-11 15:01:02 +01:00
Fix
2025-11-15 13:52:37 +01:00
2025-11-11 13:07:51 +01:00
2025-11-29 14:31:35 +01:00
2025-11-01 20:44:31 +01:00
2025-11-01 20:44:31 +01:00
2025-11-01 20:44:31 +01:00
Fix
2025-11-15 13:52:37 +01:00
2025-11-29 14:31:35 +01:00

Microsoft Rewards Bot

Automate your Microsoft Rewards points collection

Discord GitHub Version


💡 What is this?

A TypeScript bot that automatically earns Microsoft Rewards points by completing:

  • 🔍 Desktop & mobile Bing searches
  • 📋 Daily quizzes, polls, and activities
  • 🎁 Promotional offers and punch cards
  • 📚 Read-to-earn tasks

Built with anti-detection to work safely and reliably.


Features

  • 🤖 Human-like behavior — Natural search patterns
  • Auto-scheduling — Set it and forget it
  • <EFBFBD> Multi-account support — Manage multiple accounts
  • 🔔 Notifications — Discord webhooks & mobile alerts
  • 🐳 Docker ready — Easy containerized deployment
  • 🌐 Proxy support — Enhanced privacy (optional)

🚀 Quick Start

Prerequisites

  • Node.js 20+ (v22 recommended) — Download
  • Microsoft account(s) with email + password

Installation

# 1. Download the project
git clone https://github.com/LightZirconite/Microsoft-Rewards-Bot.git
cd Microsoft-Rewards-Bot

# 2. Start the bot (does EVERYTHING automatically!)
npm start

That's literally it! 🎉

The npm start command will automatically:

  • Install dependencies if needed
  • Install Chromium browser if needed
  • Build TypeScript if needed
  • Launch the bot

On first run, you'll be prompted to configure your accounts interactively.


🎮 Essential Commands

🚀 Main Command

npm start

The ONLY command you need! Automatically handles:

  • 📦 Dependencies installation (if missing)
  • 🌐 Browser installation (if missing)
  • 🔨 TypeScript compilation (if missing)
  • ▶️ Bot execution

🔧 Optional Commands

Command Use When
npm run build Force rebuild TypeScript
npm run clean Clean build artifacts before rebuild
npm run dev Development mode (hot reload)
npm run creator Create new Microsoft accounts
npm run dashboard Start web dashboard on port 3000
npm test Run test suite

💡 Pro Tip: For 99% of use cases, just use npm start — it's smart enough to figure out what needs to be done!

📖 Complete Commands Reference →


🔄 Typical Workflows

First-Time Setup (New User)

# Just run this - it does EVERYTHING!
npm start

On first run:

  1. Installs all dependencies automatically
  2. Installs Chromium browser automatically
  3. Builds the TypeScript project automatically
  4. Prompts you to configure accounts
  5. Starts earning points!

Daily Usage (Regular User)

# Same command - but skips already-done steps!
npm start

After Git Pull (Updating)

# Just this - it checks and updates what's needed
npm start

Creating New Accounts

# Interactive mode
npm run creator

# Quick mode with referral
npm run creator -- -y backup@gmail.com "https://rewards.bing.com/welcome?rh=CODE&ref=..."

Troubleshooting (Issues)

# Clean rebuild
npm run clean
npm start

# Full reset (nuclear option)
rm -rf node_modules dist .playwright-chromium-installed
npm start

Monitoring

npm run dashboard
# Open http://localhost:3000

📖 Need Help?

First time using the bot?📘 Getting Started Guide

The complete guide covers:

  • Detailed installation steps
  • Creating Microsoft accounts with referrals (+7,500 points/month!)
  • Setting up 2FA authentication
  • Configuration options
  • Troubleshooting common issues

📚 Documentation

New to the bot? Start here: 📘 Getting Started Guide

Need specific info? Check the 📖 Documentation Hub

📑 Quick Links
Guide Description
Getting Started Complete installation tutorial
Accounts & 2FA Setup accounts with authentication
Configuration Customize bot behavior
Scheduling Automate with cron/Task Scheduler
Notifications Discord & mobile alerts
Troubleshooting Fix common issues

📊 Dashboard (BETA)

Monitor and control your bot through a local web interface:

# Start dashboard separately
npm run dashboard

# Or enable auto-start in config.jsonc:
{
  "dashboard": {
    "enabled": true,
    "port": 3000
  }
}

Access at http://localhost:3000 to:

  • 📈 View real-time points and account status
  • 📋 Monitor live logs with WebSocket streaming
  • 🔄 Manually sync individual accounts
  • ⚙️ Edit configuration with automatic backup
  • 📊 View historical run summaries and metrics

📖 Full Dashboard API Documentation


🆕 Account Creator (BETA)

Automatically create new Microsoft accounts with advanced security features:

# Interactive mode (asks everything)
npm run creator

# With auto-accept and recovery email (copy-paste URL directly from Microsoft)
npm run creator -- -y backup@gmail.com "https://rewards.bing.com/welcome?rh=YOUR_CODE"

Features:

  • 🎯 Language-independent — Works in any language
  • 🔐 Strong passwords — Automatically generated (12-16 chars)
  • 📧 Realistic emails — 200+ name database for natural-looking addresses
  • 🎂 Natural birthdates — Random age 18-50 years old
  • 🛡️ Recovery email — Optional backup email for account recovery
  • 🔒 2FA support — TOTP authentication with Google Authenticator
  • 🔑 TOTP secrets — Extracts and saves secret keys
  • 💾 Complete backups — Saves all details including recovery codes
  • 🤖 CAPTCHA support — Manual solving (human verification)
  • <EFBFBD> Organized storage — Individual files per account

🎛️ Command Arguments (SIMPLIFIED!):

  • <url> — Referral URL (auto-detected if starts with http)
  • <email> — Recovery email (auto-detected if contains @)
  • -y — Auto-accept mode (enables recovery + 2FA automatically)

That's it! No more confusing flags. 🎉

⚙️ How It Works:

Command Recovery Email 2FA Notes
npm run creator Prompts Prompts Interactive mode
npm run creator -- -y Prompts for email Enabled Auto-accept all
npm run creator -- -y backup@gmail.com Uses provided email Enabled Full automation
npm run creator -- -y URL Prompts for email Enabled With referral
npm run creator -- -y backup@gmail.com URL Uses provided email Enabled Complete setup

📋 What happens:

  1. Creates Microsoft account (email, password, birthdate, names)
  2. Enrolls in Microsoft Rewards (if referral URL provided)
  3. [Optional] Adds recovery email with verification
  4. [Optional] Sets up 2FA with TOTP (Google Authenticator compatible)
  5. Extracts and saves TOTP secret key and recovery code
  6. Saves complete account info to accounts-created/ directory

🔐 Saved Information:

  • Email and password
  • Full name and birthdate
  • Referral URL (if used)
  • Recovery email (if added)
  • TOTP secret key (for authenticator apps)
  • 5-part recovery code (emergency access)

📖 Full Account Creator Guide


Automatic Scheduling

Configure automatic task scheduling directly from config.jsonc - perfect for Raspberry Pi!

{
  "scheduling": {
    "enabled": true,    // Just set this to true
    "type": "auto",     // Automatically detects Windows/Linux/Raspberry Pi
    "cron": {
      "schedule": "0 9 * * *"  // Raspberry Pi/Linux: Daily at 9 AM
    },
    "taskScheduler": {
      "schedule": "09:00"      // Windows: Daily at 9:00
    }
  }
}

Then simply run:

npm start

The bot will automatically configure cron (Linux/Raspberry Pi) or Task Scheduler (Windows) for you!

📖 Full Scheduling Documentation


🐳 Docker Quick Start

For containerized deployment with built-in scheduling:

# Ensure accounts.jsonc and config.jsonc exist in src/
npm run docker:compose

# Or use docker compose directly
docker compose -f docker/compose.yaml up -d

# View logs
docker logs -f microsoft-rewards-bot

# Check status
docker compose -f docker/compose.yaml ps

Container includes:

  • Built-in cron scheduling
  • Automatic timezone handling
  • Random execution delays (anti-detection)
  • Health checks

📖 Complete Docker Guide →


⚙️ Configuration Highlights

The script works great with default settings, but you can customize everything in src/config.jsonc:

{
  "search": {
    "useLocalQueries": false,     // Prioritize Google Trends API (recommended)
    "settings": {
      "useGeoLocaleQueries": true // Use account country for searches (FR, DE, JP, etc.)
    }
  },
  "queryDiversity": {
    "enabled": true,              // Mix multiple search sources
    "sources": ["google-trends", "reddit", "local-fallback"]
  },
  "humanization": {
    "enabled": true,              // Enable natural behavior patterns
    "stopOnBan": true             // Stop on ban detection
  },
  "workers": {
    "doDesktopSearch": true,      // Desktop Bing searches
    "doMobileSearch": true,       // Mobile Bing searches
    "doDailySet": true,           // Daily tasks and quizzes
    "doMorePromotions": true,     // Promotional offers
    "doPunchCards": true          // Multi-day challenges
  },
  "execution": {
    "clusters": 1,                // Parallel account processing
    "runOnZeroPoints": false      // Skip when no points available
  }
}

📖 Complete Configuration Guide


🎯 What Gets Automated

The script automatically completes:

  • Desktop Searches — 30+ searches on Bing (desktop user-agent)
  • Mobile Searches — 20+ searches on Bing (mobile user-agent)
  • Daily Set — Quizzes, polls, and daily activities
  • More Activities — Promotional tasks and special offers
  • Punch Cards — Multi-day challenges and bonus tasks
  • Daily Check-in — Simple check-in for bonus points
  • Read to Earn — Article reading tasks

All while maintaining natural behavior patterns to minimize detection risk.


💡 Usage Tips

  • Run regularly: Use cron, systemd timers, or Windows Task Scheduler (see docs)
  • Use humanization: Always keep humanization.enabled: true for safety
  • Monitor logs: Check for ban warnings and adjust settings if needed
  • Multiple accounts: Use the clusters setting to run accounts in parallel
  • Start small: Test with one account before scaling up
  • Capture logs: Pipe output to a file or webhook for later review

Tests

  • npm run test: runs the node:test suite with ts-node to validate critical utilities.

🔧 Common Issues & Quick Fixes

"Error: Cannot find module"

# Solution: Rebuild the project
npm run clean
npm run build
npm start

"Browser executable not found"

# Solution: Install Chromium browser
npm run install:browser
# Or use the ultimate command
npm run go

"Account credentials invalid"

  • Check src/accounts.jsonc has correct email/password
  • If 2FA enabled, verify totp field has correct secret
  • Test manual login at https://login.live.com/

"Bot hangs or freezes"

# Windows: Kill stuck Chrome processes
npm run kill-chrome-win

# Then restart
npm start

"TypeScript compilation errors"

# Check errors without building
npm run typecheck

# Full rebuild
npm run clean
npm install
npm run build

"Chromium keeps reinstalling on every build"

This is now fixed in v2.60.0! The bot creates a .playwright-chromium-installed marker file to prevent unnecessary reinstallations.

If it still happens:

# Manually create the marker file
touch .playwright-chromium-installed  # Mac/Linux
New-Item -Path .playwright-chromium-installed -ItemType File  # Windows PowerShell

"Update system not working"

# Manually check for updates
npm run build
# Watch the output for any TypeScript errors

"Scheduler not running immediately"

This is fixed in v2.60.0! The bot now runs tasks immediately on startup before activating the schedule.

📖 Complete Troubleshooting Guide →


🆘 Need Help?


⚠️ Disclaimer

This bot automates Microsoft Rewards interactions, which may violate their Terms of Service.

Risks:

  • ⚠️ Account suspension or ban
  • 🚫 Loss of points and rewards

Educational purposes only. Use at your own risk.


📄 License

CC BY-NC-SA 4.0 — Personal use only, no commercial use.

See LICENSE for details.


Star the repo💬 Join Discord<EFBFBD> Documentation

Made with ❤️ by the community

Description
Automated Microsoft Rewards points collector. Effortlessly accumulate rewards with intuitive navigation, multi-account support, Docker deployment, account creator, a dashboard, a Discord webbook, and an anti-detection system.
Readme 7.5 MiB
Languages
TypeScript 87.7%
JavaScript 7.3%
CSS 2.1%
HTML 1.4%
Shell 0.9%
Other 0.5%