Project Siesta
Create a music bot for Telegram that integrates with various music services and manages music libraries. Designed for music enthusiasts, it offers tools for music management and organization within the Telegram platform.
Author

kamileecher
Quick Info
Actions
Tags
Project-Siesta
AIO Bot for your music needs on Telegram.
Note: This is not a music streaming / VC Bot
FEATURES
Currently the project is in early development stage and features are incomplete
Feels free to check the repo and report bugs / features
A complete guide for downloading (coughs..) ehmm.... can be found here
INSTALLATION
1) LOCAL DEPLOYMENT
Requirements
- Python>=3.10 (3.12 recommended)
- Git installed (optional)
- Rclone (optional)
- ffmpeg (optional)
Steps
- Git clone (or download) the repo
- 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
2) USING DOCKER (Manual Build)
Requirements
- Git installed (optional)
- Of course Docker installed (how would ya do docker method without docker 🤷)
Steps
- Git clone (or download) the repo
- Fill out the required variables in
sample.env
(refer here) - Build the image using the Docker build command
sudo docker build . -t project-siesta
- Now run the created Docker image
sudo docker run -d --env-file sample.env --name siesta project-siesta
- At this point your bot will be running (if everything correct)
3) USING DOCKER (Prebuilt Image)
Premade Docker Images are available at Dockerhub repo weebzbots/project-siesta
These images are made using GitHub Actions
- Supported architectures
arm64
amd64
- Build Tags
latest
- Latest stable releases from main branchbeta
- Latest beta releases from beta branch (early feature testing)<commit-hash>
- You can use specific commit hash for specific versions
Requirements
- Of course Docker installed (how would ya do docker method without docker 🤷)
Steps
- Pull the Docker image
sudo docker pull weebzcloud/project-siesta
- Somewhere in your server, create a
.env
file with required variables (refer here) - Run the image
sudo docker run -d --env-file .env --name siesta project-siesta
- At this point your bot will be running (if everything correct)
VARIABLES INFO
ESSENTIAL VARIABLES
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 space)(str)
OPTIONAL VARIABLES
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)
TIDAL_CONVERT_M4A
- Convert the MAX quality tracks to FLAC(bool)
CREDITS
- 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
Support Me ❤️
TON - UQBBPkWSnbMWXrM6P-pb96wYxQzLjZ2hhuYfsO-N2pVmznCG