jw-dev.pro
All work
/work/jw-social-downloader/

jw_social_downloader

Bot · Product

5 platforms3 currenciesFreemium + admin
@jw_social_Downloader_bot

Task

This is my own product, not a client project: a public bot used by strangers who press every button there is. So it has to survive load, the moods of five platforms at once and Telegram's limits — and still explain to a person what went wrong, without a raw traceback.

What I did

I wrote an asynchronous bot on aiogram 3 with a freemium model: three free downloads, then a 30-day subscription paid in USDT, dong or baht. Under the hood it picks formats per platform separately, falls back to `gallery-dl` where `yt-dlp` fundamentally cannot cope, caps concurrency with a semaphore of three and throttles flooding with middleware.

Result

The bot is live: open the link, send a post address, and it returns the media. It has an admin panel with manual subscription grants, human-readable error messages instead of tracebacks, and a single-command start through docker-compose.