Telegram Bulk Media Downloader is a Python-based tool that allows users to download various types of media files (videos, images, PDFs, ZIPs, etc.) from Telegram channels and groups. The downloader supports resumable downloads, batch processing, and progress tracking, making it ideal for managing large volumes of media efficiently.
- Batch Processing: Downloads media in configurable batches for better resource management.
- Multi-Media Support: Supports videos, images, PDFs, ZIP files, and more.
- Progress Tracking: Displays detailed progress bars for each download.
- Configurable Settings: Easily customizable batch size and session settings via
.env
file. - Cross-Platform: Runs on Windows, macOS, and Linux.
- Lightweight: Requires only Python and a few libraries to run.
Here are some screenshots demonstrating the tool in action:
- Python 3.8+
- Telegram API credentials (API ID and API Hash)
-
Clone the repository:
git clone https://github.com/vinodkr494/telegram-media-downloader.git cd telegram-media-downloader
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file and configure it:API_ID=your_api_id API_HASH=your_api_hash SESSION_NAME=default_session BATCH_SIZE=5
-
Run the script:
python src/downloader.py
-
Start the script:
python src/downloader.py
-
Enter the Telegram channel username or group link when prompted.
-
Select the type of media to download (e.g., videos, images, PDFs).
-
Watch as your files are downloaded with detailed progress bars!
The downloader automatically saves the progress of completed files in a download_state.json
file. To resume downloads, simply restart the script, and it will skip already downloaded files.
To adjust the number of files downloaded in parallel, update the BATCH_SIZE
value in the .env
file.
The tool supports the following media types:
- Videos
- Images
- PDFs
- ZIP files
- Any other Telegram media
- Resumable Downloads: Automatically resumes downloads from where they stopped.
- Add support for audio files.
- Retry mechanism for failed downloads.
- Build a GUI for non-technical users.
We welcome contributions of all kinds! Please see the CONTRIBUTING.md file for details on how to get started.
This project is licensed under the MIT License. See the LICENSE file for details.
- Telethon - For making Telegram API integration easy.
- TQDM - For elegant progress bars.
- Colorama - For colorful console output.
Made with ❤️ by Vinod Kumar.