/auto-lingo

A Duolingo Bot for automatic XP earning

Primary LanguagePythonMIT LicenseMIT

Auto-lingo

A Duolingo Bot for automatic XP earning.

Auto-lingo works in both the Learn mode and the Stories mode.

Built with Python and Selenium.

Modes

Learn mode

Completes every available skill until it is fully leveled up.

learn

Stories mode

Completes every available story as long as it gives XP.

stories

Getting Started

Prerequisites

You will need Python, Selenium, Chrome and Chromedriver installed.

Installing Selenium

$ pip install selenium

Installing Chromedriver

  1. Check your version of Chrome by going here and following the 3 steps in "How to check your version of Chrome".
  2. Go here and download the right version of chromedriver.
  3. Place the downloaded chromedriver executable in default path given in settings.json under "chromedriver_path"
    OR
    change the path in settings.json to point to the chromedriver executable.

Installation

  1. Download the ZIP file or clone the repository

    $ git clone https://github.com/drknzz/auto-lingo.git
  2. Make sure the path to chromedriver executable is correctly set in settings.json

    "chromedriver_path": "C:\\Program Files (x86)\\chromedriver.exe"
  3. (Optional) Save both your login / mail and password to Duolingo in credentials.json

    "login": "example@mail.com",
    "password": "example"

Usage

$ python auto-lingo.py

Additional flags:

  • -s or --stories   - Stories mode
  • -l or --learn    - Learn mode
  • -i or --incognito   - Start browser in incognito mode
  • -m or --mute       - Start browser with muted audio
  • -a or --autologin   - Automatically login using credentials.json

Settings

Settings are located in settings.json file.

  • chromedriver_path   - Path to chromedriver executable
  • antifarm_sleep      - Sleep time inbetween completing stories / skills
  • deviation      - Deviation of antifarm_sleep time for harder bot detection
  • maximize_window    - Start browser in full screen
  • headless            - No browser gui required
  • incognito          - Start browser in incognito mode
  • auto_login        - Automatically login to Duolingo using data in credentials.json
  • mute_audio        - Start browser with muted audio

Acknowledgments

Huge thanks to Kubvv for countless tests which led to bug and corner case finds.

License

Auto-lingo is distributed under the MIT License.