本项目 CDN 加速及安全防护由 Tencent EdgeOne 赞助:EdgeOne 提供长期有效的免费套餐,包含不限量的流量和请求,覆盖中国大陆节点,且无任何超额收费,感兴趣的朋友可以点击下面的链接领取
亚洲最佳CDN、边缘和安全解决方案 - Tencent EdgeOne
在部署之前,您首先需要一个 Telegram Bot。
- 关注 BotFather: 在 Telegram 中搜索并关注官方的 BotFather。
- 创建机器人:
- 获取 Token: 创建成功后,BotFather 会发送一条包含 API Token 的消息。请务必保存好这个 Token,它在后续部署中是必需的。

- 设置命令: 为了方便获取
chat_id,需要为机器人设置一个命令。
您可以选择 Vercel 或 腾讯云 EdgeOne 进行部署,两者择一即可。
Vercel 提供免费、快速的 Serverless 函数托管服务。
- 一键部署: 点击项目顶部的 Deploy with Vercel 按钮。
- 设置环境变量: 在 Vercel 的项目创建页面,你需要配置以下环境变量:
- 获取个人 Token:
- 部署完成后,在浏览器中访问
https://<你的Vercel域名>/api/setWebhook?key=<你设置的key>来设置回调。 - 然后与你的机器人对话,发送
/token命令,机器人会返回一长串加密的个人 Token。
- 部署完成后,在浏览器中访问
- 发送消息:
- 现在你可以通过请求
https://<你的Vercel域名>/api/index?token=<你的个人Token>&message=你好来给自己发送消息。
- 现在你可以通过请求
EdgeOne 是腾讯云推出的边缘一体化安全与加速平台,其 Page Functions 功能同样可以托管本项目。

- 一键部署 (推荐):
- 点击项目顶部的 使用 EdgeOne Pages 部署 按钮。
- 授权后,在项目创建页面,EdgeOne 会自动为你填充大部分配置。
- 在 环境变量 部分,填入
token和sign_key。 - 重要: 部署启动后,请立即进入项目 "设置" -> "环境变量" 页面,手动添加第三个环境变量
key。 - 环境变量说明:
token: 【必填】 你的 Telegram Bot Token。sign_key: 【必填】 加密chat_id用的密钥。key: 【必填】 设置 Webhook 用的管理密钥。
- 手动部署:
- Fork 本项目到你的 GitHub 账户。
- 在 EdgeOne 控制台新建 Pages 项目,关联你 Fork 的仓库。
- 输出目录 填写
edge_deploy。 - 手动添加上述三个环境变量。
- 获取个人 Token:
- 部署成功后,在浏览器中访问
https://<你的Pages域名>/setWebhook?key=<你设置的key>设置回调。 - 与你的机器人对话,发送
/token命令,获取个人 Token。
- 部署成功后,在浏览器中访问
- 发送消息:
- 通过访问
https://<你的Pages域名>/sendMessage?token=<你的个人Token>&message=你好发送消息。 - API 详情可参考
edge_deploy/edge.html。
- 通过访问
TG 消息推送机器人,基于 vercel 函数 和 Edgeone 边缘函数 搭建的TG消息推送机器人,无需服务器。
1.首先关注 BotFather
3.获取机器人 token
创建成功之后会发送一条消息给你,里面就包含了 token
设置机器人 Command
设置获取 token 命令 首先给 BotFather 发送 /mybots,然后点击你刚才创建的机器人,再点击 Edit Bot, 继续点击 Edit Commands。 然后输入
token - 获取token
这样就设置好了一个 commands
输入项目名,然后确认
确认之后会直接部署到 vercel
vercel 部署好了之后,然后设置环境变量
在控制台点击你创建好的项目,然后点击设置,添加环境变量
需要设置4个环境变量,1个是必填的
token: bot 机器人的token
sign_key: 加密 chat_id 需要用到,不设置默认为 abc
url: webhook 回调地址, 不设置的话请求 setWebhook 时需要手动加参数, webhook url 地址为:https://你的域名/webhook
key: 设置 webhook 的请求参数
上面的环境变量设置好了之后,可能不会立马生效,你可以重新构建一下函数
设置 webhook ,可以直接通过浏览器请求来设置
webhook地址为:https://你的域名/webhook
浏览器窗口打开:https://你的域名/setwebhook?key=环境变量设置的KEY&url=你的webhook地址
code 返回 200 就是设置成功了~
本项目现在支持接收 GitHub Webhook 事件,并将通知发送到 Telegram Bot。以下是如何设置 GitHub Webhook:
在部署平台(Vercel 或 EdgeOne)中添加以下环境变量:
github_webhook_secret: 【建议】 GitHub Webhook 密钥,用于验证请求来源。设置为一个复杂的随机字符串。default_chat_id: 【可选】 默认的 Telegram Chat ID,如果不设置,则需要在请求中提供 token 参数。
- 在你的 GitHub 仓库中,进入 Settings -> Webhooks -> Add webhook。
- Payload URL: 填写
https://<你的域名>/api/githubWebhook(Vercel)或https://<你的域名>/githubWebhook(EdgeOne)。 - Content type: 选择
application/json。 - Secret: 填入你在环境变量中设置的
github_webhook_secret值。 - Which events would you like to trigger this webhook?: 选择你想要的事件,例如:
- Pull requests: 当有新的、更新或关闭的 PR 时触发
- Pushes: 当有代码推送到仓库时触发
- Issues: 当有新的、更新或关闭的 Issue 时触发
- Releases: 当有新的 Release 发布时触发
- 点击 Add webhook 保存设置。
在 GitHub Webhook 设置页面,点击最近添加的 webhook,然后点击 "Redeliver" 按钮来测试发送一个 ping 事件。
目前支持以下 GitHub 事件类型:
- pull_request: PR 创建、更新、关闭、重新打开等
- push: 代码推送到仓库
- issues: Issue 创建、更新、关闭、重新打开等
- release: 新版本发布
如果你不想设置 default_chat_id 环境变量,也可以在 Webhook URL 中添加 token 参数:
https://<你的域名>/api/githubWebhook?token=<你的个人Token>
这样,GitHub 事件通知将发送到与该 token 关联的 Telegram 聊天。
如果您发送 /token 命令到机器人但没有收到回复,请按照以下步骤进行排查:
-
检查 Webhook 设置:
- 访问
https://<你的域名>/api/debug查看当前 webhook 设置和环境变量状态 - 确保 webhook URL 正确指向
https://<你的域名>/api/webhook
- 访问
-
重新设置 Webhook:
- 访问
https://<你的域名>/api/setWebhook?key=<你设置的key>&url=https://<你的域名>/api/webhook - 确保返回
{ "code": 200, "message": "Webhook set to https://<你的域名>/api/webhook" }
- 访问
-
检查环境变量:
- 确保已正确设置
token(Bot Token) - 确保已正确设置
sign_key(加密密钥) - 确保已正确设置
key(管理密钥)
- 确保已正确设置
-
检查 Bot 权限:
- 确保机器人有发送消息的权限
- 确保你没有屏蔽机器人
-
查看日志:
- 在 Vercel 或 EdgeOne 控制台查看函数日志,查找可能的错误信息
您可以使用 curl 命令手动测试 webhook:
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"message": {
"text": "/token",
"chat": {
"id": 你的chat_id
}
}
}' \
https://<你的域名>/api/webhook如果您不知道自己的 Chat ID,可以:
- 向机器人发送任意消息
- 访问
https://api.telegram.org/bot<你的BotToken>/getUpdates - 在返回结果中找到
message.chat.id字段








