Download all media files from a conversation or a channel that you are a part of from telegram. A meta of last read/downloaded message is stored in the config file so that in such a way it won't download the same media file again.
Category | Support |
---|---|
Language |
Python 3.7 and above |
Download media types | audio, document, photo, video, video_note, voice |
For *nix os distributions with make
availability
$ git clone https://github.com/Dineshkarthik/telegram_media_downloader.git
$ cd telegram_media_downloader
$ make install
For Windows which doesn't have make
inbuilt
$ git clone https://github.com/Dineshkarthik/telegram_media_downloader.git
$ cd telegram_media_downloader
$ pip3 install -r requirements.txt
All the configurations are passed to the Telegram Media Downloader via config.yaml
file.
Getting your API Keys: The very first step requires you to obtain a valid Telegram API key (API id/hash pair):
Getting chat id:
1. Using web telegram:
https://web.telegram.org/?legacy=1#/im?p=u853521067_2449618633394
here 853521067
is the chat id.https://web.telegram.org/?legacy=1#/im?p=@somename
here somename
is the chat id.https://web.telegram.org/?legacy=1#/im?p=s1301254321_6925449697188775560
here take 1301254321
and add -100
to the start of the id => -1001301254321
.https://web.telegram.org/?legacy=1#/im?p=c1301254321_6925449697188775560
here take 1301254321
and add -100
to the start of the id => -1001301254321
.2. Using bot:
api_hash: your_api_hash
api_id: your_api_id
chat_id: telegram_chat_id
last_read_message_id: 0
ids_to_retry: []
media_types:
- audio
- document
- photo
- video
- voice
file_formats:
audio:
- all
document:
- pdf
- epub
video:
- mp4
0
or if you have already used this script to download media it will have some numbers which are auto-updated after the scripts successful execution. Don't change it.Leave it as it is.
This is used by the downloader script to keep track of all skipped downloads so that it can be downloaded during the next execution of the script.audio
, document
and video
. Default format is all
, downloads all files.$ python3 media_downloader.py
All the downloaded media will be stored inside respective direcotry named in the same path as the python script.
Media type | Download directory |
---|---|
audio | path/to/project/audio |
document | path/to/project/document |
photo | path/to/project/photo |
video | path/to/project/video |
voice | path/to/project/voice |
voice_note | path/to/project/voice_note |
socks4, socks5, http
proxies are supported in this project currently. To use it, add the following to the bottom of your config.yaml
file
proxy:
scheme: socks5
hostname: 11.22.33.44
port: 1234
username: your_username
password: your_password
If your proxy doesn’t require authorization you can omit username and password. Then the proxy will automatically be enabled.
Read through our contributing guidelines to learn about our submission process, coding rules and more.
Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing.
Help us keep Telegram Media Downloader open and inclusive. Please read and follow our Code of Conduct.