This is an app that watches League streams for you on YouTube! Now less experimental, but issues may still occur.
Uses actual browser (Google Chrome or Brave) to watch streams.
No Contenders skins support as Contenders skins are earned via Twitch drops - not watching on YouTube. To earn Contenders skins in the same automated fashion, try this app.
- Automatic live broadcast detection — don't worry about "when" and "where"
- Multiple accounts support — you just need multiple Google accounts
- Headless mode — see only a console window (as before) if extra Chrome window is bothering you
- No sound — Chrome will be muted entirely
- Easy setup on Windows, macOS and Linux (GUI)
- Automatically set broadcast quality to 144p, so it doesn't consume a lot of bandwidth (current workaround: set stream quality by yourself, YouTube should remember your choice)
- Script for updating
Mobile phones support
This bot uses undetected-chromedriver under the hood that requires either Google Chrome or Brave to be installed.
To use Brave (or if your Google Chrome installation could not be found),
set chromium_binary
field in config.json
to your browser's executable path.
Firefox is not supported (support can be technically implemented, but Google will be able to detect automation).
- Download the latest executable for your OS here.
- Unpack zip anywhere you want.
- Run
ow-league-tokens
to open the app. - Windows: Ignore Windows Defender's complaints about "unknown publisher". Also, you may need to add this app to your antivirus exceptions.
You need to have GUI to log into your Google account(s)! There is no good way to run this app without a GUI. Best option would be to just install GUI on your Linux and log in using GUI.
You have been warned! If you want to play with it, then see instructions for Docker.
Make sure you have connected Battle.net account(s) to Google account(s) on this page!
- Start the bot using a first menu option. You should see Chrome window(s) opening, with text in console guiding you.
- When you see Google's login screen - log in to your account.
- Then you should be redirected to the YouTube page, and bot will confirm that everything is OK by writing a success message in console.
Sometimes you may see "new version available" message in your console. It probably means that I've fixed something.
Bot can be updated without losing your profile(s) data (no need to login into Google again):
- Download the latest version from here.
- Either:
- Unpack it anywhere you want and move
config.json
file andprofiles
directory from an old version to new one... - or move new files to old directory, replacing old files with new ones.
- Unpack it anywhere you want and move
- Use
--nomenu
(orStart_Without_Menu.bat
on Windows) to run the app without a menu using yourconfig.json
file. - Use
--nowait
for a script to close immediately after an error (without--nowait
you have to manually press Enter for script to close after an error) - Use
--profiles
to specify profiles you want this app to use (works only with--nomenu
argument). Usage:--nomenu --profiles my-main friends-acc
- There is also a specific flag for Docker that may solve some issues under Linux:
--docker
(includes some Chromium flags, works only with--nomenu
argument)
This application supports Docker (sort of, I couldn't make profiles reusable),
track progress on Docker support here!
You can either build it by using the supplied docker-compose.yml
or Dockerfile
.
- Clone this repository using
git clone https://github.com/ucarno/ow-league-tokens
- Go to app's directory using
cd ow-league-tokens
- Edit
docker-entrypoint.sh
to include your profile names if needed.
- Make sure Docker Compose is installed on your machine! More info here.
docker compose up -d
- build container using the Dockerfiledocker compose ps
to verify if container is runningdocker compose logs -f
to view container's logs
docker build -t ow-league-tokens .
to build container using the Dockerfile.docker run -d -v ./src/profiles:/profiles ow-league-tokens:latest
to start new container using the image.docker container ls
to verify if container is runningdocker logs ow-league-tokens
to view container's logs
It just may happen to you. If you restart the app and see green "Authentication check has been passed" text, then everything is OK.
At the current state, bot will watch ALL streams on OWL channel, no matter if they give tokens or not. I may implement watching only token-giving streams in the future.
Then open new issue and I will look into this.
Feel free to contribute by opening new issue, making a pull request or buying me a coffee. Thanks to everyone for using this bot, contributing, leaving feedback and helping other people in our Discord!
- Fixed macOS certificate setup
- Added option to shut down PC after stream (required root on Linux)
- Fixed stuck Brave browser headless windows not closing on app start
- "Fixed" some weird non-descriptive errors from crashing app by restarting the entire app when it crashes. Probably need to migrate to Playwright to actually solve these issues.
- Finally added Docker support (good luck)
- Added build scripts for Windows, Linux and macOS
- Disabled
HardwareMediaKeyHandling
feature which captured hardware media key presses (you need to delete yourconfig.json
file for this to take effect). - Executables are now shipped with new sick icon:
- (Probably) Fixed a crash when trying to run multiple headless profiles
- Fixed an issue when app would not start if there are headless Chrome windows left from previous run (Windows only)
- Now showing better error when browser executable can't be found (related)
- App now waits for
Enter
key press after exception (can be disabled via--nowait
argument) - Fixed issue with app crashing when Chrome is not the last version
- Stream will now be refreshed every 15 minutes in case it crashes
- Added experimental support of other Chromium-based browsers (via
chromium_binary
field inconfig.json
) - Chromium flags can be now modified using
chromium_flags
field inconfig.json
- Improved menu experience
- Minor fixes
- Bot now works through YouTube
- Legacy version worked using OWL website
This app is not affiliated with Blizzard Entertainment, Inc. All trademarks are the properties of their respective owners.
2023 Blizzard Entertainment, Inc. All rights reserved.