Our take
- Activity
- 20
- Community
- 50
- Issues
- 47
- Pull requests
- 21
+19 stars in the last 8 days
Overview
telegram_media_downloader downloads media from Telegram conversations, including chats, groups, and channels, and saves it to a configured local path. It supports media files up to 2 GiB per file according to the repository description.
It can run as a one-time downloader or as a bot-driven service, and provides a web interface for viewing download progress. It is aimed at people who need to archive or organize media from Telegram conversations they can access, rather than download individual files manually.
Key Features
- Downloads audio, documents, photos, videos, video notes, voice messages, and animations.
- Reads configured chat or channel history, with filters such as message date ranges.
- Offers a web interface for download progress and optional password protection.
- Supports bot commands to start downloads or forward media.
- Organizes saved files using configurable folder and filename components.
- Can upload files to cloud storage through supported adapters, including rclone and Ali cloud disk.
- Supports SOCKS4, SOCKS5, and HTTP proxies.
Use Cases
- Telegram channel administrators archiving media from channels they manage.
- Users backing up files from groups or chats they have joined, including eligible private groups.
- People who want to collect specific media types or date ranges without manually saving each item.
- Self-hosters who want to monitor downloads in a browser or initiate them through a Telegram bot.
Getting Started
The README documents Python 3.7+ and installation with make on supported Unix-like systems:
git clone https://github.com/tangyoha/telegram_media_downloader.git
cd telegram_media_downloader
make install
For Windows, the README gives a pip3 install -r requirements.txt alternative. Configure Telegram API credentials and the chats to download in config.yaml, then see the README for Docker setup, bot configuration, and other options.
Considerations
- A Telegram API ID and API hash are needed, and bot mode also requires a bot token.
- Downloads are limited to conversations the configured Telegram account can access. Private-group access does not bypass Telegram permissions.
- The project description advertises support up to 2 GiB per file; storage capacity and network availability remain practical constraints.
- The README states Python 3.7+ despite the repository metadata listing JavaScript as its language.
- Web access can be exposed beyond the local machine by changing
web_host; configure access controls carefully before doing so.
Found this useful?
Share it with someone who would like telegram_media_downloader.