logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Project-Siesta logo

kamileecher

No License

Quick Info

GitHub GitHub Stars 0
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

telegramsocialsiestatelegram integratesmusic botbot telegram

Project-Siesta

GitHub Repo stars GitHub forks Docker Pulls Static Badge

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 branch - beta - 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 as remote-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 to TRACK_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 ❤️

ko-fi

TON - UQBBPkWSnbMWXrM6P-pb96wYxQzLjZ2hhuYfsO-N2pVmznCG

See Also

`