About this project

Music Bot is a Telegram companion for your Navidrome library. It lets you paste a link from services like Tidal, Spotify, Apple Music, Deezer, YouTube Music, SoundCloud, Amazon Music, or Shazam and automatically identifies the track or album, finds a lossless copy on the Soulseek P2P network via slskd, tags it with full metadata (artist, album, track numbers, genres, ReplayGain, cover art, synced lyrics), and places the files into your library. A minute later the music is playable in Navidrome. Key capabilities include: • Downloading albums/tracks in FLAC, with an optional mp3 fallback (≥320 kbps) if no lossless peer is available. • Picky source selection: each candidate is duration‑checked against Deezer data and scored for confidence and peer reliability. • Rich tagging: Deezer metadata combined with Last.fm community tags for nuanced genres. • Library management: `/retag` refreshes tags across the whole collection, `/scan` rescans Navidrome, `/stats` shows size, and `/help` lists commands. • Inline search: type `@yourbot <query>` to search Deezer, your Navidrome library, or issue commands like `np` (send current track), `s` (share link), `l` (lyrics), `del <name>` (remove an album). • Local uploads: drop a zip or folder into the bot’s upload page or `./bot-data/uploads/` for the same tagging and deduplication pipeline. • Privacy: only Telegram user IDs listed in `ALLOWED_USERS` can interact. Setup is a two‑service Docker Compose stack (slskd and music‑bot) with configuration in `.env`. The bot communicates with slskd over its REST API, uses Deezer’s free API for metadata, and respects quality caps (`MAX_BIT_DEPTH`, `MAX_SAMPLE_RATE_HZ`, `MAX_FILE_BYTES`). Optional proxy support and a local upload HTTP port are available. Usage is straightforward: paste a music link to start a download, add `re` to re‑download an existing item, or use inline mode for quick searches and playback actions. The bot provides real‑time status updates in Telegram, showing which peer was selected, track progress, and final results. Overall, Music Bot automates the process of acquiring, tagging, and integrating new music into Navidrome while giving you playback controls and lyrics directly from Telegram.