TelegramMediaDownload
前言
电报客户端只能在当前信息进行下载,并且不显示下载速度和具体的下载进度。用telegram_media_downloader部署机器人可以自动下载,并显示网速和下载进度,还能通过rclone 自动上传至网盘
创建机器人
获取api密钥
访问 telegram官网 并使用您的 Telegram 帐户登录。
填写表格以注册新的 Telegram 应用程序。(填写
App title和Short name即可)完成! API 密钥由两部分组成:api_id 和api_hash。
机器人
与 https://t.me/BotFather 对话:
- 输入 /start
- 输入 /newbot
- 输入 你想创建的机器人名称
- 保存BotToken
用python3运行
1 | git clone https://github.com/tangyoha/telegram_media_downloader.git |
配置
配置文件(config.yaml)
1 | api_hash: |
api_hash - 你从电报应用程序获得的 api_hash
api_id - 您从电报应用程序获得的 api_id
bot_token - 你的机器人凭证
chat
- 多频道
chat_id- 您要下载媒体的聊天/频道的 ID。你从上述步骤中得到的。download_filter- 下载过滤器, 查阅 如何使用过滤器last_read_message_id-如果这是您第一次阅读频道,请将其设置为“0”,或者如果您已经使用此脚本下载媒体,将有一些数字,这些数字会在脚本成功执行后自动更新。不要改变。
chat_id - 您要下载媒体的聊天/频道的 ID。你从上述步骤中得到的。
last_read_message_id - 如果这是您第一次阅读频道,请将其设置为“0”,或者如果您已经使用此脚本下载媒体,将有一些数字,这些数字会在脚本成功执行后自动更新。不要改变。
ids_to_retry -
保持原样。下载器脚本使用来跟踪所有跳过的下载,以便在下次执行脚本时可以下载。media_types - 要下载的媒体类型,您可以更新要下载的媒体类型,可以是一种或任何可用类型。
file_formats - 为支持的媒体类型(“音频”、“文档”和“视频”)下载的文件类型。默认格式为“all”,下载所有文件。
save_path - 你想存储下载文件的根目录
file_path_prefix
- 存储文件子文件夹,列表的顺序不定,可以随机组合
chat_title- 聊天频道或者群组标题, 如果找不到标题则为配置文件中的chat_idmedia_datetime- 资源的发布时间media_type- 资源类型,类型查阅media_types
upload_drive
- 您可以将文件上传到云盘
enable_upload_file- [必填]启用上传文件,默认为falseremote_dir- [必填]你上传的地方,如alist:/,其中alist为创建rclone远程时所填的名字,确保rclone ls alist:命令不报错upload_adapter- [必填]上传文件适配器,可以为rclone,aligo。如果为rclone,则支持rclone所有支持上传的服务器,如果为aligo,则支持上传阿里云盘rclone_path,如果配置upload_adapter为rclone则为必填,rclone的可执行目录,查阅 如何使用rclonebefore_upload_file_zip- 上传前压缩文件,默认为falseafter_upload_file_delete- 上传成功后删除文件,默认为false
file_name_prefix
- 自定义文件名称,使用和
file_path_prefix
一样
message_id- 消息idfile_name- 文件名称(可能为空)caption- 消息的标题(可能为空)
file_name_prefix_split - 自定义文件名称分割符号,默认为
-max_download_task - 最大任务下载任务个数,默认为5个。
hide_file_name - 是否隐藏web界面文件名称,默认
falseweb_host - web界面地址
web_port - web界面端口
language - 应用语言,默认为英文(
EN),可选ZH(中文),RU,UAweb_login_secret - 网页登录密码,如果不配置则访问网页不需要登录
log_level - 默认日志等级,请参阅
logging._nameToLevelforward_limit - 限制每分钟转发次数,默认为33,默认请不要修改该参数
allowed_user_ids - 允许哪些人使用机器人,默认登录账号可以使用,带@的名称请加单引号
date_format - 支持自定义配置file_path_prefix中media_datetime的格式,具体格式查看 python-datetime
enable_download_txt 启用下载txt文件,默认
false
默认配置
在 module/cloud_drive.py 修改默认配置
1 | def __init__( |
