A powerful GUI application telegram media crawler for downloading media files from Telegram channels with support for concurrent downloads, progress tracking, and selective file downloading.
- 📱 Support for both user accounts and bot tokens
- 🔍 Channel scanning with detailed file information
- ✅ Selective file downloading
- 📊 Real-time progress tracking with speed and ETA
- 💨 Concurrent downloads for better performance
- 📁 Custom download location selection
- 🎥 Special handling for videos with duration display
Note:- After entering mobile number (with country code) you'll recive code on your telegram account.
- Python 3.7+
- Telegram API credentials (API ID and Hash)
- Required Python packages:
pip install telethon cryptg PyQt5 humanize
Clone the repository:
git clone https://github.com/ApeSkillx/telegram-media-downloader.git
cd telegram-media-downloaderInstall dependencies:
pip install -r requirements.txt
Run the application:
python bulk_download.py- Enter your Telegram API credentials:
- API ID
- API Hash
- Channel link or username
-
Authenticate using either: Phone number or Bot token
-
Scan the channel and select the files you wish to download.
-
Choose the download location and start the download process.
- Default concurrent downloads: 4
- Supported media types: Documents, Photos, Videos, Audio
- Maximum retry attempts: 3
- Auto-reconnect: Enabled
The application includes robust error handling for the following scenarios:
- Network issues: Automatically retries on network failure
- Authentication failures: Provides clear error messages and prompts for re-authentication
- File download errors: Handles issues with specific files (e.g., permissions or missing files)
- Invalid inputs: Ensures users are notified if invalid credentials or channel information are provided
We welcome contributions! To contribute:
- Fork this repository
- Create a feature branch (git checkout -b feature-branch)
- Commit your changes (git commit -m 'Add new feature')
- Push to the branch (git push origin feature-branch)
- Create a Pull Request
- Please ensure your changes are well-documented and thoroughly tested.
