Skip to content

Obsidian-wtf/Microsoft-Rewards-Bot

Repository files navigation

Microsoft Rewards Bot Logo

Microsoft Rewards Bot

Automate your Microsoft Rewards points collection effortlessly

Discord GitHub Version License


About

This TypeScript-based automation bot helps you maximize your Microsoft Rewards points by automatically completing daily tasks, searches, quizzes, and promotional offers. Designed with sophisticated anti-detection measures and human-like behavior patterns to ensure safe, reliable operation.

✨ Key Features

  • πŸ” Automated Searches β€” Desktop and mobile Bing searches with natural patterns
  • πŸ“… Daily Activities β€” Quizzes, polls, daily sets, and punch cards
  • πŸ€– Human-like Behavior β€” Advanced humanization system to avoid detection
  • πŸ›‘οΈ Risk Management β€” Built-in ban detection and prediction with ML algorithms
  • ⏰ Automatic Scheduling β€” Easy configuration for cron (Linux/Raspberry Pi) and Windows Task Scheduler
  • πŸ”” Notifications β€” Discord webhooks and NTFY push alerts
  • 🐳 Docker Support β€” Easy containerized deployment
  • πŸ” Multi-Account β€” Manage multiple accounts with parallel execution
  • 🌐 Proxy Support β€” Optional proxy configuration for enhanced privacy

πŸš€ Quick Start

Prerequisites

  • Node.js 20+ (version 22 recommended) β€” Download here
  • Git for cloning the repository
  • Microsoft account(s) with email and password

Installation

The automated setup script handles everything for you:

  1. Clone the repository:

    git clone https://github.com/Obsidian-wtf/Microsoft-Rewards-Bot.git
    cd Microsoft-Rewards-Bot
  2. Run the setup script:

    • Windows: Double-click setup/setup.bat or run in PowerShell:
      .\setup\setup.bat
    • Linux / macOS / WSL:
      bash setup/setup.sh
    • Or use npm:
      npm run setup
  3. The setup wizard will:

    • βœ… Create and configure accounts.jsonc with your credentials
    • βœ… Install all dependencies automatically
    • βœ… Build the TypeScript project
    • βœ… Optionally start the script immediately

That's it! You're ready to start earning points. πŸŽ‰


πŸ“š Documentation

For detailed configuration, advanced features, and troubleshooting, visit our comprehensive documentation:

πŸ‘‰ Complete Documentation

Quick Links

Topic Description
Getting Started Detailed installation and first-run guide
Configuration Complete configuration options reference
Accounts & 2FA Setting up accounts with TOTP authentication
Dashboard πŸ†• Local web dashboard for monitoring and control
External Scheduling Use OS schedulers for automation
Docker Deployment Running in containers
Humanization Anti-detection and natural behavior
Notifications Discord webhooks and NTFY setup
Proxy Setup Configuring proxies for privacy
Troubleshooting Debug common issues and capture logs

πŸ“Š 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 referral link support:

# Create account without referral
npm run creator

# Create account with your referral link
npm run creator https://rewards.bing.com/welcome?rh=YOUR_CODE&ref=rafsrchae

Features:

  • 🎯 Language-independent (works in any language)
  • πŸ” Generates strong passwords automatically
  • πŸ“§ Creates unique email addresses
  • πŸŽ‚ Realistic birthdates (18-50 years old)
  • πŸ€– CAPTCHA support (manual solving required)
  • πŸ’Ύ Saves all account details to accounts-created/ directory

What happens:

  1. Opens browser to Microsoft signup page
  2. Automatically fills email, password, birthdate, and name
  3. Waits for you to solve CAPTCHA
  4. Saves complete account info to file

πŸ“– 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 run 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/
docker compose up -d

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

# Check status
docker compose ps

Container includes:

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

πŸ“– Full 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.

πŸ†˜ Getting Help


⚠️ Disclaimer

Use at your own risk. This script automates interactions with Microsoft Rewards, which may violate Microsoft's Terms of Service. Using automation tools can result in:

  • ⚠️ Account suspension or permanent ban
  • 🚫 Loss of accumulated points and rewards
  • πŸ”’ Restriction from future participation

This project is provided for educational and research purposes only. The developers and contributors:

  • Are not responsible for any actions taken by Microsoft against your account
  • Do not encourage violating terms of service
  • Provide no guarantees regarding account safety

Use responsibly and at your own discretion.


πŸ“„ License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

You may:

  • βœ… Use for personal, non-commercial purposes
  • βœ… Modify the code for your own use
  • βœ… Share with others (with same restrictions)
  • βœ… Submit improvements via pull requests

You may NOT:

  • ❌ Use for commercial purposes
  • ❌ Sell or monetize this software
  • ❌ Remove license/copyright notices

See LICENSE for complete terms.


πŸ™ Acknowledgments


🌟 Support the Project

If you find this project helpful:

  • ⭐ Star the repository on GitHub
  • πŸ’¬ Join our Discord community
  • πŸ› Report bugs and suggest features
  • πŸ“– Contribute to documentation

Made with ❀️ by the community

Documentation β€’ Discord β€’ Issues