Skip to content

Latest commit

 

History

History
359 lines (221 loc) · 18.8 KB

File metadata and controls

359 lines (221 loc) · 18.8 KB

logo

Telegram_Restricted_Media_Downloader

A telegram downloader on windows and linux platform based on Python.

Python 3.13.2 pyrogram@kurigram 2.1.39 Platform Windows & Linux

Note

由于本项目没有提供Linux环境下的二进制文件,但支持Linux环境运行。
故Linux用户请阅读:"3.0.在生产环境中运行(对于Linux用户)"

作者:Gentlesprite

B站视频教程:点击观看

Telegram交流群:点击加入

软件免费使用!并且在GitHub开源,如果你付费那就是被骗了。

1.0.下载地址:

蓝奏云:点击跳转下载 密码:ceze

Github:点击跳转下载

1.1.(选看)推荐终端:

  1. 对于Windows11用户Windows Terminal默认已经安装好,可直接跳过此步骤。

  2. 对于Windows10用户,推荐使用Windows Terminal作为默认终端,仅作为推荐安装,无论安装与否不会影响本软件的使用Windows Terminal能提供更出色的显示、交互、体验效果,以及避免出现文字显示乱码。

    Windows Terminal 微软商店:点击跳转下载

    Windows Terminal Github:点击跳转下载

  3. 下载完成完成后win+r输入wt回车打开,然后将Windows Terminal设为默认终端再启动软件,教程如下:

    image

    image

2.0.快速开始:

2.1.申请电报API:

  1. 前往网站:https://my.telegram.org/auth

  2. 填写自己绑定Telegram电报的手机号注意手机号格式先要+地区再写入电话号码例如+12223334455+1为地区,222333445为你绑定Telegram手机号,填写后点击Next

    image

  3. 打开你的Telegram客户端,此时会收到来自Telegram账号的消息,将上面的验证码填入Confirmation code框中,然后点击Sign in

    image

    image

  4. 点击API development tools按照提示填入即可。

    image

  5. 申请成功会得到一个api_hashapi_id保存下载,切记不要泄露给任何人!

2.2.(选看)电报机器人(bot_token)申请及使用教程:

Note

如果配置了机器人,只要保持软件运行,就能实现多端发送下载命令并且随时进行下载
故可以将软件部署在服务器上,无论是Windows还是Linux平台。
Windows平台可直接使用releases里发布的二进制文件放在服务器运行。
Linux平台的部署教程请阅读:"3.0.在生产环境中运行(对于Linux用户)"

2.2.1.申请教程:

  1. 前往网站:https://t.me/BotFather

  2. 打开后会提示"要打开 Telegram Desktop 吗?"此时点击"打开Telegram Desktop"如下图所示:

    image

    如果没有这个弹窗,说明电脑没有安装Telegram客户端,安装后再重试即可。

  3. 点击开始,如下图所示:

    image

  4. 然后在当前聊天框中输入/newbot后回车,如下图所示:

    image

    它会回复你"Alright, a new bot. How are we going to call it? Please choose a name for your bot."意思是给机器人取一个名字,如下图所示:

    image

  5. 这个名字是显示名称 (display name),并不是唯一识别码,随便设置一下即可,之后可以通过 /setname命令进行修改。

    image

  6. 接着设置机器人的唯一名称。字符串必须 以bot结尾,比如 HelloWorld_botHelloWorldbot 都是合法的。如果设置的名字已经被占用需要重新设置。如设置成了 trmd_bot但是这个名字已经有人使用了,此时会提示"Sorry, this username is already taken. Please try something different."意思是已经被使用了,需要拟定一个不重复的,如下图所示:

    image

    如果结果如上图所示,则就代表名字重复了,需要重新拟定一个。

  7. 直到提示你"Done! Congratulations on your new bot. . ."如下图所示:

    image

    如果结果如上图所示,则代表bot_token申请成功了,箭头指的红框处就是你所申请的bot_token切记不要泄露给任何人!

2.2.2.使用教程:

  1. 申请完成后,在软件配置时询问"是否启用「机器人」(需要提供bot_token)? - 「y|n」(默认n)"选择y代表需要使用,如下图所示:

    image

    然后在上图箭头所指处填入"2.2.1.申请教程"第7步申请的bot_token后回车,即可配置完成。

  2. 在一切配置完成,软件启动成功后等待提示"「机器人」启动成功。",就代表机器人可以使用了,如下图所示:

    image

  3. Telegram客户端中找到与BotFather的对话框,找到"2.2.1.申请教程"第7步对话的位置(或者用你自己的方式找到你的机器人的对话框),如下图所示:

    image

    然后在上图箭头所指处即可跳转到机器人对话框。

  4. 点击开始,如下图所示:

    image

    不出意外,会收到一条来自机器人发送的消息,如下图所示:

    image

    如果没收到尝试尝试给机器人发送任意命令。

  5. 目前机器人支持的命令用法及解释如下表所示:

    命令 用法 解释
    /help 向机器人发送发送/help即可。 展示可用命令。
    /download 向机器人发送/download 链接1 链接2 链接3 链接n即可。 分配新的下载任务。
    /table 向机器人发送/table即可。 终端输出当前下载情况的统计信息
    /exit 向机器人发送/exit即可。 退出软件。
  6. /help命令使用教程,如下图所示:

    image

  7. 点击菜单可以显示机器人可用的命令,如下图所示:

    image

  8. /download命令使用教程,如下图所示:

    image

    只要发送了正确的下载命令,终端就会创建对应的下载任务,如下图所示:

    image

  9. /table命令使用教程:

    需要注意的是,这个表格是实时状态,并不是最终下载完成的结果,每一次使用它都会随着当前下载记录而更新。

    链接统计表的使用,如下图所示:

    image

    image

    计数统计表的使用,如下图所示:

    image

    image

  10. /exit命令使用教程,如下图所示:

image

2.3.配置文件说明:

# 这里只是介绍每个参数的含义,软件会详细地引导配置参数。
# 如果是按照软件的提示填,选看。如果是手动打开config.yaml修改配置,请仔细阅读下面内容。
# 手动填写时请注意冒号是英文冒号,冒号加一个空格。
api_hash: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 申请的api_hash。
api_id: 'xxxxxxxx' # 申请的api_id。
# bot_token(选填)如果不填,就不能使用机器人功能。可前往https://t.me/BotFather免费申请。
bot_token: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
download_type: # 需要下载的类型。支持的参数:video,photo。
- video 
- photo
is_shutdown: true # 下载完成后是否自动关机。支持的参数:true,false。
links: D:\path\where\your\link\files\save\content.txt # 链接地址写法如下:
# 新建txt文本,一个链接为一行,将路径填入即可请不要加引号,在软件运行前就准备好。
# D:\path\where\your\link\txt\save\content.txt 一个链接一行。
max_download_task: 3 # 最大的下载任务数,值过高可能会导致网络相关问题。支持的参数:所有>0的整数。
proxy: # 代理部分,如不使用请全部填null注意冒号后面有空格,否则不生效导致报错。
  enable_proxy: true # 是否开启代理。支持的参数:true,false。
  hostname: 127.0.0.1 # 代理的ip地址。
  scheme: socks5 # 代理的类型。支持的参数:http,socks4,socks5。
  port: 10808 # 代理ip的端口。支持的参数:0~65535。
  username: null # 代理的账号,没有就填null。
  password: null # 代理的密码,没有就填null。
save_path: F:\directory\media\where\you\save # 下载的媒体保存的目录。

2.4.使用注意事项:

  1. 链接获取方法:对想要保存的媒体文件点击鼠标右键然后选择复制消息直链如下图所示:

    image

  2. 目前支持视频图片两种类型的下载。

  3. 如果当前复制的链接为多张图片或视频,那么程序会自动下载当前消息所有的内容!

  4. 现在的部分频道为了避免封禁将媒体文件放在了评论区,并且还禁止转发,此时如想下载评论区里面的视频图片,请不要复制当前消息的链接。请直接打开评论区,找到任意一个图片或者视频,按照上面所教的方法复制评论区的任意视频图片消息直链即可下载当前评论区所有视频图片,评论区的消息直链复制的后,后缀会带一个?comment=123456,代表是下载评论区的内容,请不要将其删除!如果需要下载评论区的内容请勿手动在链接后添加?comment=123456,而是采用上述复制的方法,避免出错。

  5. links的文本写法1如下图所示:

    image

  6. 你所需要下载的视频前提是你当前的Telegram账号,在此视频链接的频道中,否则会报错无法下载!!!

  7. 常见的错误写法(请不要这样写):

    image

    字段解释:

    字段 解释
    ?comment 评论区的链接。
    ?single 单独的链接。
    ?single&comment 评论区单独的链接。
    /c 私密频道的链接。
    https://t.me/TEST/111/666 频道TEST话题111的链接。
    https://t.me/c/1111111111/333/666 私密频道1111111111话题333的链接。

    链接解释:

    Telegram链接组成:

    正常频道:https://t.me/频道名/消息ID

    私密频道:https://t.me/c/频道名(10位纯数字)/消息ID

    话题频道:https://t.me/频道名/话题ID/消息ID

    私密话题频道:https://t.me/c/频道名(10位纯数字)/话题ID/消息ID

    链接 实际频道名 消息ID 解释
    https://t.me/TEST/111 TEST 111 下载该链接的所有视频图片
    https://t.me/TEST/111?single TEST 111 下载该链接的所有视频图片
    https://t.me/TEST/111?comment=666 TEST 111 下载该链接的视频图片的同时,下载该链接下方的讨论组所有视频图片。
    https://t.me/TEST/111?single&comment=666 TEST 111 下载该链接的视频图片的同时,下载该链接下方的讨论组所有视频图片。
    https://t.me/c/1111111111/666 -1001111111111 666 下载该私密频道链接的所有视频图片。
    https://t.me/TEST/111/666 TEST 666 下载该话题链接的所有视频图片
    https://t.me/c/1111111111/333/666 -1001111111111 666 下载该私密话题链接的所有视频图片。

    上述表格的频道名消息ID都是相同的,这就代表的重复链接不要这样写

    原因:注意图片中红框的内容结合上述表格,你会发现?comment?single?single&comment前面的内容都是一模一样的,这代表这是同样的一个链接,如果需要同时下载评论区和原本链接的内容,只需填这一个链接即可全部下载。报错的原因是因为?comment链接本身就会下载全部内容,若此时再添加一个前缀完全相同没有带?comment的链接,就会导致这条链接的内容被下载了两次,如果上一次的任务还没下载完,同样的链接的下载任务再一次地被添加进去了,就会导致下载报错。

    如果你并非是想下载评论区中的内容,而只是该链接的内容

    写法如下:

    正常频道:https://t.me/xxx/111

    私密频道:https://t.me/c/xxxxxxxxxx/111

    话题频道:https://t.me/xxx/xxx/111

    私密话题频道:https://t.me/c/xxxxxxxxxx/xxx/111

    注意这样写就不会下载评论区的内容了!链接中如果带?single?single&comment字段,不用管,直接复制进来,程序会为你下载该链接的所有内容

2.5.软件更新教程:

image

3.0.在生产环境中运行:

推荐使用Python==3.13.2作为该项目环境。

对于Windows用户:

需安装pythongit并配置环境变量

git clone https://github.com/Gentlesprite/Telegram_Restricted_Media_Downloader.git
cd Telegram_Restricted_Media_Downloader
python -m pip install --upgrade pip
pip install -r requirements.txt
python main.py

对于Linux用户:

git clone https://github.com/Gentlesprite/Telegram_Restricted_Media_Downloader.git
cd Telegram_Restricted_Media_Downloader
python3 -m pip install --upgrade pip
pip3 install -r requirements.txt
python3 main.py

如果提示没有安装pip使用如下命令进行安装:

sudo apt update
sudo apt-get install python3-pip

关于更新:

项目目录下打开终端使用如下命令拉取仓库当前的最新版本:

git pull

4.0.联系作者:

Telegram:@Gentlesprite

邮箱:Gentlesprites@outlook.com

5.0.支持作者:

image