之前推荐过tdl,基于golang的下载电报禁止转发禁止下载的工具,搭建比较简单,下载下来就可以用了。
这个基于python,安装可能稍微比较麻烦一点,功能稍微比较多点,支持转发,支持上传网盘[禁止下载转发的应该也都是先下载然后上传],支持bot。
tdl可以使用已经安装的客户端的登录文件,目前没有听说过封号。这个是使用api,自己之前使用api的很多此类工具都封了好几个号了,不知道这个什么情况。
https://github.com/tangyoha/telegram_media_downloader
1、安装。
Windows:先下载python,然后安装。
https://www.python.org/downloads/windows/
Linux如果是ubuntu/debina:
apt install python3 python3-pip
2、获取api_hash和api_id:https://my.telegram.org/apps
申请的时候一直显示error,就一直换节点,没有能用的节点,就疯狂点击。
3、下载代码。
Windows就直接下载Source code就可以了:https://github.com/tangyoha/telegram_media_downloader/releases
Linux:
git clone https://github.com/tangyoha/telegram_media_downloader
安装依赖,Windows和Linux都一样
cd telegram_media_downloader pip install -r requirements.txt
5、bot申请。@BotFather
6、获取chat_id,私密频道查看消息链接就知道了,比如:https://t.me/c/1360584467/5388 频道chat_id就-1001360584467
公开频道,转发一条消息到机器人@userinfobot 即可查看。如果公开频道禁止转发,也只能到网页版电报复制消息链接获取了。
或者使用tdl也可以获取。
7、修改配置文件,config.yaml。运行即可。
不需要的部分删除即可,修改你需要的部分
api_hash: xxxxxxxxxx #步骤2 申请的hash值 api_id: xxxxxxxxx #步骤2 申请的apt_id bot_token: XXXXXXXXXX #步骤5 申请的bot token chat: - chat_id: -100xxxxxxxxx #就是你要下载的频道的chat_id,步骤6获取的频道chat_id, last_read_message_id: 0 #开始下载的消息id,从0开始就是全部下载 download_filter: message_date >= 2022-12-01 00:00:00 and message_date <= 2023-01-17 00:00:00 #下载过滤,可以按时间,按文件名等等过滤 - chat_id: -100xxxxxxxxx #支持下载多个频道,按格式可以自己写一个 last_read_message_id: 0 # note we remove ids_to_retry to data.yaml ids_to_retry: [] media_types: #需要下载的媒体文件类型 - audio - document - photo - video - voice file_formats: #需要下载的媒体文件类型的后缀 audio: - all document: - pdf - epub video: - mp4 save_path: D:\telegram_media_downloader #下载路径 file_path_prefix: #下载保存文件名称 - chat_title - media_datetime disable_syslog: - INFO upload_drive: #上传到网盘 # required enable_upload_file: False # required remote_dir: drive:/telegram #挂载名称:/上传路径 # required upload_adapter: rclone #使用rclone上传 # option,when config upload_adapter rclone then this config are required rclone_path: D:\rclone\rclone.exe #rclone路径 # option before_upload_file_zip: False #上传前压缩 # option after_upload_file_delete: True #上传后删除源文件 hide_file_name: true file_name_prefix: - message_id - file_name file_name_prefix_split: ' - ' max_download_task: 5 #同时下载最多个数 web_host: 127.0.0.1 #web管理页面地址 web_port: 5000 #web管理页面端口 language: EN proxy: scheme: socks5 #代理类型支持socks5 socks4 http hostname: 127.0.0.1 port: 1080
运行:
python3 media_downloader.py #windows如果无法运行,就用 python media_downloader.py
8、转发,目前转发好像只能用bot。
bot简单使用:
1.下载普通群组所有消息
/download https://t.me/fkdhlg 1 0
私密群组(频道) 链接为随便复制一条群组消息链接
2.下载从第N条消息开始的到第M条信息结束,M为0的时候表示到最后一条信息,过滤器为可选
/download https://t.me/12000000 N M [过滤器]
转发:/forward https://t.me/c/src_chat https://t.me/c/dst_chat 1 400 [过滤器]
监听转发:/listen_forward https://t.me/c/src_chat https://t.me/c/dst_chat [过滤器]