用 Cloudflare 搭建一个自己的免费电报客服机器人
本文详细讲解如何利用 Cloudflare Workers 的无服务器计算能力,结合 KV 存储与 Telegram 群组话题功能,从零搭建一个完全免费的 Telegram 客服机器人。内容涵盖 Bot 申请、环境配置、代码部署(以 NextGenForward 项目为例)及 Webhook 激活全流程,并附有常见排错方法。
利用 Cloudflare Workers + KV 存储 + Telegram 群组话题,实现用户与客服的安全隔离中转。
整个流程分为
三大步骤
:准备工作 → 部署代码与配置 → 激活 Webhook。下面以社区活跃的
NextGenForward
项目为例,手把手带你完成。
📋 一、准备工作
1. 获取 Telegram Bot Token
在 Telegram 中搜索
@BotFather
,发送
/newbot
按提示创建机器人。创建成功后,
保存返回的 Token
(格式如
123456:ABC-DEF...
)。
2. 创建管理员群组并开启话题
- 新建一个 Telegram 群组, 务必在群组设置中开启「话题 (Topics)」功能 。
- 将你创建的机器人拉入群组,并 设为管理员 ,授予「管理话题」权限。
3. 获取群组 ID(SUPERGROUP_ID)
在桌面端右键点击群组中的任意消息 → 选择「复制消息链接」,链接中那串数字前面加上
-100
即为群组 ID。
例如链接中为
1234567890
,则 ID 为
-1001234567890
。
4. 准备 Cloudflare 账号
注册并登录 Cloudflare ,后续操作均在 Dashboard 中完成。
🚀 二、部署代码与配置
推荐使用
NextGenForward
项目,文档清晰、功能完整。有两种部署方式:
方式一:通过 GitHub 连接部署(推荐)
- Fork 项目 :登录 GitHub,Fork 仓库 https://github.com/mole404/NextGenForward 。
- 连接 Cloudflare :进入 Cloudflare Dashboard → Workers & Pages → 创建应用程序 → 连接到 Git。授权并选择你 Fork 的仓库,点击「部署」。
方式二:手动复制代码部署
- 在 Workers & Pages 页面,点击「创建应用程序」→「创建 Worker」,命名后点击「部署」。
-
点击 Worker 的「编辑代码」,将
NextGenForward项目中的worker.js内容 全部复制粘贴 ,覆盖原有代码,然后「保存并部署」。
⚠️ 无论哪种方式,接下来的绑定和变量配置都是必须的,请勿跳过。
🔗 绑定 KV 数据库(存储用户-话题映射)
-
在 Cloudflare 左侧菜单找到
存储和数据库
→
KV
,点击「创建命名空间」,名称可填
TOPIC_MAP。 - 回到 Worker 页面 → 设置 → 变量 ,在「KV 命名空间绑定」部分点击「添加绑定」。
-
变量名称
必须填写
TOPIC_MAP,然后选择刚创建的 KV 命名空间,点击「保存」。
⚙️ 添加环境变量
在同一个 Worker 的 设置 → 变量 → 环境变量 中,添加以下变量( 文本 或 密钥 类型均可):
|
变量名 |
说明 |
示例值 |
|---|---|---|
|
|
必填 。从 @BotFather 获取的 Token |
|
|
|
必填 。管理员群组 ID |
|
|
|
选填但强烈推荐。Worker 访问地址,用于人机验证等 |
|
|
|
如使用 Turnstile 人机验证则必填 |
在 Cloudflare Turnstile 获取 |
|
|
如使用 Turnstile 人机验证则必填 |
在 Cloudflare Turnstile 获取 |
|
|
选填。指定管理员 Telegram ID,多个用英文逗号隔开 |
|
💡 Turnstile 人机验证 :可在 Cloudflare 左侧菜单 Turnstile 中免费创建,能有效防止机器人骚扰。如果不需要,留空即可。
📡 三、激活 Webhook(最后一步)
配置完所有内容后,需要告诉 Telegram 你的机器人服务器地址(即 Worker 地址)。
在浏览器地址栏打开以下链接
(替换
你的BOT_TOKEN
和
你的WORKER_URL
):
https://api.telegram.org/bot 你的BOT_TOKEN /setWebhook?url= 你的WORKER_URL
例如 Token 为
123:abc
,Worker 地址为
https://mybot.workers.dev
,则访问:
https://api.telegram.org/bot123:abc/setWebhook?url=https://mybot.workers.dev
如果返回
{"ok":true, ...}
的 JSON 结果,即表示成功。
✅ 验证与常用指令
现在给机器人发送
/start
,正常情况下,管理员群组中会自动创建一个以你命名的话题,后续消息会转发到该话题,管理员在话题中回复,你就能在私聊中收到回复。
常用管理员指令(在群组话题中发送)
-
/ban— 封禁用户 -
/unban— 解封用户 -
/trust— 将用户加入白名单(免验证) -
/settings— 打开机器人的设置面板(部分项目支持)
🔧 排错小贴士
-
检查 Webhook 状态
:访问
https://api.telegram.org/bot你的BOT_TOKEN/getWebhookInfo查看返回信息。 - 重设 Webhook (有时能解决奇怪问题):
-
-
先访问:
https://api.telegram.org/bot你的BOT_TOKEN/deleteWebhook?drop_pending_updates=true -
再重新执行上文的
setWebhook步骤。
-
先访问:
📌 其他开源项目也一样 :无论选用哪个项目,核心流程都是「部署代码 → 绑定 KV/D1 数据库 → 设置环境变量 → 激活 Webhook」,逻辑完全通用。
🧩 全程免费,依托 Cloudflare 免费额度,适合个人或小团队快速搭建客服系统。
写给小白们
对于毫无经验的小白用户,首次部署机器人,可能非常费劲。不用担心,整体按上面步骤操作,基本上10分钟就能完成。实在搞不懂,可以把上面资料复制给AI 工具,让AI工具指导你,也可以很快完成。
AI工具的选择: GPT\ Gemini\deepseek这些都可以