简单 Telegram Python 机器人,可自动将消息从一个聊天转发到另一个聊天。

 

电报转发器

一个在 Python3 上运行的简单 Telegram Python 机器人,可自动将消息从一个聊天转发到另一个聊天。

从 V1 迁移

v2 使用不同的配置文件格式。请参阅 部分了解更多信息。如果配置文件的格式不正确,机器人将不会启动。

启动机器人

一旦您完成配置(见下文),只需运行:

python -m forwarder

或诗歌(推荐)

poetry run forwarder

设置机器人(启动机器人之前请阅读以下说明!):

Telegram Forwarder 仅支持 Python 3.9 及更高版本。

配置

机器人工作必须有两个文件,.env以及chat_list.json.

.env

模板环境可以在 中找到sample.env。将其重命名为.env并填写值:

  • BOT_TOKEN– Telegram 机器人令牌。您可以从@BotFather获取它

  • OWNER_ID– 由您的所有者 ID 组成的整数。

  • REMOVE_TAGTrue-如果要从转发的消息中删除标签(“从 xxxxx 转发”),请设置为。

chat_list.json

模板 chat_list 可以在 中找到chat_list.sample.json。将其重命名为chat_list.json.

该文件包含转发消息的聊天列表。机器人期望它是具有以下结构的对象数组:

[
  {
    "source": -10012345678,
    "destination": [-10011111111, "-10022222222#123456"]
  },
  {
    "source": "-10087654321#000000",  // Topic/Forum group
    "destination": ["-10033333333#654321"]
  }
]
  • source– 要转发消息的聊天的聊天 ID。它可以是一个组或一个频道。

    如果源聊天是主题组,则必须显式指定主题 ID。如果未指定主题 ID,机器人将忽略来自主题组的传入消息。

  • destination– 用于转发消息的聊天 ID 数组。它可以是一个组或一个频道。

    Destination 支持主题聊天。您可以使用#topicID字符串转发到特定主题。例子:[-10011111111, "-10022222222#123456"]。通过此配置,它将转发到 chat -10022222222with topic123456和 chat -10011111111

您可以添加任意数量的对象。机器人会将来自该source字段中所有聊天的消息转发到该字段中的所有聊天destination。允许重复,因为它已经由机器人处理。

Python 依赖项

通过移动到项目目录并运行来安装必要的 python 依赖项:

poetry install --only main

或用点

pip3 install -r requirements.txt

这将安装所有必需的 python 软件包。

在 Docker 容器中启动

要求

  • 码头工人
  • 码头工人组成

启动前请确保所有配置均已完成(.envchat_list.json)!

然后,只需运行命令:

docker compose up -d

可以通过以下命令查看日志:

docker compose logs -f

制作人员

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。