问题

Telegram 的某些群组中无法复制、转发其中的消息

解决方法

检索到了一个名为 SaveRestrictedContentBot 的 GitHub 项目

部署

获取各项参数

  • 获取 API_IDAPI_HASH

    登录获取:https://my.telegram.org/auth

  • 获取 BOT_TOKEN

    在 Telegram 内搜索 @Botfather

  • 获取 AUTH

    在 Telegram 内搜索 @userinfobot

  • 获取 FORCESUB

    新建一个公开频道,把新建的机器人拉进去并设置为管理员,频道名即为 FORCESUB(不要带 @

  • 获取 SESSION

    找到一个名为 pyrogramsessiongen 的 GitHub 项目

    1. 拉源码

      1
      git clone https://github.com/Yoruwu/pyrogramsessiongen
    2. 安装 pythonpip

    3. 进入脚本所在目录

      1
      cd pyrogramsessiongen
    4. 执行脚本

      1
      python3 gen.py
    5. 按要求输入各项参数,得到 SESSION

正式部署

  1. 拉源码

    1
    git clone https://github.com/vasusen-code/SaveRestrictedContentBot
  2. 修改 /main/plugins/pyroplug.py

    1
    2
    3
    4
    5
    6
    # 第 36 行修改前
    if 't.me/c/' or 't.me/b/' in msg_link:

    # 修改后
    print(f'msg_link: {msg_link}')
    if ('t.me/c/' in msg_link) or ('t.me/b/' in msg_link):
  3. 修改 docker-compose.yml

    1
    2
    3
    cd SaveRestrictedContentBot

    nano docker-compose.yml
  4. 将上述获得的值填入,记得 SESSION 要用引号框起来,示例如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    version: "3.3"

    services:
    app:
    container_name: srcbot
    build: .
    command: bash bash.sh
    environment:
    API_ID: 1234567
    API_HASH: aaaaaaaaaaaaaaaaaaaaaaaa
    BOT_TOKEN: bbbbbbbbbbbbbbbbbbbbbbbbb
    SESSION: 'ccccccccccccccccccccccccc'
    AUTH: 123456789
    FORCESUB: ddddddd
  5. 启动:

    1
    sudo docker-compose up --build

使用

  1. 右键某群组内不可复制的消息,选择 消息链接
  2. 将链接发给 Bot