Twitchrise Bot for Telegram - Notifications for Twitch Channels going live or offline
This is a narrowed down version of my other general use project Twitchrise for the express use as an interactive bot on Telegram.
This project aims to make one bot for multiple users, where Twitchrise uses an .env to define variables and is only catered for a single user running the script for themselves. Running one instance of this bot multiple users can: -
- Add channel to monitor (
/add <channelname>) - Remove channels to monitor (
/remove <channelname>) - List all the channels they have added to monitor (
/list) - Add additional Apprise endpoints (
/setapprise <URL>) - Remove added Apprise endpoints (
/rmapprise <number>) - List added Apprise endpoints (
/listapprise)
Apprise endpoints and their formats can be seen here.
The bot admin can define the interval in seconds the bot will poll Twitch to check if the channels are live or not in the .env file. Although this restricts the usage of Twitchrise primarily through Telegram, I am a fan of Telegram and use it in my workflow extensively enough to warrant this usecase.
Also available on Docker Hub - driftywinds/twitchrise-bot:latest
How to use: -
- Download the
compose.ymland.envfiles from the repo here. - Go to https://dev.twitch.tv/console and register a new application. You can name it anything, but the client type should be
confidential, that will give you a client ID and client secret. - Customise the
.envfile and use the client ID and client secret from above. - Run
docker compose up -d.
You can check logs live with this command: -
docker compose logs -f
For dev testing: -
- have python3 installed on your machine
- clone the repo
- go into the directory and run these commands: -
python3 -m venv .venv
source .venv/bin/activate
pip install --no-cache-dir -r requirements.txt
- configure
.envvariables. - then run
python3 bot.py