/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
  1. Make sure the path to chromedriver executable is correctly set in settings.json
"chromedriver_path": "C:\\Program Files (x86)\\chromedriver.exe"
  1. (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

Syntax Description
-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.

Syntax Description
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 No browser gui required
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.