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 6/3/2025

Tags

telegram music siesta music bot telegram platform bot 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

Support Me ❤️

ko-fi

TON - UQBBPkWSnbMWXrM6P-pb96wYxQzLjZ2hhuYfsO-N2pVmznCG