Are you tired of watching professional League of Legends games? Do you watch only for the drops?
This tool makes the Chrome browser watch the matches for you!
(Outdated, will be updated in the future)
⚠️ This project utilizes the Google Chrome browser by default. However, there's an experimental support for Firefox and Edge (see Configuration or CLI if you want to use alternative browsers). Please make sure you have the selected browser installed!
CapsuleFarmer.exe
Note: I am using Google Chrome + automatic login + headless. This will be the most stable and preferred configuration.
⚠️ The configuration file (config.yaml) MUST be present in the SAME folder as the executable! To use non-default path, see CLI.
Default configuration:
headless: false
autologin:
enable: false
If you wish to enable automatic login and to run the browser in the background:
headless: true
autologin:
enable: true
username: "YourUsername"
password: "YourPassword"
Experimental support for alternative browsers (default: chrome):
browser: firefox # Other options: chrome, edge
Set delay in seconds between checks for new matches (default: 600):
delay: 600
The program supports multiple accounts by default. However, if you want to use the automatic login + headless mode, the best method to start the program is to use the included batch script.
⚠️ Run the CapsuleFarmer.exe at least once before you attempt to use multiple accounts. Otherwise every instance will try to download the WebDriver and bad things WILL happen.
START CapsuleFarmer.exe -c config.account1.yaml
password: "P@$$w0rd"
; Incorrect: password: P@$$w0rd
Traceback (most recent call last):
File "main.py", line 73, in <module>
File "chromedriver_autoinstaller\__init__.py", line 20, in install
File "chromedriver_autoinstaller\utils.py", line 195, in download_chromedriver
File "chromedriver_autoinstaller\utils.py", line 118, in get_chrome_version
IndexError: list index out of range
[7016] Failed to execute script 'main' due to unhandled exception!
The program can be run in docker composed config. This config is meant to be run on ARMv7 architecture devices such as
Raspberry Pi. Setup starts two containers. The EsportContainerFarmer and Standalone Selenium Firefox (Firefox was
used because it used less memory on my device). The program runs in headless
mode so make sure you have disabled 2FA
for your account. If you have old Raspberry Pi (1GB Ram or less) you should increase your swap memory and increase wait
time multiplier to at least 3
.
git@github.com:kacperkr90/EsportsCapsuleFarmer.git
cd EsportsCapsuleFarmer
docker-compose -f docker-compose.yml -f docker-compose.raspberry-limits.yml up -d
docker-compose -f docker-compose.yml -f docker-compose.synology.yml up -d
api.env
fileAll environment variables are required when run in docker-composed config.
Name | Description |
---|---|
CONTAINERISED | Values true , false . Default false . Has to be set to true to inform the program that it's running inside container |
HEADLESS | Values true , false . Default true . true if you want to run the program in headless mode. To set it to false you have to remove SE_START_XVFB=false lines from docker-compose.yml file. |
AUTOLOGIN_ENABLED | Values true , false . Default true . Has to be set to true . You can theoretically set it to false with SE_START_XVFB=false removed but you will have insert credentials by yourself via Sessions GUI in selenium hub |
BROWSER | Default remote . Set value to remote if you are using docker-compose config. |
USERNAME | Your username |
PASSWORD | Your password. If your password contains special characters such as # you should wrap your password into single quoutes, i.e. PASSWORD='your#password' |
REMOTE_WD_HUB_URL | Selenium hub url. In this docker composed config it's http://firefox:4444/wd/hub |
WAIT_VALUES_MULTIPLIER | This value is an Integer (default 1 ). Multiplies wait values from the main.py script. You should increase this value if your Raspberry Pi device is low on the resources. I have set this to 3 on my Raspberry Pi 2 (1GB RAM). |
DELAY_IN_SECONDS | Default is 600 (seconds). Delay between checks for new matches. |
SE_NODE_SESSION_TIMEOUT | Selenium session timeout (seconds). The SE_NODE_SESSION_TIMEOUT > DELAY_IN_SECONDS ,so if you set your DELAY_IN_SECONDS to i.e. 600 then set your SE_NODE_SESSION_TIMEOUT to 660 . |
cd /your/path/to/this/repo
docker-compose down
git pull
docker-compose build
docker-compose -f docker-compose.yml -f docker-compose.raspberry-limits.yml up -d
usage: CapsuleFarmer.exe [-h] [-b {chrome,firefox,edge}] [-c CONFIGPATH] [-d DELAY]
Farm Esports Capsules by watching lolesports.com.
options:
-h, --help show this help message and exit
-b {chrome,firefox,edge}, --browser {chrome,firefox,edge}
Select one of the supported browsers
-c CONFIGPATH, --config CONFIGPATH
Path to a custom config file
-d DELAY, --delay DELAY
Time spent sleeping between match checking (in seconds)
pip install pipenv
)git clone https://github.com/LeagueOfPoro/EsportsCapsuleFarmer.git
cd EsportsCapsuleFarmer
pipenv install
pipenv run python ./main.py
pipenv install --dev
pipenv run pyinstaller -F --icon=poro.ico ./main.py
Dockerized version for Raspbery Pi by kacperkr90