一个强迫AI
开发的可部署到Cloudflare Workers
上的Telegram
机器人,用于管理Notion
数据库和GitHub
仓库绑定的Bot
应用。
功能特点
- 🤖
Telegram
机器人管理界面 - 📦 适用于基于
Notion
作为数据库的静态站点 - 🔄 指令化关联
Notion
数据库和GitHub
仓库绑定 - 🔗 支持多个数据库和仓库的绑定
- 📝
Notion
数据库更新时自动触发GitHub Actions
工作流 - 📝 指令式触发
Notion
数据库绑定仓库的GitHub Actions
工作流 - 🔔 实时接收工作流执行状态消息
准备工作
申请 Telegram Bot
Notion Token 获取与 Webhook 配置
1. 创建 Notion 集成
- 访问 Notion Integrations
- 点击
New integration
- 填写集成名称和选择工作区
- 保存并获取
NOTION_TOKEN
2. 配置数据库权限
- 在
Notion
中打开要集成的数据库 - 点击右上角的
...
菜单 - 选择
Add connections
- 选择你创建的集成
3. 设置 Webhook
后续步骤需要等待workers
项目部署成功后方可继续。
- 访问 Notion Webhooks
- 点击
New webhook
- 选择要监听的数据库
- 设置
webhook URL
为你的Worker URL
(例如:https://your-worker.workers.dev/api/notion/webhook
) - 保存配置
4. 验证 Webhook
当你设置webhook URL
时,Notion
会发送一个验证请求。我们的Workers
会自动处理这个请求:
当你收到验证请求时,机器人会发送一条消息给你,包含验证令牌
消息格式如下:
text 1
2
3
4
5
6🔔 Notion Webhook 验证请求
验证令牌:
<code>your-verification-token</code>
请点击上方令牌复制,然后添加到`Notion webhook`配置中。点击消息中的令牌即可复制
将令牌添加到
Notion webhook
配置中完成验证
环境变量
准备好workers
项目运行时所需的环境变量:
1 | # Notion API 令牌 |
获取 KV 命名空间id
安装部署
fork
本仓库- 创建
cloudflare workers
项目- 选择
fork
的仓库 - 输入构建变量:
KV_NAMESPACE_ID
:KV
命名空间ID
- 部署项目
- 选择
- 创建完成后,打开
workers
设置面板,填写运行时
所需的环境变量
(变量名称处支持多个变量的复制粘贴) - 部署成功后,访问
https://your-worker.workers.dev/
,即可看到机器人的欢迎界面 - 访问
https://your-worker.workers.dev/api/telegram/setup
,你应该看到Webhook setup completed
的成功提示 - 此时可以继续完成
notion webhook
的验证步骤 - Enjoy the bot!
使用说明
- 发送
/start
开始使用 - 发送
/help
查看帮助
`/list - 列出所有监听的 Notion 数据库
/bind [数据库ID] [owner/repo] - 添加 Notion 数据库和 GitHub 仓库的绑定
/unbind - 移除 Notion 数据库和 GitHub 仓库的绑定
/trigger - 手动触发 GitHub repository_dispatch 事件
使用说明:
- 数据库 ID 可以从 Notion 数据库页面的 URL 中获取,格式为 32 位字符串
- 添加/移除数据库需要管理员权限
- 使用 /list 可以查看当前所有监听的数据库
- 使用 /trigger 可以手动触发已关联的 GitHub Action`