Stream music & video into voice chats
A self-hosted Telegram bot that streams music & video straight into your group's voice chat โ YouTube, radio, local files, live TV, recording, and full playback controls.
Features
One bot + a dedicated assistant account join the call and stream โ you control it all from chat.
YouTube & files
Play from a search query, a direct URL, or any audio file posted in the chat.
Video & live
Stream videos and live sources (m3u8, YouTube-live) with selectable 720/480/360 quality.
Extra stream resolvers
Drop-in site plugins, plus an optional headless-Chromium fallback that sniffs the stream from JavaScript-only players yt-dlp can't read.
Search picker
/search lists the top results as buttons โ pick one to play as audio or video.
Internet radio
Dozens of built-in stations with the live now-playing track shown on the video feed.
Live TV (IPTV)
/iptv <name> searches 50 000+ channels from the iptv-org public catalogue โ tap a result to stream live.
Recording
Record the radio or a video stream to a voice/video message โ stop anytime, with a live tracklist.
Local library
Browse and play your own media folders, with audio-track and subtitle selection at play time.
Full controls
Pause, skip, seek (+ 25/50/75% jumps), master volume, mute, loop, shuffle, queue, and screenshots โ all from one inline panel or /info.
Hardware transcoding
VAAPI GPU or CPU transcoding handles HEVC/MKV and anything the stream engine can't take raw.
Self-healing
Auto-reconnects after a drop, resumes the last track after a restart, and leaves when idle.
Commands
A few of the essentials โ full list in the bot via /help.
Play
/play <query|url>โ music/vplay <query|url>โ video/vstream <link>โ live / m3u8/search <query>โ results picker/radioโ internet radio/iptv <name>โ live TV (50 000+ channels)/libraryยท/lplayโ local media
Control
/pause/resume/skip/stop/seek 12:30โ jump (or 0/25/50/75% buttons)/volume 0-200โ master volume ยท mute/loop/shuffle/clear/infoโ now playing + controls
Capture & setup
/record [duration | START END]ยท/stoprec/screenshotโ grab the current frame/songยท/videoโ download/userbotjoinยท/reload/topic lock|unlock|statusโ forum topic restriction/aliveยท/ping
Quick start
Runs anywhere Docker does. You'll need a bot token, Telegram API credentials, and a session string for the assistant account.
Clone and configure
git clone https://github.com/antlis/tg-streaming-bot.git
cd tg-streaming-bot
cp example.env .env # fill in the Required block
Build & run
docker compose up -d --build
Play something
In your group: add the bot as admin, start a voice chat, then /userbotjoin and /play <song>.
Prefer Nix? nix run github:antlis/tg-streaming-bot with the same environment variables โ the flake builds Pyrogram, py-tgcalls and the native ntgcalls library for you, and includes a home-manager module.
Full setup, configuration reference, and notes on running where Telegram is filtered are in the README.