返回顶部
f

feishu-messaging

|

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.0.3
安全检测
已通过
11,622
下载量
19
收藏
概述
安装方式
版本历史

feishu-messaging

# 飞书消息与文档 Skill ## 概述 此 Skill 通过飞书开放平台 API 帮助用户发送消息、创建文档和管理飞书资源。 ## 核心能力 | 功能 | 状态 | 所需权限 | |------|------|---------| | 发送文本消息 | ✅ 可用 | `im:message:send_as_bot` | | 获取群聊列表 | ✅ 可用 | `im:chat:readonly` | | 获取群成员 | ✅ 可用 | `im:chat.members:read` | ## 使用方法 ### 发送消息给指定用户 ``` 给 [姓名] 发一条飞书消息,告诉他 [内容] ``` **前置条件**:需要获取用户的 open_id ### 1. 获取群聊id的方法 ```python import json import lark_oapi as lark from lark_oapi.api.im.v1 import * def main(): # 创建client client = lark.Client.builder() \ .app_id("YOUR_APP_ID") \ .app_secret("YOUR_APP_SECRET") \ .log_level(lark.LogLevel.DEBUG) \ .build() # 构造请求对象 request: SearchChatRequest = SearchChatRequest.builder() \ .user_id_type("open_id") \ .query("小鸭子") \ .page_size(20) \ .build() # 发起请求 response: SearchChatResponse = client.im.v1.chat.search(request) # 处理失败返回 if not response.success(): lark.logger.error( f"client.im.v1.chat.search failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}, resp: {json.dumps(json.loads(response.raw.content), indent=4, ensure_ascii=False)}") return # 处理业务结果 lark.logger.info(lark.JSON.marshal(response.data, indent=4)) if __name__ == "__main__": main() ``` ### 2. 发送消息 ``` python import json import lark_oapi as lark from lark_oapi.api.im.v1 import * def main(): # 创建client client = lark.Client.builder() \ .app_id("YOUR_APP_ID") \ .app_secret("YOUR_APP_SECRET") \ .log_level(lark.LogLevel.DEBUG) \ .build() # 构造请求对象 request: CreateMessageRequest = CreateMessageRequest.builder() \ .receive_id_type("open_id") \ .request_body(CreateMessageRequestBody.builder() .receive_id("ou_7d8a6e6df7621556ce0d21922b676706ccs") .msg_type("text") .content("{\"text\":\"test content\"}") .uuid("选填,每次调用前请更换,如a0d69e20-1dd1-458b-k525-dfeca4015204") .build()) \ .build() # 发起请求 response: CreateMessageResponse = client.im.v1.message.create(request) # 处理失败返回 if not response.success(): lark.logger.error( f"client.im.v1.message.create failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}, resp: {json.dumps(json.loads(response.raw.content), indent=4, ensure_ascii=False)}") return # 处理业务结果 lark.logger.info(lark.JSON.marshal(response.data, indent=4)) if __name__ == "__main__": main() ``` ### 3. 图片消息 ```python import json import lark_oapi as lark from lark_oapi.api.im.v1 import * def main(): # 创建client client = lark.Client.builder() \ .app_id("YOUR_APP_ID") \ .app_secret("YOUR_APP_SECRET") \ .log_level(lark.LogLevel.DEBUG) \ .build() # 构造请求对象 file = open("小鸭子.jpg", "rb") request: CreateImageRequest = CreateImageRequest.builder() \ .request_body(CreateImageRequestBody.builder() .image_type("message") .image(file) .build()) \ .build() # 发起请求 response: CreateImageResponse = client.im.v1.image.create(request) # 处理失败返回 if not response.success(): lark.logger.error( f"client.im.v1.image.create failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}, resp: {json.dumps(json.loads(response.raw.content), indent=4, ensure_ascii=False)}") return # 处理业务结果 lark.logger.info(lark.JSON.marshal(response.data, indent=4)) if __name__ == "__main__": main() ``` ### 4. 上传文件 ```python import json import lark_oapi as lark from lark_oapi.api.im.v1 import * def main(): # 创建client client = lark.Client.builder() \ .app_id("YOUR_APP_ID") \ .app_secret("YOUR_APP_SECRET") \ .log_level(lark.LogLevel.DEBUG) \ .build() # 构造请求对象 file = open("飞书20260129-173520.mp4", "rb") request: CreateFileRequest = CreateFileRequest.builder() \ .request_body(CreateFileRequestBody.builder() .file_type("mp4") .file_name(""1.mp4"") .duration("3000") .file(file) .build()) \ .build() # 发起请求 response: CreateFileResponse = client.im.v1.file.create(request) # 处理失败返回 if not response.success(): lark.logger.error( f"client.im.v1.file.create failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}, resp: {json.dumps(json.loads(response.raw.content), indent=4, ensure_ascii=False)}") return # 处理业务结果 lark.logger.info(lark.JSON.marshal(response.data, indent=4)) if __name__ == "__main__": main() ``` ### 5. 查询群成员 ``` python import json import lark_oapi as lark from lark_oapi.api.im.v1 import * def main(): # 创建client client = lark.Client.builder() \ .app_id("YOUR_APP_ID") \ .app_secret("YOUR_APP_SECRET") \ .log_level(lark.LogLevel.DEBUG) \ .build() # 构造请求对象 request: GetChatMembersRequest = GetChatMembersRequest.builder() \ .chat_id("oc_dcc94d101e8d41e291e90f4623eca17a") \ .member_id_type("user_id") \ .build() # 发起请求 response: GetChatMembersResponse = client.im.v1.chat_members.get(request) # 处理失败返回 if not response.success(): lark.logger.error( f"client.im.v1.chat_members.get failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}, resp: {json.dumps(json.loads(response.raw.content), indent=4, ensure_ascii=False)}") return # 处理业务结果 lark.logger.info(lark.JSON.marshal(response.data, indent=4)) if __name__ == "__main__": main() ``` ## 文档 - [飞书 API 文档](https://open.feishu.cn/document/server-docs/api-call-guide/server-api-list)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 feishu-messaging-1776353041 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 feishu-messaging-1776353041 技能

通过命令行安装

skillhub install feishu-messaging-1776353041

下载 Zip 包

⬇ 下载 feishu-messaging v0.0.3

文件大小: 2.27 KB | 发布时间: 2026-4-17 15:57

v0.0.3 最新 2026-4-17 15:57
- 移除文档中“SDK 使用说明”相关注释,使示例代码部分更简洁。
- 精简了部分代码注释,去除了冗余的“复制该 Demo 后...”说明。
- 其余功能和结构保持不变。

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部