一个强迫AI开发的可部署到Cloudflare Workers上的Telegram机器人,用于管理Notion数据库和GitHub仓库绑定的Bot应用。
- 🤖 
Telegram机器人管理界面 - 📦 适用于基于
Notion作为数据库的静态站点 - 🔄 指令化关联
Notion数据库和GitHub仓库绑定 - 🔗 支持多个数据库和仓库的绑定
 - 📝 
Notion数据库更新时自动触发GitHub Actions工作流 - 📝 指令式触发
Notion数据库绑定仓库的GitHub Actions工作流 - 🔔 实时接收工作流执行状态消息
 - ⏰ 延时触发,避免频繁触发
GitHub Actions 
- 访问 Telegram Bot Father
 - 输入
/newbot,然后输入机器人的名称和描述 - 获取
BOT_TOKEN 
- 访问 Notion Integrations
 - 点击
New integration - 填写集成名称和选择工作区
 - 保存并获取 
NOTION_TOKEN 
- 在
Notion中打开要集成的数据库 - 点击右上角的
...菜单 - 选择
Add connections - 选择你创建的集成
 
后续步骤需要等待workers项目部署成功后方可继续。
- 访问 Notion Webhooks
 - 点击
New webhook - 选择要监听的数据库
 - 设置
webhook URL为你的Worker URL(例如:https://your-worker.workers.dev/api/notion/webhook) - 保存配置
 
当你设置webhook URL时,Notion会发送一个验证请求。我们的Workers会自动处理这个请求:
- 当你收到验证请求时,机器人会发送一条消息给你,包含验证令牌
 - 消息格式如下:
🔔 Notion Webhook 验证请求 验证令牌: <code>your-verification-token</code> 请点击上方令牌复制,然后添加到`Notion webhook`配置中。 - 点击消息中的令牌即可复制
 - 将令牌添加到
Notion webhook配置中完成验证 
准备好workers项目运行时所需的环境变量:
# Notion API 令牌
NOTION_TOKEN=your_notion_integration_token
# Telegram 配置
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
TELEGRAM_ADMIN_USER_ID=your_telegram_user_id
# GitHub 配置
GITHUB_TOKEN=your_github_personal_access_token
# 延时触发actions
TRIGGER_DELAY_MINUTES=5- 访问 Cloudflare Dashboard
 - 打开
存储和数据库 - 创建一个
KV - 记录下
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 事件
使用说明:
1. 数据库 ID 可以从 Notion 数据库页面的 URL 中获取,格式为 32 位字符串
2. 添加/移除数据库需要管理员权限
3. 使用 /list 可以查看当前所有监听的数据库
4. 使用 /trigger 可以手动触发已关联的 GitHub Action
MIT