剪藏#github淘金#剪藏

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

2025 年 10 月 15 日1 分钟
分享Twitter / XTelegram微博

telegram_media_downloader

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

警告⚠️,这玩意,国内是不让玩的哦!

Github

https://github.com/tangyoha/telegram_media_downloader

Notion image

功能特点

  1. 运行方式
  • 机器人运行:通过机器人下发命令(如 下载转发)。

  • 一次性下载工具:直接运行脚本下载指定内容。

  1. 界面支持
  • Web 界面:运行后访问 localhost:5000,支持远程配置(需设置 web_host)。

  • 机器人界面:通过配置 bot_token 使用机器人进行操作。

  1. 支持的媒体类型
  • 音频、文档、照片、视频、video_note、语音等。
  1. 版本发布计划
  • 提供了版本更新计划,例如 v2.2.0。

安装方法

  1. *对于 nix 系统(如 Linux、macOS)
JAVASCRIPT
git clone https://github.com/tangyoha/telegram_media_downloader.git
cd telegram_media_downloader
make install
  1. 对于 Windows 系统
JAVASCRIPT
git clone https://github.com/tangyoha/telegram_media_downloader.git
cd telegram_media_downloader
pip3 install -r requirements.txt

Docker 容器部署

  1. 确保安装了 dockerdocker-compose

  2. 拉取镜像并配置文件:

JAVASCRIPT
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  # 编辑配置文件
  1. 启动容器:
JAVASCRIPT
docker-compose run --rm telegram_media_downloader  # 第一次前台启动
docker-compose up -d  # 后续后台启动
  1. 升级:
JAVASCRIPT
docker pull tangyoha/telegram_media_downloader:latest
cd ~/app
docker-compose down
docker-compose up -d

配置文件

配置文件是项目的核心,以下是主要配置项:

  1. API 配置
  • api_hashapi_id:通过 Telegram API 获取。

  • bot_token:机器人凭证。

  1. 下载设置
  • chat:指定要下载的聊天/频道 ID。

  • chat_id:聊天 ID。last_read_message_id:上次读取的消息 ID。download_filter:下载过滤器(如按日期过滤)。

  • media_types:支持的媒体类型(如音频、文档等)。

  • file_formats:支持的文件格式(如 mp4pdf 等)。

  • save_path:下载文件的保存路径。

  • file_path_prefix:文件存储路径前缀(如按聊天标题、日期等分类)。

  1. 上传设置
  • upload_drive:支持将文件上传到云盘。

  • enable_upload_file:是否启用上传。remote_dir:云盘目标路径。upload_adapter:上传适配器(如 rclonealigo)。before_upload_file_zip:上传前是否压缩文件。after_upload_file_delete:上传成功后是否删除本地文件。

  1. 其他设置
  • web_hostweb_port:Web 界面的主机和端口。

  • web_login_secret:Web 界面登录密码。

  • allowed_user_ids:允许使用机器人的用户 ID。

  • date_format:日期格式化设置。

  • enable_download_txt:是否启用下载 .txt 文件。

执行脚本

运行脚本后,所有下载的媒体文件将按照配置存储到指定路径:

JAVASCRIPT
python3 media_downloader.py

代理支持

支持 socks4、socks5 和 http 代理,配置示例:

JAVASCRIPT
proxy:
  scheme:socks5
hostname:127.0.0.1
port:1234
username:你的用户名(可选)
password:你的密码(可选)

原文地址: https://mp.weixin.qq.com/s?__biz=Mzg2MjY1NDIzNg==&mid=2247496502&idx=1&sn=86b6698a033c2984491c71b1e61b4708&chksm=cf4f30497cf4d30c5f2550017801b0c350a3360a50e4c23c8c2e0155f5ad93ec04e53d728e16&mpshare=1&scene=1&srcid=1014Gon4I5JsT6xATRcRxNIA&sharer_shareinfo=52a2968c9c73576e026599fab7228f30&sharer_shareinfo_first=a4c99a6aefe9cda55485de054abbb89d#rd

相关文章