Files
Microsoft-Rewards-Bot/README.md
2025-11-15 13:52:37 +01:00

15 KiB
Raw Blame History

Microsoft Rewards Bot Logo

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. Install dependencies
npm install

# 3. Setup and run
npm run setup

That's it! The wizard will guide you through account setup and start earning points.


🎮 Essential Commands

Here are the most useful commands for daily usage:

🚀 Main Commands

Command Description
npm run go Ultimate command — Installs browser if needed, builds, and starts the bot
npm start Quick start — Runs the bot (builds automatically if needed)
npm run setup Interactive wizard — Guides you through initial setup
npm run dev Development mode — Watch mode with auto-reload

🔧 Build & Maintenance

Command Description
npm run build Compile TypeScript to JavaScript (dist/ folder)
npm run typecheck Check TypeScript errors without building
npm run clean Remove build artifacts (dist/ folder)
npm run install:browser Install Playwright Chromium (smart: only installs once)

🎯 Specialized Tools

Command Description
npm run dashboard Start web dashboard on http://localhost:3000
npm run creator Launch account creation wizard
npm run test Run test suite

💡 Quick Recipes

# First time setup
npm run go

# Daily usage (after first setup)
npm start

# Create new accounts
npm run creator -- -y backup@gmail.com https://rewards.bing.com/welcome?rh=CODE

# Monitor with dashboard
npm run dashboard
# Then open http://localhost:3000 in your browser

# Fix issues / rebuild
npm run clean ; npm run build

📖 Complete Commands Reference →


🔄 Typical Workflows

First-Time Setup (New User)

# 1. Install dependencies
npm install

# 2. Run the ultimate setup command
npm run go
# This will guide you through account setup, install browser, build, and start!

Daily Usage (Regular User)

# Just start the bot - it builds automatically if needed
npm start

Or use the ultimate command if you want to be extra safe:

npm run go

After Git Pull (Updating the Bot)

# Quick method (recommended)
npm run go

# Or manual method
npm install          # Update dependencies (if package.json changed)
npm run build       # Rebuild if code changed
npm start           # Run

Creating New Accounts

# Interactive mode (asks everything)
npm run creator

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

Troubleshooting (When Things Break)

# Clean rebuild
npm run clean
npm run build

# Or full reset
rm -rf node_modules dist
npm install
npm run go

Monitoring (Check Status)

# Start web dashboard
npm run dashboard
# Then 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