Pywayne Lark Bot

🤖 飞书机器人开发一站式 SDK

飞书机器人 Python SDK,支持消息发送(文本/图片/文件/卡片/富文本)、Markdown 自动分包与表格降级、文件上传下载、用户群组查询及异步消息监听,适用于企业自动化通知与交互场景。

收藏
5.9k
安装
1.4k
版本
0.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

概述

Pywayne Lark Bot 是一款面向飞书(Feishu/Lark)平台的 Python 机器人开发 SDK,封装了飞书 Open API 的核心能力,提供从消息发送到消息监听的完整闭环解决方案。

核心用法

初始化与认证:通过 LarkBot(app_id, app_secret) 完成应用级认证,支持消息发送、文件管理、用户信息查询等全功能 API 调用。

消息发送

  • 文本消息send_text_to_user/chat 支持基础文本推送
  • 富格式文本TextContent 提供 @所有人、@指定用户、加粗、斜体、下划线、删除线、超链接等样式构造
  • 多媒体消息:支持图片(send_image)、音频(send_audio)、文件(send_file)、媒体(send_media)的原生发送
  • 富文本(Post)PostContent 构建器支持多行混排、代码块、Markdown、表情、分割线等复杂排版
  • 交互卡片:同时支持原始卡片(send_interactive)和 CardContentV2 构造器(schema 2.0,推荐)
  • Markdown 优选路径send_markdown_to_chat 为核心亮点,自动处理大文本分包(chunking),支持 card_v2(默认,交互卡片渲染)和 post(富文本)双路由,后者可配置 table_fallback="code_block" 将 Markdown 表格稳定降级为代码块

文件操作upload_image/upload_file 获取媒体 key,download_image/download_file/download_message_resources 实现双向文件流转

用户与群组管理:查询用户 Open ID(通过邮箱/手机号)、获取群组列表、按名称搜索群 ID、提取群成员、反向解析用户名等,便于动态路由消息

消息监听LarkBotListener 提供异步事件驱动架构,支持 @text_handler/@image_handler/@file_handler/@listen 装饰器注册处理器,内置消息去重(60秒)、临时文件自动管理、异常隔离等机制

显著优点

1. Markdown 场景深度优化:独创的自动分包与表格降级策略,解决飞书 API 对消息大小和表格渲染的限制痛点
2. 双路由设计card_v2post 灵活切换,兼顾美观渲染与兼容性

3. 监听架构完备:异步装饰器模式降低回调地狱,去重与异常隔离保障生产稳定性

4. 类型覆盖全面:从简单文本到复杂交互卡片,从单聊私推到群广播,覆盖企业通知全场景

潜在缺点与局限性

1. 生态依赖:强绑定飞书平台,迁移成本较高;若企业切换 IM 需重写适配层
2. 异步门槛:监听模块强制使用 async/await,对同步代码库集成需额外封装

3. 表格降级非无损table_fallback 为代码块形式,丧失表格交互性,仅适合数据展示

4. 未明确速率限制:文档未提及飞书 API 的 QPS 限制与 SDK 内置流控策略,高并发场景需自行限流

适合人群

  • 需要向飞书推送自动化通知的 DevOps/运维工程师
  • 构建飞书聊天机器人的后端开发者
  • 企业内部系统集成商,需打通 ERP/CRM 与飞书消息通道

常规风险

  • 凭证泄露app_id/app_secret 硬编码存在泄露风险,建议配合密钥管理服务
  • 临时文件残留:监听下载的图片/文件存放于临时目录,长期运行需监控磁盘
  • 消息去重窗口:60秒去重机制在极端延迟场景可能导致消息丢失,关键业务需额外幂等设计

Pywayne Lark Bot 内容

手动下载zip · 4.7 kB
skill-card.mdtext/markdown
请选择文件