文章目录[隐藏]
- 1.部署
- 2.环境变量
- 3.使用方法
- 4.批量转存
- 5.项目地址
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 ,环境变量同上。