███╗   ███╗███████╗    ███████╗ █████╗ ██████╗ ███╗   ███╗███████╗██████╗ 
████╗ ████║██╔════╝    ██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝██╔══██╗
██╔████╔██║███████╗    █████╗  ███████║██████╔╝██╔████╔██║█████╗  ██████╔╝
██║╚██╔╝██║╚════██║    ██╔══╝  ██╔══██║██╔══██╗██║╚██╔╝██║██╔══╝  ██╔══██╗
██║ ╚═╝ ██║███████║    ██║     ██║  ██║██║  ██║██║ ╚═╝ ██║███████╗██║  ██║
╚═╝     ╚═╝╚══════╝    ╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═╝
        built by @charlesbel upgraded by @farshadz1997      version 2.0

👋 Welcome to the future of automation

A simple bot that uses selenium to farm Microsoft Rewards written in Python.

Installation

You can also find this repository on Gitlab.

  • Install requirements with the following command :
    pip install -r requirements.txt
  • Make sure you have Chrome installed
  • Install ChromeDriver :
    • Windows :
    • MacOS or Linux :
      • apt install chromium-chromedriver
      • or if you have brew :
        brew cask install chromedriver
  • Edit the accounts.json.sample with your accounts credentials and rename it by removing .sample at the end
    If you want to add more than one account, the syntax is the following (mobile_user_agent is optional):
    [{
            "username": "Your Email",
            "password": "Your Password",
            "mobile_user_agent": "your preferred mobile user agent"
        },
        {
            "username": "Your Email 2",
            "password": "Your Password 2",
            "mobile_user_agent": "your preferred mobile user agent"
    }]
  • Due to limits of Ipapi sometimes it returns error and it causes bot stops. So you can define default language and location to prevent it from here.
  • Run the script
    • Use optinal arguments
      • --headless You can use this argument to run the script in headless mode.
      • --session Use this argument to create session for each account.
      • --everyday TIME This argument takes time in 24h format (HH:MM) to run it everyday at the given time by leaving the program open.
      • --fast This argument reduces delays of script and make it faster (use this if you have high speed connection).
      • --error When you use this argument, app displays crash error in terminal when it fails.
      • For example type in your terminal python ms_rewards_farmer.py --everyday 14:30 --fast --session You don't need to use all of arguments.
    • Run the script normally that session and headless disabled and it asks you to input a time if you want to run it at a specific time.

Features

  • Bing searches (Desktop, Mobile and Edge) with User-Agents
  • Complete automatically the daily set
  • Complete automatically punch cards
  • Complete automatically the others promotions
  • Headless Mode
  • Multi-Account Management
  • Modified to be undetectable as bot
  • If it faces to an unexpected error then try the account from first
  • Save progress of bot in a log file and use it to pass completed account on the next start at the same day
  • Detect suspended accounts
  • Detect locked accounts
  • Detect unusual activites
  • Uses time out to prevent infinite loop
  • You can assign custom user-agent for mobile like above example
  • Set clock to start it at specific time
  • For Bing search it uses random word at first try and if api failed then it uses google trends

⚠️CAUTION!⚠️

Do not use headless mode, it can cause your account to be suspended from Microsoft Rewards.