Telegram 在2021年底的一次更新中为群组增加了“禁止转发”功能,开启后普通成员便无法从群组中复制、转发或者保存任何内容。当然坊间也发明出了不少破解的方法,例如从缓存中提取或是从网页版抓包等,虽然有效使用起来却较为不便。不过 reizhi 在 GitHub 闲逛时偶然发现了这个名为 SaveRestrictedContentBot 的项目,能够从限制群组中转存各种媒体和文件,如果有这方面需求的话不妨试试。
不接代搭了不要再留言了
1.部署
作者已经给出了比较详细的部署说明,这里便不再多花时间介绍了。只需要 Fork 该项目后一键或手动部署到 Heroku 即可,具体可参见图示。当然,如果你想要本地运行也可以使用 Dockerfile 来构建镜像。
2.环境变量
想要让代码正确的跑起来,在部署时还需要设置以下环境变量:API_ID
, API_HASH
, SESSION
, BOT_TOKEN
, AUTH
, FORCESUB
。
其中 API_ID
和 API_HASH
可以从 https://my.telegram.org/apps 获取,登陆后直接复制即可。
SESSION
可以使用这个网页运行一段小程序来获取。点击运行后类型选择 p ,再按提示依次输入 API_ID
, API_HASH
和注册手机号,完成后即可在收藏夹中找到 SESSION
。需要注意 SESSION
仅一次性有效,如果停止并重新启动代码或容器,则必须重新获取。
BOT_TOKEN
需要向 @botfather 申请一个,按提示输入名称等各项信息即可。
AUTH
为管理员的账号 ID ,可以通过 @myidbot 获取。
FORCESUB
是使用该机器人必须关注的频道(Channel)名,需要新建一个频道并将上一步新建的机器人设为管理员。如频道地址为 t.me/reizhinews ,则填写 reizhinews 。
3.使用方法
只需要把想转存的消息链接发给机器人即可,内容既可以是文字也可以是媒体或文件。由于机器人需要下载后重新上传,文件比较大的话就需要稍等片刻。好在代码内置了队列和延迟等待机制,连续发送多条链接也是完全没问题的。
4.批量转存
除了单条转存外,SaveRestrictedContentBot 还支持管理员批量转存。只需要向机器人发送 /batch
命令按提示操作即可。单次最高支持转存100条连续的消息。
5.项目地址
https://github.com/vasusen-code/SaveRestrictedContentBot
也可以使用 reizhi 生成的镜像来部署:https://hub.docker.com/r/reizhi/savebot ,环境变量同上。
您好,请问部署的机器人是否可以下载其他群组中的内容?(机器人未加入该群组的情况下)
未尝试,理论上可以下载公开群组的媒体。
下载工作正常,但上载时无法保存。大佬知道如何解决吗?
建议直接给作者提 issue
看了半天这个脚本不知道怎么用,有没有大佬详细一点教一教?
大佬可以请教一下点击 deploy to heroku之后 页面一直loading是怎么回事吗?我是小白 希请回复
能不能付费远程帮我弄一下
Heroku 现在不免费了,价格是5刀每月。
或者你自备 VPS 的话也可以,代搭一次性费用20,不含后续更新和维护。
也不需要更新,我都跑了半年了一直可以用。
你好 能给个联系方式吗
注意下邮件
你好,可以远程付费帮忙弄一下吗?可以的话就联系一下我,谢谢。
查看后续邮件
我也需要代搭建。
需要自备 vps ,我可以推荐但是需要自己购买。代搭一次性费用20,可以接受的话注意下邮件。
ethon这个库好像出了点问题……后面报错也是这个库,这咋办?
ERROR: Could not find a version that satisfies the requirement ethon==1.3.8
ERROR: No matching distribution found for ethon==1.3.8
WARNING: You are using pip version 21.0.1; however, version 23.0 is available.
You should consider upgrading via the ‘/usr/local/bin/python -m pip install –upgrade pip’ command.
ERROR: Service ‘app’ failed to build: The command ‘/bin/sh -c pip3 install –no-cache-dir -r requirements.txt’ returned a non-zero code: 1
srcbot | starting Bot ~@DroneBots
srcbot | Traceback (most recent call last):
srcbot | File “/usr/local/lib/python3.9/runpy.py”, line 197, in _run_module_as_main
srcbot | return _run_code(code, main_globals, None,
srcbot | File “/usr/local/lib/python3.9/runpy.py”, line 87, in _run_code
srcbot | exec(code, run_globals)
srcbot | File “/app/main/__main__.py”, line 16, in
srcbot | load_plugins(plugin_name.replace(“.py”, “”))
srcbot | File “/app/main/utils.py”, line 12, in load_plugins
srcbot | spec.loader.exec_module(load)
srcbot | File “”, line 790, in exec_module
srcbot | File “”, line 228, in _call_with_frames_removed
srcbot | File “main/plugins/frontend.py”, line 8, in
srcbot | from main.plugins.pyroplug import get_msg
srcbot | File “/app/main/plugins/pyroplug.py”, line 11, in
srcbot | from ethon.pyfunc import video_metadata
srcbot | File “/usr/local/lib/python3.9/site-packages/ethon/pyfunc.py”, line 29
srcbot | break
srcbot | ^
srcbot | SyntaxError: ‘break’ outside loop
srcbot | main has Imported helpers
srcbot exited with code 1
建议和作者反馈
想要協助搭建
查看后续邮件
你好,请问一下可以出视频出教程吗?价格我可以接受iOS
IOS挂不了,你自己要有服务器
你好可以协助搭建吗,我第一步获取环境变量就报error
API_ID, API_HASH 申请时报错可能是 IP 不干净,代搭注意查看后续邮件
需要带搭 请私信我一下邮件
查看后续邮件
我也需要,能留个联系方式吗
查看后续邮件
需要带搭 请私信我一下邮件
查看后续邮件
这个怎么说呢,曲线救国,但效率实在太低。
我看了tdlib的官方api,要调用sendMessage方法,传入 inputMessageVideo,而这个对象只接受file_input,也就说只支持传入一个文件类型的参数。所以实现原理的是,拿视频举例,先getMessage,通过file_id,调用downloadFile方法,把文件下载下来,然后如果视频有caption之类的信息的话,暂存下来,最后通过sendMessage把这个视频+caption再一并发给你。
付费搭建… 不知道怎么联系你.. 你给我发邮件吧
查看后续邮件
主要代搭建 请联系我
查看后续邮件
实在看不明白怎么搭建,我需要代搭建,非常感谢
老大能帮我架设一个么 真的很需要
session无法获取 报错
这个项目有中文版本
项目链接 https://github.com/tangyoha/telegram_media_downloader
项目文档 https://github.com/tangyoha/telegram_media_downloader/wiki/%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B
docker好像失效了,到88%的时候就拉取不了
看过上面的评论,可以接受购买和代搭建的费用支出。如果没有其他的变动,请求帮助。