
ORV Music — A Music Library for Telegram
For a lot of people in Iran, Telegram is where music arrives, and it ends up buried in chats, channels and Saved Messages. With ORV Music you forward a song to @OrvMusicBot and it lands in your library with the title, artist and cover from Telegram's own metadata; the audio stays on Telegram's servers and is streamed from there. The library opens as a Telegram Mini App, in a normal browser, as an installable web app or as an Android app, with playlists, folders, likes, a queue and offline downloads. The bot also takes a song name, a YouTube, Instagram, TikTok, SoundCloud or X link, or a voice note of a song playing nearby, and sends back the track. On top of your own songs, the home screen builds daily mixes, a weekly playlist and a release radar from what you play, like and skip.
// Architecture
One FastAPI process serves the API and the static single-page player and runs the python-telegram-bot poller as a background task, with SQLite in WAL mode for users, tracks, playlists and play history. Inside Telegram, requests are authenticated by checking the HMAC on the Mini App's initData; outside it, by a signed token the bot hands out, with Google sign-in as an optional second way in. Library audio is proxied from the Bot API with HTTP Range support so seeking works. Catalogue data comes from Deezer, lyrics from LRCLIB, song recognition from Shazam, and audio fetched for discovery is cached on disk under a size cap.
// Key capabilities
Your files stay on Telegram
Only metadata is stored; the song is streamed from Telegram on demand, and files over the Bot API's 20 MB limit are refused with a clear message instead of failing silently.
One library, every screen
The same library works as a Mini App, in the browser, as a PWA and as an Android APK; a new device is paired by tapping a one-time link in the bot.
Discovery from your own listening
Daily mixes, a weekly playlist and a release radar are built from play history, likes and followed artists; disliking a song keeps that artist out of future mixes.
A real player
Synced lyrics, an equaliser with presets and loudness normalisation, a sleep timer, shuffle and repeat, offline downloads in the browser, and inline mode to share a library song into any chat.
// Technology stack
- Python / FastAPI
- python-telegram-bot
- SQLite
- Vanilla JS PWA
- Deezer API
// Next step
Need something like ORV Music — A Music Library for Telegram?
Tell us what you're building. We'll reply with how we'd approach it, a rough timeline and the first step.
Start a similar project

