核心功能与用法
飞书@机器人技能用于在群聊环境中实现机器人之间的消息触达与协作。核心机制是通过特定XML标签格式(<at user_id="open_id">)在消息体中嵌入机器人标识,使目标机器人能够接收并响应@通知。
三种消息格式支持:
- 文本消息:最常用,格式为
<at user_id="open_id">显示名</at> 内容 - 富文本消息(post):在markdown结构中使用相同at标签
- 卡片消息(interactive):使用简化格式
<at id=open_id></at>
关键获取路径:飞书官方API不提供群成员中的机器人查询接口,唯一可靠方式是从历史消息的mentions字段反向提取,要求目标机器人曾被@过。
显著优点
1. 原生集成:基于飞书官方IM消息协议,稳定性有保障
2. 事件驱动:被@机器人可通过im.message.group_at_msg事件实时响应
3. 格式灵活:覆盖文本、富文本、卡片三种主流消息类型
4. 零代码触发:用户仅需@操作即可激活机器人联动
潜在局限与风险
获取门槛高:open_id获取依赖消息历史遍历,新机器人需先被人工@一次才能被识别,形成"先有鸡还是先有蛋"的启动困境。
权限链复杂:涉及调用方权限(发送消息)、接收方权限(订阅事件)、群成员身份三重校验,任一环节失败即静默失败。
缓存管理:建议缓存到TOOLS.md或数据库,但文档未提供缓存失效机制。
适用人群
- 多机器人协作场景的产品团队
- 需要构建机器人工作流(Bot-to-Bot)的开发者
- 飞书自建应用与第三方服务集成的实施人员
常规风险
| 风险点 | 说明 |
|--------|------|
| ID混淆 | `app_id`与`open_id`(`ou_`开头)不可互换 |
| 静默失败 | 机器人不在群或未订阅事件时,发送成功但无响应 |
| 频率限制 | 未提及但需关注飞书API调用配额 |
| 安全凭证 | `tenant_access_token`在示例中以明文curl传递,存在泄露风险 |