feishu-im
Feishu IM messaging operations: send messages, images, files to users and groups via Bot API. Activate when user mentions: 飞书发图、发送图片、飞书消息、im:resource、image_key、飞书附件、飞书机器人发消息。
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/inuyashayang/inuyasha-feishu-imgFeishu IM Tool
Use the message tool with channel=feishu for all IM operations.
Send Text Message
message(action=send, channel=feishu, target=<user_id or chat_id>, message="text")
Send Image (CORRECT method)
Always use filePath or media, never paste a raw path in message text.
message(action=send, channel=feishu, target=<chat_id>, filePath="/absolute/path/to/image.jpg")
Or with caption:
message(action=send, channel=feishu, target=<chat_id>, media="/path/to/image.jpg", message="caption text")
The tool handles the two-step upload internally:
- POST /im/v1/images → get image_key
- POST /im/v1/messages with image_key
Common Failure Modes — Images Show as Path/Link
See references/image-sending-pitfalls.md for full diagnosis.
TL;DR root causes:
- Assistant wrote raw file path in message text instead of calling
messagetool → plain text, no upload - Used
MEDIA:/absolute/path→ security filter strips it image_typewrong during upload (must bemessage, notavatar)tenant_access_tokenexpired (TTL ~2h) → upload silently fails, key is empty- Webhook custom bot used instead of Bot App → no access_token, can't upload images
Permissions Required
| Scope | Purpose |
|---|---|
im:resource | Upload image/file to IM, get file_key / image_key |
im:message | Send messages with media |
im:message:send_as_bot | Send as bot identity |
All three are currently granted on this installation.
Bot Type Comparison
| Feature | Webhook Custom Bot | Bot App (自建应用) |
|---|---|---|
| Send text | ✅ | ✅ |
| Send image | ⚠️ base64 only (不推荐) | ✅ via image_key |
| access_token | ❌ 无 | ✅ tenant_access_token |
| Upload API | ❌ 不支持 | ✅ /im/v1/images |
OpenClaw uses Bot App — always use the message tool, not raw Webhook POST.
Token Refresh
tenant_access_token expires in ~2 hours. If uploads silently fail:
- Error code
99991663= image_key invalid - Error code
99991400= token expired
OpenClaw refreshes tokens automatically on each API call. If you see these errors, check Gateway logs.
References
references/image-sending-pitfalls.md— detailed failure mode diagnosis- Feishu API docs: https://open.feishu.cn/document/server-docs/im-v1/image/create
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-inuyashayang-inuyasha-feishu-img": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
zhihu-post
在知乎发布内容(专栏文章、想法/动态)。使用 Chrome Browser Relay 控制用户的 Chrome 浏览器完成发布。触发词:知乎发帖、发知乎、知乎文章、知乎想法、zhihu post、发布到知乎、帮我发知乎。
worktree-codex
使用 git worktree 隔离多个 Codex 实例,由 OpenClaw 主控器并行调度完成同一项目的不同编码模块。 适用场景:将一个编码项目拆分为独立子任务,让多个 Codex 实例并行实现,最后合并 PR。 触发条件:用户要求"多个 Codex 协作"、"并行编码"、"worktree 编码"、"多 Codex 编排"、"并行完成项目"时激活。