AIO Bot for your music needs on Telegram.
Note: This is not a music streaming / VC Bot
Currently the project is in early development stage and features are incomplete
Feels free to check the repo and report bugs / features
- Clone the repo (download it or git clone)
Requirements
- Python>=3.10 (3.12 recommended)
- Rclone (optional)
Create virtual environment and run
virtualenv -p python3 VENV
. ./VENV/bin/activate
Edit and fill out the essentials environment variables in sample.env
(refer here)
Rename sample.env
to .env
Finally run
pip install -r requirements.txt
python -m bot
Requirements
- Docker installed
Edit and fill out the essentials environment variables in sample.env
(refer here)
Rename sample.env
to .env
Make docker image
sudo docker build . -t projectsiesta
Run the docker image
sudo docker run -d --name siesta projectsiesta
You can find prebuilt images using github actions at Dockerhub repo - weebzbots/project-siesta
Tags:
latest
- latest built from main brachbeta
- latest beta updates (for testing)
You can use commit-hash as tag for specific versions
Pull the docker image using
sudo docker pull weebzcloud/project-siest
Create a .env
file with essential variables (refer here)
Run the docker image
sudo docker run -d --env-file .env --name siesta projectsiesta
TG_BOT_TOKEN
- Telegeam bot token (get it from BotFather)APP_ID
- Your Telegram APP ID (get it from my.telegram.org)(int)
API_HASH
- Your Telegram APP HASH (get it from my.telegram.org)(str)
DATABASE_URL
- Postgres database URL (self hosted or any service)(str)
BOT_USERNAME
- Your Telegram Bot username (with or without@
)(str)
ADMINS
- List of Admin users for the Bot (seperated by comma)(str)
DOWNLOAD_BASE_DIR
- Downloads folder for the bot (folder is inside the working directory of bot)(str)
LOCAL_STORAGE
- Folder (full path needed) where you want to store the downloaded file the server itself rather than uploading(str)
RCLONE_CONFIG
- Rclone config as text or URL to file (can ignore this if you add file manually to root of repo)(str)
RCLONE_DEST
- Rclone destination asremote-name:folder-in-remote
(str)
INDEX_LINK
- If index link needed for Rclone uploads (testes with alist) (no trailing slashes/
)(str)
MAX_WORKERS
- Multithreading limit (kind of more speed)(int)
TRACK_NAME_FORMAT
- Naming format for tracks (check metadata section for tags supported)(str)
PLAYLIST_NAME_FORMAT
- Similar toTRACK_NAME_FORMAT
but for Playlists (Note: all tags might not be available)(str)
QOBUZ_EMAIL
- Email ID for logging into Qobuz(str)
QOBUZ_PASSWORD
- Password for logging into Qobuz(str)
QOBUZ_USER
- User ID for Qobuz (either use Email or this)(int)
QOBUZ_TOKEN
- User token for Qobuz (either use password or this)(str)
ENABLE_TIDAL
- To enable the Tidal module - True/False(bool)
TIDAL_MOBILE
- To enable Tidal Mobile sessions - True/False(bool)
TIDAL_MOBILE_TOKEN
- HiRes Mobile token for Tidal(str)
TIDAL_ATMOS_MOBILE_TOKEN
- Atmos Mobile token for Tidal(str)
TIDAL_TV_TOKEN
- TV/Auto Token for Tidal(str)
TIDAL_TV_SECRET
- TV/Auto Token for Tidal(str)
- OrpheusDL - https://github.com/yarrm80s/orpheusdl
- Streamrip - https://github.com/nathom/streamrip
- yaronzz - Tidal-Media-Downloader - https://github.com/yaronzz/Tidal-Media-Downloader
- vitiko98 - qobuz-dl - https://github.com/vitiko98/qobuz-dl
TON - UQBBPkWSnbMWXrM6P-pb96wYxQzLjZ2hhuYfsO-N2pVmznCG