Skip to content

机器人服务 ​

Bot Service 用于把 Telegram 等消息工作流接入 Open4X。它支持 bot webhook、聊天和消息查看、widget 聊天、交互事件、文件转发和回复流程。

核心路由 ​

text
/v1/apps/bot
/v1/apps/bot/webhook
/v1/apps/bot/widget
/v1/apps/bot/ws

控制台也提供 Bot 服务配置和 webhook 状态检查。

服务配置 ​

示例:

json
{
  "service_id": "bot",
  "alias": "alerts",
  "config": {
    "platform": "telegram",
    "webhook_url": "https://example.com/internal/bot-events",
    "bot_token": "123456:ABC..."
  },
  "status": "active"
}

配置 Telegram Bot Token 后,Open4X 可以把 Telegram webhook 绑定到网关,并把事件转发给你的业务接口。

常用能力 ​

能力路由
聊天列表和消息历史/v1/apps/bot/chats
交互事件/v1/apps/bot/interactions
回复消息/v1/apps/bot/messages/reply
发送文件/v1/apps/bot/messages/send-file
Widget 聊天/v1/apps/bot/widget/*

可嵌入 Widget SDK ​

Widget SDK 对外提供 canonical 浏览器 API window.Open4XWidget:

js
window.Open4XWidget.init(sessionToken)
window.Open4XWidget.open()

品牌迁移期间,window.OpenEdgeWidget 仍作为兼容别名保留。Widget session token 是短期令牌,不能在浏览器代码中改用平台 API Key。

完整的短期会话、WebSocket、增量事件游标、HMAC 签名和 staging 接入示例见 Widget Service 协议。

鉴权 ​

大多数 Bot API 需要登录态或 API Key。

API Key 建议 scope:

text
bot:send

当前 Bot 路由统一要求 bot:send;不会因为只有 bot:read 就允许读取。

运维建议 ​

  • 通过控制台配置 bot token,不要写入代码。
  • 日志中避免保存包含私人信息的完整消息正文。
  • 使用控制台 webhook status 检查 Telegram 是否绑定到正确网关 URL。