基于 Cloudflare Worker 构建了一个模块化的 Telegram 机器人网关。
详细说明见博客文章
通过 Bot Menu 选择和切换应用,并通过对话进行交互。交互方式如下图:
MetaData 范例:
Key = APP-COUNTER
Value = {"appCode": "counter", "appName": "打卡助手"}
手工调用
https://api.telegram.org/bot{my_bot_token}/setWebhook?url={url_to_send_updates_to}&secret_token={tg_secret_token}
在 BotFather -> Edit Bot 中添加需要的应用服务的命令和名称
- TG_BOT_TOKEN
- TG_CHAT_ID
- TG_SECRET_TOKEN: 1-256 位 Token,用来做鉴权认证。
功能模块依靠 Binding Service 注入到网关中使用。
# wrangler.toml
[[services]]
binding = "TRANSLATOR"
service = "telegram-assistant-translator"
[[services]]
binding = "COUNTER"
service = "telegram-assistant-counter"
目前可以参考的服务模块
- 打卡小助手 打卡小助手
- 翻译小助手 基于 CF AI 模型
- LLama-2-7b 基于 @cf/meta/llama-2-7b-chat-int8
- 智谱AI ChatGLM 基于 ChatGLM Std
- Bing Image Creator 基于 Bing DALLE-3
- 清理和规范代码
- 更详细的文档
- 部署说明
- 自动注册 Webhook 和自动注册 Menu