发送消息到飞书。当用户提到"发飞书消息"、"给飞书发消息"、"发送消息到飞书"、"发消息到飞书"等时使用。
---
name: feishu-send-msg
version: 1.0.0
description: |
发送消息到飞书。当用户提到"发飞书消息"、"给飞书发消息"、"发送消息到飞书"、"发消息到飞书"等时使用。
emoji: 💬
---
# 飞书发送消息
## 发送方法
### 使用 message 工具(推荐)
发送消息只需要一个简单的工具调用:
```python
message(
action="send",
channel="feishu",
message="消息内容",
target="<USER_OPEN_ID>"
)
```
### 参数说明
| 参数 | 必须 | 说明 |
|------|------|------|
| action | 是 | 固定为 `"send"` |
| channel | 是 | 固定为 `"feishu"` |
| message | 是 | 消息内容(文本) |
| target | 是 | 接收者的 open_id,格式:`ou_xxx` |
### 发送步骤
1. 调用 `message` 工具,传入 `channel=feishu` 表示发往飞书
2. `target` 填入接收者的 open_id
3. `message` 填入要发送的文本内容
4. 工具自动将消息投递到飞书
### 示例代码
```python
# 发送普通文字消息
message(
action="send",
channel="feishu",
message="你好,这是一条测试消息",
target="<USER_OPEN_ID>"
)
# 发送多行消息
message(
action="send",
channel="feishu",
message="第一行\n第二行\n第三行",
target="<USER_OPEN_ID>"
)
```
## open_id 说明
- open_id 是飞书用户的唯一标识
- open_id 是**应用相关**的,同一个用户在不同的应用下有不同的 open_id
- 发送消息时需要使用**当前应用**下的 open_id
## 故障排除
### 发送失败:need_user_authorization
- 原因:应用没有获得以用户身份发消息的权限
- 解决:用户需要在飞书里给应用授权(发送"授权"或类似指令给机器人)
### 发送失败:open_id cross app
- 原因:使用的 open_id 不是当前应用的
- 解决:使用正确应用下的 open_id
### 发送失败:权限不足
- 原因:应用缺少 `im:message.send_as_user` 权限
- 解决:在飞书开放平台给应用开通该权限
## 技术原理
- 通过 `message` 工具发送,机器人身份投递
- 不需要获取 token 或用户授权(机器人权限即可发送)
- 消息显示为机器人发送的消息
## 注意事项
1. **飞书消息工具**:使用 `message` 工具,channel 设为 `feishu`
2. **不要混淆**:不要使用 `feishu_im_user_message` 工具(该工具需要飞书会话上下文,从网页端调用会失败)
3. **发送者身份**:通过 `message` 工具发送的消息显示为机器人身份
don't have the plugin yet? install it then click "run inline in claude" again.