+-
一个用于下载 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)

  • gitclonehttps://github.com/tangyoha/telegram_media_downloader.git
    cdtelegram_media_downloader
    make install
  • 对于 Windows 系统
  • gitclonehttps://github.com/tangyoha/telegram_media_downloader.git
    cdtelegram_media_downloader
    pip3 install -r requirements.txt

    Docker 容器部署

  • 确保安装了dockerdocker-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 --rmtelegram_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

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

    • save_path

      :下载文件的保存路径。

    • file_path_prefix

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

  • 上传设置
    • upload_drive

      :支持将文件上传到云盘。

      • enable_upload_file

        :是否启用上传。

      • remote_dir

        :云盘目标路径。

      • upload_adapter

        :上传适配器(如rclonealigo)。

      • 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:你的密码(可选)