openlark_webhook/lib.rs
1//! OpenLark Webhook Module
2//!
3//! 飞书 Webhook 自定义机器人模块,提供通过 webhook URL 发送消息的功能。
4//!
5//! ## 主要功能
6//!
7//! - **消息发送**: 支持文本、卡片、图片、文件、富文本等多种消息类型
8//! - **签名验证**: 可选的 HMAC-SHA256 签名验证(通过 `signature` feature)
9//! - **Builder 模式**: 流畅的链式调用 API
10//! - **类型安全**: 编译时验证所有参数
11//!
12//! ## 使用示例
13//!
14//! ```rust,ignore
15//! use openlark_webhook::prelude::*;
16//!
17//! #[tokio::main]
18//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
19//! let client = WebhookClient::new();
20//!
21//! // 发送文本消息
22//! client
23//! .send_message("https://open.feishu.cn/open-apis/bot/v2/hook/...")
24//! .text("Hello, Webhook!")
25//! .execute()
26//! .await?;
27//!
28//! Ok(())
29//! }
30//! ```
31//!
32//! ## 功能模块
33//!
34//! - `robot` - 机器人功能(消息发送)
35//! - `common` - 共享工具(验证、错误处理)
36//! - `prelude` - 常用导入
37
38#![warn(clippy::all)]
39
40/// Webhook 通用能力模块。
41///
42/// 包含错误定义、输入校验以及可选的签名辅助函数。
43pub mod common;
44/// Webhook 消息模型模块。
45///
46/// 提供文本、富文本、图片、文件等消息体的序列化结构。
47pub mod models;
48
49#[cfg(feature = "robot")]
50/// 自定义机器人能力模块。
51///
52/// 提供基于 webhook URL 发送消息的客户端与请求构建器。
53pub mod robot;
54
55/// 常用类型预导出模块。
56pub mod prelude;
57
58#[cfg(feature = "robot")]
59/// 自定义机器人客户端类型。
60pub use robot::v1::client::WebhookClient;