一个基于 Cloudflare Workers 的 Telegram 机器人,用于为指定群组的成员生成专属的永久邀请链接。
- 私密操作:用户通过私聊发送
/start或/link命令申请邀请链接 - 权限验证:自动验证用户是否为指定群组的成员
- 专属链接:为每个用户生成唯一的永久邀请链接,可无限次使用
- 数据存储:使用 Cloudflare KV 存储用户与邀请链接的映射关系
- 自动回复:根据用户状态提供清晰的提示信息
- 在 Telegram 中搜索 @BotFather
- 发送
/newbot命令创建新机器人 - 设置机器人名称和用户名(必须以
bot结尾) - 保存 API Token(格式类似
1234567890:ABCdefGHIjklMNOpqrsTUVwxyz)
- 将机器人添加为群组管理员
- 在群组中发送一条消息
- 访问以下 URL 查看群组 ID(替换
YOUR_BOT_TOKEN):https://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates - 群组 ID 通常为负数(如
-1001234567890)
npm install -g wrangler
wrangler loginwrangler kv:namespace create "LINK_BOT_KV"创建 wrangler.toml 文件:
name = "telegram-link-bot"
compatibility_date = "2024-01-01"
[[kv_namespaces]]
binding = "LINK_BOT_KV"
id = "你的KV命名空间ID"
[vars]
BOT_TOKEN = "你的Telegram Bot Token"
WHITELISTED_GROUP_ID = "你的群组ID"
BOT_USERNAME = "你的bot用户名"wrangler deploy- 登录 https://dash.cloudflare.com/
- 进入 "Workers & Pages" 页面
- 点击 "Create Application" → "Create Worker"
- 将提供的 JavaScript 代码粘贴到代码编辑器中
- 在 Worker 页面点击 "Settings" 标签
- 选择 "Variables" → "Environment Variables"
- 添加以下变量:
BOT_TOKEN= 你的Telegram Bot TokenWHITELISTED_GROUP_ID= 你的群组ID- 'BOT_USERNAME' = "你的bot用户名"
- 在 "Settings" 页面选择 "KV Namespace Bindings"
- 点击 "Add binding"
- 填写:
- Variable name:
LINK_BOT_KV - KV namespace:选择或创建新的命名空间
- Variable name:
- 保存设置
- 点击右上角 "Save and Deploy" 按钮
- 获取您的 Worker URL(格式如
https://your-worker.your-subdomain.workers.dev)
无论使用哪种部署方法,都需要设置 Webhook:
直接在浏览器地址栏输入(替换 YOUR_BOT_TOKEN 和 YOUR_WORKER_URL):
https://api.telegram.org/botYOUR_BOT_TOKEN/setWebhook?url=YOUR_WORKER_URL
curl -X POST "https://api.telegram.org/botYOUR_BOT_TOKEN/setWebhook" \
-H "Content-Type: application/json" \
-d '{"url": "YOUR_WORKER_URL"}'访问以下 URL 检查是否设置成功:
https://api.telegram.org/botYOUR_BOT_TOKEN/getWebhookInfo
- 用户私聊机器人:在 Telegram 中搜索您的机器人用户名
- 发送命令:使用
/start或/link - 权限验证:机器人自动验证用户群组身份
- 获取链接:
- 首次使用:生成新的专属邀请链接
- 再次使用:返回已存储的链接
- 确保机器人在目标群组中具有管理员权限
- 开启**"生成邀请链接"**权限
- 建议开启**"查看聊天信息"**权限
BOT_TOKEN格式应为数字:字母字符串WHITELISTED_GROUP_ID应为负数格式- KV 命名空间绑定名称必须为
LINK_BOT_KV
- 机器人不响应:检查 Webhook 是否设置正确
- 权限错误:确认机器人是群组管理员
- 链接生成失败:验证机器人是否有生成邀请链接的权限
您可以修改代码中的以下部分来自定义机器人行为:
- 修改回复消息文本
- 调整 KV 存储策略
- 更改邀请链接参数(有效期、使用次数等)
如果遇到问题:
- 检查 Cloudflare Worker 日志
- 验证环境变量配置
- 确认 Telegram Bot 权限设置
- 检查 KV 命名空间绑定
本项目基于MIT许可证开源,可自由使用和修改。