Crate open_lark

Crate open_lark 

Source
Expand description

§open-lark

飞书开放平台的非官方 Rust SDK,支持自定义机器人、长连接机器人、云文档、飞书卡片、消息、群组、招聘管理等 API 调用。

§功能特性

  • 🚀 完整的 API 覆盖: 支持飞书开放平台的主要 API,包括消息、群组、云文档、招聘等
  • 🔐 自动令牌管理: 自动缓存和刷新访问令牌,支持多种令牌类型
  • 🔌 事件系统: 完整的事件处理和分发机制,支持 v1 和 v2 事件格式
  • 📡 WebSocket 支持: 实时事件处理,支持长连接机器人
  • 🎨 飞书卡片: 丰富的卡片组件支持,轻松构建交互式消息
  • 🛡️ 类型安全: 充分利用 Rust 的类型系统,编译时保证类型安全
  • 异步支持: 完全异步的 API,高性能并发处理

§快速开始

use open_lark::prelude::*;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // 创建客户端
    let client = LarkClient::builder("your_app_id", "your_app_secret")
        .with_app_type(AppType::SelfBuild)
        .with_enable_token_cache(true)
        .build();

    println!("飞书开放平台 Rust SDK 初始化成功");
    Ok(())
}

§主要模块

  • client: 客户端实现和WebSocket支持
  • core: 核心功能:HTTP传输、配置、错误处理等
  • service: 所有飞书开放平台API服务的实现
  • event: 事件处理和分发器
  • card: 飞书卡片组件和工具
  • custom_bot: 自定义机器人相关功能
  • prelude: 常用类型和trait的重导出,方便用户使用

Modules§

card
飞书卡片组件和工具
client
客户端实现和WebSocket支持
core
核心功能:HTTP传输、配置、错误处理等
custom_bot
自定义机器人相关功能
event
事件处理和分发器 事件处理模块
prelude
常用类型和trait的重导出,方便用户使用 预定义模块,导出最常用的类型和trait
service
所有飞书开放平台API服务的实现 服务模块

Macros§

impl_api_response
使用宏简化APIResponseTrait实现
impl_async_service
为服务生成异步操作支持的宏
impl_basic_service
为基础服务生成标准实现的宏
impl_configurable_service
为服务生成可配置实现的宏
impl_executable_builder
核心宏:为Builder类型自动实现ExecutableBuilder trait
impl_executable_builder_config
为直接使用Config参数的独立函数实现ExecutableBuilder trait
impl_executable_builder_owned
为使用值类型参数的Builder实现ExecutableBuilder trait
impl_full_service
一次性实现所有基础服务 traits 的便利宏
impl_service_constructor
为服务 builder 生成构造函数的宏
impl_service_health_check
为服务生成健康检查实现的宏
trace_async_performance
异步性能监控宏
trace_auth_operation
认证操作跟踪宏
trace_http_request
HTTP请求跟踪宏
trace_performance
性能监控宏
trace_response_processing
响应处理跟踪宏