-
下载python https://www.python.org/
-
安装python的时候,切记勾选
Add python xx to PATH
和 点击Disable path length limit
-
打开CMD输入
python
验证是否安装成功 -
下载脚本 telegram media downloader 点击Sourse.zip 进行下载最新版本
-
将下载的脚本解压到非中文目录
-
前往 https://my.telegram.org/apps 注册并获得id和hash,这一步很多人都卡住了,网上搜索了很多办法,比如切换魔法地区,用手机尝试,用浏览器的隐私模式(因为浏览器屏蔽广告等插件影响),APP名称和简称不要有空格且是字母数字格式,最终在香港的VPS上多点了一会儿才成功。
-
获取聊天ID
-
使用网址获取(不推荐)
打开 https://web.telegram.org/?legacy=1#/im
现在转到聊天/频道,您将看到类似的 URL
https://web.telegram.org/?legacy=1#/im?p=u853521067_2449618633394 这 853521067 是聊天ID。
https://web.telegram.org/?legacy=1#/im?p=@somename 这 somename 是聊天ID。
https://web.telegram.org/?legacy=1#/im?p=s1301254321_6925449697188775560 这里取 1301254321 并添加-100到 id => 的开头-1001301254321。
https://web.telegram.org/?legacy=1#/im?p=c1301254321_6925449697188775560 这里取 1301254321 并添加-100到 id => 的开头-1001301254321。 -
使用机器人
使用 @username_to_id_bot 获取chat_id(将链接用telegram打开即可)
几乎所有电报用户:将用户名发送给机器人或将他们的消息转发给机器人
任何聊天:发送聊天用户名或复制并将其加入聊天链接发送到机器人
公共或私人频道:与聊天相同,只需复制并发送到机器人
总结:只需要转发需要下载的频道的任何一个消息给机器人即可
将id:后面的内容复制出来(减号也是需要复制出来的)
- 配置telegram media downloader
修改解压好的目录中的config.yaml。内容如下
api_hash: 你的api_hash
api_id: 你的api_id
chat_id: telegram_聊天_id
last_read_message_id: 0
ids_to_retry: []
media_types:
- audio
- photo
- video
- document
- voice
- video_note
file_formats:
audio:
- all
document:
- all
video:
- all
- api_hash - 之前步骤网页获得的 api_hash
- api_id - 之前步骤网页获得的 api_id
- chat_id - 您要下载媒体的聊天/频道的 ID。您可以从上述步骤中获得。
- last_read_message_id - 如果这是您第一次阅读数字频道,或者自然而然,0或者已经在使用此脚本下载媒体,随后可以自动更改一些在成功播放的内容。不要它。
- ids_to_retry -Leave it as it is.下载器脚本使用它来跟踪所有跳过的下载,以便可以在下次执行脚本时下载。
- media_types - 要下载的媒体类型
- file_formats - 为支持的媒体类型下载的文件类型,audio包括document和video. 默认格式是all,下载所有文件。
- 举个栗子我想要下载视频和照片,我可以如下配置
- (注意:后面都要有空格)
api_hash: 022bfece4be22fbd8af27a98b2a37b
api_id: 129323
chat_id: -1001766584706
last_read_message_id: 0
ids_to_retry: []
media_types:
- audio
- video
file_formats:
audio:
- all
video:
- all
- 配置代理(如需)
如果需要配置代理访问,则需要向config.yaml加入proxy: scheme: socks5 hostname: 代理ip port: 代理端口 username: 代理用户名 password: 代理密码
如果您的代理不需要授权,您可以省略用户名和密码。然后代理将自动启用。
举个栗子,如果我的使用clash默认参数
proxy:
scheme: socks5
hostname: 127.0.0.1
port: 7890
username:
password:
和之前的拼接一下
api_hash: 022bfece4be22fbda68f27a98b2a37b
api_id: 1299423
chat_id: -1001766584706
last_read_message_id: 0
ids_to_retry: []
media_types:
- audio
- video
file_formats:
audio:
- all
video:
- all
proxy:
scheme: socks5
hostname: 127.0.0.1
port: 7890
username:
password:
- 登录Telegram
在解压好的目录内,按住shift键
同时右键
,选择在cmd
打开 或者终端
打开 或者powershell
打开(三种方式都可以)。
然后输入,并回车,等待依赖安装完成
pip3 install -r requirements.txt
- 安装依赖的时候,我遇到了报错,经过搜索解决办法如下
下载 Microsoft C++ 生成工具 后,安装Visual Studio 生产工具
然后再执行 上面的依赖安装代码即可成功
继续,输入
python media_downloader.py
当看到Enter phone number or bot token时输入你的手机号,如果是大陆手机号请在前面加入+86,输入完成后回车,然后会问is correct?输入y并回车
然后The confirmation code has been sent via Telegram app这里需要去telegram看一下验证码是多少,输入进来并回车,即可开始下载