TG限制群组转存机器人

By | 2022年6月12日

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 ,环境变量同上。

40 thoughts on “TG限制群组转存机器人”

  1. kyo

    您好,请问部署的机器人是否可以下载其他群组中的内容?(机器人未加入该群组的情况下)

    Reply ↓
  2. ajun

    下载工作正常,但上载时无法保存。大佬知道如何解决吗?

    Reply ↓
  3. heimaopd

    看了半天这个脚本不知道怎么用,有没有大佬详细一点教一教?

    Reply ↓
  4. acnkid

    大佬可以请教一下点击 deploy to heroku之后 页面一直loading是怎么回事吗?我是小白 希请回复

    Reply ↓
    1. reizhi Post author

      Heroku 现在不免费了,价格是5刀每月。
      或者你自备 VPS 的话也可以,代搭一次性费用20,不含后续更新和维护。
      也不需要更新,我都跑了半年了一直可以用。

      Reply ↓
          1. bebe5

            你好,可以远程付费帮忙弄一下吗?可以的话就联系一下我,谢谢。

    1. reizhi Post author

      需要自备 vps ,我可以推荐但是需要自己购买。代搭一次性费用20,可以接受的话注意下邮件。

      Reply ↓
  5. misaka

    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

    Reply ↓
      1. bebe

        你好,请问一下可以出视频出教程吗?价格我可以接受iOS

        Reply ↓
  6. Madison

    你好可以协助搭建吗,我第一步获取环境变量就报error

    Reply ↓
    1. reizhi Post author

      API_ID, API_HASH 申请时报错可能是 IP 不干净,代搭注意查看后续邮件

      Reply ↓
  7. Tommy

    这个怎么说呢,曲线救国,但效率实在太低。
    我看了tdlib的官方api,要调用sendMessage方法,传入 inputMessageVideo,而这个对象只接受file_input,也就说只支持传入一个文件类型的参数。所以实现原理的是,拿视频举例,先getMessage,通过file_id,调用downloadFile方法,把文件下载下来,然后如果视频有caption之类的信息的话,暂存下来,最后通过sendMessage把这个视频+caption再一并发给你。

    Reply ↓
  8. 123蒂娜宝

    付费搭建… 不知道怎么联系你.. 你给我发邮件吧

    Reply ↓
  9. Ethan Lin

    看过上面的评论,可以接受购买和代搭建的费用支出。如果没有其他的变动,请求帮助。

    Reply ↓

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

滑动到最右以进行验证 *