MP3 downloader
MP3 downloader
Paste a SoundCloud or YouTube link in an authorized chat, or send /download / /mp3, and the bot replies with the track as a 320 kbps MP3.
Starting a download
Paste a SoundCloud or YouTube link into an authorized chat. No command is needed — the bot detects the link in the message and replies with the track as a Telegram audio file.
/download <link> and /mp3 <link> work exactly like pasting the same link on its own — the command word is ignored whenever the message already contains a recognized link.
Sent bare, with no link, /download and /mp3 get a 45-second reply: Got it — send a SoundCloud or YouTube link and I'll send back the MP3. The reply and your command message are both deleted once the 45 seconds pass.
Where it works
| Setting | Value |
|---|---|
| Authorized chats | The owner's or a bot admin's private chat with the bot, any group the bot is authorized in, or a private chat from a username on the bot's DM-authorized list. |
| Inside an authorized group | Any member can trigger a download by pasting a link — there is no per-user restriction. |
| Everywhere else | Links and /download / /mp3 are ignored with no reply. |
| On/off switch | /menu → ✨ Extra Features → 🎵 MP3 Downloader. One switch for the whole bot, not per group. Default: on. |
Supported links
The bot recognizes SoundCloud and YouTube links, including their short and mobile forms.
Recognized hosts
| Platform | Hosts |
|---|---|
| SoundCloud | soundcloud.com, m.soundcloud.com, on.soundcloud.com, snd.sc |
| YouTube | youtube.com, m.youtube.com, music.youtube.com, youtu.be |
on.soundcloud.com and snd.sc short links are resolved to their full URL before anything downloads.
Playlists: ZIP or individual files
A SoundCloud playlist link (a /sets/ URL) or a YouTube playlist link (/playlist?list=) is detected before any downloading starts. ZIP vs individual MP3s is always a manual choice — nothing about the playlist itself picks one automatically.
What happens
- The bot asks
🎧 Playlist detected — how do you want it?with two buttons: 📦 ZIP File and 🎵 MP3s. - Only the Telegram user who sent the link can choose. Anyone else tapping gets
Only the requester can choose. - The choice expires after 600 seconds; the bot deletes its own prompt at that point.
- Tapping a button starts the download and edits the prompt to
⏳ Downloading playlist as a ZIP file…or⏳ Downloading playlist as individual MP3s…. - While tracks are extracting, the status updates to
⏳ Downloading playlist… {n} track(s) ready, at most once every 4 seconds. - ZIP File: once every track is down, the status becomes
📦 Zipping {n} tracks…, then the .zip is sent as a document. - MP3s: tracks send one per second; the status updates to
🎵 Sending… {n}/{total}every 5 tracks.
A completed ZIP ends with ✅ {title} — {n} tracks, zipped ({size} MB). A completed MP3 run ends with ✅ {title} — sent {n}/{total} tracks.
Unavailable tracks are folded into that closing line: {n} unavailable — DRM/region-locked. Going over the 30-track cap adds capped at first {n} of {total}.
Failure messages
| When | Message |
|---|---|
| All 3 concurrent download slots are busy | ⌛ Queued — waiting for a free download slot… |
| The playlist download exceeds 1500 s | ⚠️ Playlist download timed out. |
| The playlist download fails outright | ⚠️ Couldn't download that playlist — try again. |
| Every track came back over 49 MB | ⚠️ Couldn't send any tracks — they're over Telegram's size limit. |
| The finished ZIP is over 1900 MB | ⚠️ Zip is {n} MB — over Telegram's upload limit. |
| Uploading the ZIP to Telegram fails | ⚠️ Couldn't upload the zip — try again. |
Limits
MP3 downloader limits
| Setting | Value |
|---|---|
| Output | 320 kbps MP3, tagged with title, artist and duration; the bot's own Telegram avatar is embedded as cover art. |
| Telegram upload cap | 49 MB per track |
| Source file cap | 600 MB |
| Max track duration | 3 hours |
| Single-track timeout | 300 s |
| Concurrent downloads | 3, shared bot-wide across single tracks and playlists |
| Per-user cooldown | 20 s, same user + same chat |
| Repeat-link cache | 24 hours — Telegram's own file_id is re-sent instantly, no re-download |
| Playlist track cap | 30 tracks |
| Playlist timeout | 1500 s |
| ZIP upload cap | 1900 MB |
| Playlist choice window | 600 s, then the prompt is deleted |
| Bare-command hint | 45 s, then the hint and your command are both deleted |
Warning
A single-track download (not a playlist) that times out, goes over the 3-hour duration cap, or produces an MP3 over 49 MB gets no reply at all. Playlist failures, above, always edit the status message; single-track failures are silent.
A second link from the same user in the same chat inside the 20-second cooldown also gets no reply.