A bot for music streaming where users in charge of what is playing!
This bot can:
- Take orders from: Telegram and/or Discord
- Stream music to: http stream and/or Discord
- Download tracks from: YouTube, direct links, search request
- Fetch lyrics from: lyrics.wikia.com
- Export some prometheus metrics
- Moderate users with telegram admin
You can also access web page with music stream (look for nginx.conf
)
Note: In order for Telegram bot to work you must enable inline mode and set inline feedback to 100
Configuration is done via .ini file and --config-file
(-f
) option.
By default config.ini
from working directory is taken .
Also every parameter can be set with env variable. Env variables have more priority over .ini file values
Env variables should be in this format in order to work:
DJ_<config.ini_section>_<parameter_name>
For example: DJ_web_server_listen_port
To launch this bot in a docker it's advised to use
docker-compose.override.yml
. Exampl of file:
version: '2'
services:
app:
environment:
DJ_telegram_token: 123456789:abcdefghijklemopqrstuvwxyz123456789
nginx:
ports:
- 8080:80
To make some user an admin you must:
- Interact at least once with Telegram or Discord
- Open the
dj_brain.db
- Edit the user.superuser field Later on you have access to admin menus in telegram
Before first launch you must create databases by running create_db.py
.
To launch this bot simply run run.py
with some standard configuration.
To launch in docker simply run docker-compose up
You are welcome!