一个用于下载 Telegram 聊天、频道或机器人中媒体文件的工具。它支持多种运行方式,包括作为机器人运行或一次性下载工具。

telegram_media_downloader
“
一个用于下载 Telegram 聊天、频道或机器人中媒体文件的工具。它支持多种运行方式,包括作为机器人运行或一次性下载工具。
警告⚠️,这玩意,国内是不让玩的哦!
Github
https://github.com/tangyoha/telegram_media_downloader

功能特点
- 运行方式
-
机器人运行:通过机器人下发命令(如
下载或转发)。 -
一次性下载工具:直接运行脚本下载指定内容。
- 界面支持
-
Web 界面:运行后访问
localhost:5000,支持远程配置(需设置web_host)。 -
机器人界面:通过配置
bot_token使用机器人进行操作。
- 支持的媒体类型
- 音频、文档、照片、视频、video_note、语音等。
- 版本发布计划
- 提供了版本更新计划,例如 v2.2.0。
安装方法
- *对于 nix 系统(如 Linux、macOS)
git clone https://github.com/tangyoha/telegram_media_downloader.git
cd telegram_media_downloader
make install- 对于 Windows 系统
git clone https://github.com/tangyoha/telegram_media_downloader.git
cd telegram_media_downloader
pip3 install -r requirements.txtDocker 容器部署
-
确保安装了 docker 和 docker-compose。
-
拉取镜像并配置文件:
docker pull tangyoha/telegram_media_downloader:latest
mkdir -p ~/app && mkdir -p ~/app/log/ && cd ~/app
wget https://raw.githubusercontent.com/tangyoha/telegram_media_downloader/master/docker-compose.yaml -O docker-compose.yaml
wget https://raw.githubusercontent.com/tangyoha/telegram_media_downloader/master/config.yaml -O config.yaml
wget https://raw.githubusercontent.com/tangyoha/telegram_media_downloader/master/data.yaml -O data.yaml
vi config.yaml # 编辑配置文件- 启动容器:
docker-compose run --rm telegram_media_downloader # 第一次前台启动
docker-compose up -d # 后续后台启动- 升级:
docker pull tangyoha/telegram_media_downloader:latest
cd ~/app
docker-compose down
docker-compose up -d配置文件
配置文件是项目的核心,以下是主要配置项:
- API 配置
-
api_hash和api_id:通过 Telegram API 获取。 -
bot_token:机器人凭证。
- 下载设置
-
chat:指定要下载的聊天/频道 ID。 -
chat_id:聊天 ID。last_read_message_id:上次读取的消息 ID。download_filter:下载过滤器(如按日期过滤)。 -
media_types:支持的媒体类型(如音频、文档等)。 -
file_formats:支持的文件格式(如mp4、pdf等)。 -
save_path:下载文件的保存路径。 -
file_path_prefix:文件存储路径前缀(如按聊天标题、日期等分类)。
- 上传设置
-
upload_drive:支持将文件上传到云盘。 -
enable_upload_file:是否启用上传。remote_dir:云盘目标路径。upload_adapter:上传适配器(如rclone或aligo)。before_upload_file_zip:上传前是否压缩文件。after_upload_file_delete:上传成功后是否删除本地文件。
- 其他设置
-
web_host和web_port:Web 界面的主机和端口。 -
web_login_secret:Web 界面登录密码。 -
allowed_user_ids:允许使用机器人的用户 ID。 -
date_format:日期格式化设置。 -
enable_download_txt:是否启用下载.txt文件。
执行脚本
运行脚本后,所有下载的媒体文件将按照配置存储到指定路径:
python3 media_downloader.py代理支持
支持 socks4、socks5 和 http 代理,配置示例:
proxy:
scheme:socks5
hostname:127.0.0.1
port:1234
username:你的用户名(可选)
password:你的密码(可选)