本文最后更新于 2025-03-16,文章内容可能已经过时。

telegram_media_downloader是一个支持下载音频、文档、照片、视频、视频笔记、语音的 Telegram 下载工具, 可以下载禁止转发和保存的文件哦👻。跨平台,支持web查看下载进度 ,支持bot下发指令下载,支持下载已经加入的私有群但是限制下载的资源。

下载配置文件

在Github项目仓库中下载以下文件到建立的telegram_media_downloader的安装目录下,

  • config.yaml
  • data.yaml

https://github.com/tangyoha/telegram_media_downloader/blob/master/config.yaml

https://github.com/tangyoha/telegram_media_downloader/blob/master/data.yaml

保存到 /docker/tmd

配置文件 config.yaml

api_hash: 获取的api_id #注意:后的空格
api_id: 获取的机器人api #注意:后的空格
web_host: 0.0.0.0
bot_token: 找@BotFather创建机器人获取 #注意:后的空格
#proxy:
  #scheme: socks5
  #hostname: host ipaddr
  #port: port
  #username: user
  #password: password
file_formats:
  audio:
  - all
  document:
  - all
  video:
  - all
file_path_prefix:
- chat_title
- media_datetime
media_types:
- audio
- photo
- video
- document
- voice
- video_note
# in linux please use /
# save_path: E:\github\telegram_media_downloader
disable_syslog: []
save_path: /app/downloads
language: ZH
# max_download_task: 5 #默认配置是同时下载任务是5
api_hash: 获取的api_id
api_id: 获取的机器人api

关于获取 api_hash 以及 api_id

Telegram官网,输入手机号进验证。
这里是我遇到的唯一一个巨坑,如果你在申请过程中遇到报错,没有其他原因就是你的 ip 不干净。我尝试了干净的不同我电话号同区的 住宅 ip,以及用了两次代理后,和我电话号同区号的住宅 ip 都过不去验证,最后找了美国的朋友帮我申请。

如果卡这一步,又需要 hash 以及 id才能进行以下操作,一个小提示,认真看项目中的教程,有一个教程中包含了一组 hash 以及 id 可以直接使用。

data.yaml 文件

ids_to_retry: []

完成以上操作后,进行一次验证

docker run -itd   --name telegram-media-downloader -v /vol1/1000/Docker/tmd/config.yaml:/app/config.yaml -v /vol1/1000/Docker/tmd/sessions:/app/sessions  tangyoha/telegram_media_downloader:latest

容器启动后,在容器的命令行面板中按照提示输入您的手机号,我的手机号是美国的,记得手机号加上区号

例如:19295188888

然后按“y”确认,在TG客户端获验证码并输入验证码。

正式部署

我们把刚才创建的容器给删除掉,然后参考我的再次创建一个容器,根据你的实际情况创建好对应的文件夹、修改端口映射等操作,说明一下/app/downloads/要映射你的下载目录,注意sessions文件夹、config.yaml、data.yaml要映射对应的位置。

version: "3.3"

services:
  telegram_media_downloader:
    image: tangyoha/telegram_media_downloader:latest
    build: .
    container_name: telegram-media-downloader
    ports:
      - "8066:5000"
    #environment:
    #  - http_proxy=http://192.168.101.30:10811
    #  - https_proxy=http://192.168.101.30:10811
    volumes:
      # Here is what you need to edit
      - /vol1/1000/Docker/tmd/config.yaml:/app/config.yaml
      - /vol1/1000/Docker/tmd/rclone:$HOME/.config/rclone/
      - /vol1/1000/Docker/tmd/data.yaml:/app/data.yaml
      - /vol1/1000/Docker/tmd/log:/app/log/
      - /vol2/1000/下载专用/TMD:/app/downloads/
      - /vol2/1000/下载专用/TMD/temp:/app/temp
      - /vol1/1000/Docker/tmd/sessions:/app/sessions
    restart: unless-stopped

启动后如果一切正常,你所创建的电报机器人会有以下提示:

vydy80-0

项目地址:https://github.com/tangyoha/telegram_media_downloader

更多功能可以去项目里查看,因为我的用途之后转发下载所以没有过多复杂的功能需求。

功能:

w3wjbq-0