转载整理自 https://www.nodeseek.com/post-505641-1
🚀 Telegram 双向机器人 Cloudflare Worker
功能简介
这是一个基于 Cloudflare Worker 和 D1 数据库的 Telegram 双向机器人代码。它将用户私聊消息转发到管理员群组的话题(Topic)中,并将管理员在话题中的回复中继回用户私聊。
准备工作:
先创建群组(我创建的私人群组) 然后把群组改成话题模式(这个是必须步骤!)然后把BOT拉进去 从人员列表里面提升权限,不要从管理员里面设置(会导致提示无法读取信息) 然后就可以使用了 这里需要注意 群组里面的管理员不要开启匿名发言的那个权限 不然 无法通过机器人给对方回复消息
部署方式(Cloudflare Dashboard 无指令)
本部署指南适用于通过 Cloudflare 网页界面操作,无需使用 Wrangler CLI 或本地开发环境。
步骤一:创建 D1 数据库
- 登录 Cloudflare Dashboard。
- 点击右边导航里的存储和数据库,点击下面的 D1 SOL数据库 然后点击右上角的*创建数据库**,输入数据库名称(例如:
tg-bot-db) - 进入您创建的 D1 数据库,点击 控制台 ,有一个执行步骤,将下面三段执行语句复制到执行窗口,点击执行即可,会弹出响应时间即为部署成功**:
– ① users 表
|
|
– ② config 表
|
|
– ③ messages 表
|
|
步骤二:创建 Worker 服务并部署代码
- 导航到 Workers 和 Pages。
- 点击 创建应用程序 -> 创建 Worker。
- 输入服务名称(例如:
telegram-forwarder)。 - 点击 部署。
- 部署完成后,点击 编辑代码。
- 清空默认代码,将提供的完整代码复制并粘贴到编辑器中。https://github.com/moistrr/TGbot-D1
- 点击 部署 Worker。
步骤三:配置 D1 绑定
- 点击进入你刚刚创建的workers项目。
- 选择 绑定 标签 然后 点击 添加绑定 在右边导航里选择D1数据库 点击 添加绑定
- 点击 添加 D1 数据库。
- 在 变量名称 中,必须 填写
TG_BOT_DB。 - 在 D1 数据库 中,选择您在步骤一中创建的数据库(例如:
tg-bot-db)。
- 在 变量名称 中,必须 填写
- 点击 添加。
步骤四:配置环境变量
- 在 Worker 的设置页面,选择 变量 -> 环境变量。
- 点击 添加变量,配置以下 三个 必填项:
| 变量名称 | 值(示例) | 说明 |
|---|---|---|
BOT_TOKEN |
123456:AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPP |
您的 Telegram Bot Token。 |
ADMIN_IDS |
12345678, 87654321 |
管理员的 Telegram 用户 ID,多个 ID 用英文逗号分隔!注意注意注意是用户的ID,不是用户名也不是昵称。 |
ADMIN_GROUP_ID |
-1001234567890 |
用于接收用户消息的群组 ID(注意:必须是群组,且已开启话题功能,普通群组和话题群组的ID不一样)。 |
- 点击 保存并部署。
步骤五:设置 Webhook
这是最后一步,需要将您的 Worker URL 注册到 Telegram。您可以在浏览器中访问以下 URL 完成设置:
|
|
示例https://api.telegram.org/bot112223333444:AAE5HI-vbxmidWhdbVVuvTO-5556666777/setWebhook?url=https://tgbot.xxxxxx.worker/
如果返回 {"ok":true,"result":true,"description":"Webhook was set"},则表示部署成功。
现在,管理员私聊 Bot 发送 /start 即可进入配置菜单。