Skip to main content

lark_channel/
lib.rs

1//! Lark/Feishu Channel SDK for Rust.
2//!
3//! This crate is an early scaffold for a Rust equivalent of the Lark Channel SDK:
4//! reliable inbound events, normalized messages, streaming replies, media helpers,
5//! and interactive card callbacks.
6
7pub mod card;
8pub mod client;
9pub mod config;
10pub mod error;
11pub mod event;
12pub mod lark_openapi;
13pub mod media;
14pub mod message;
15mod validation;
16
17pub use card::{
18    Card, CardBuilder, CardButtonStyle, CardElement, CardElementContent, CardId, CardSettings,
19    CardStreamingConfig, CardStreamingPlatformValues, CardStreamingPrintStrategy,
20    MAX_CARD_ELEMENT_CONTENT_CHARS, MAX_CARD_JSON_BYTES,
21};
22pub use client::{ChannelClient, ChannelClientExt};
23pub use config::{ChannelConfig, Domain};
24pub use error::{Error, Result};
25pub use event::{
26    CardActionContext, CardActionEvent, CardActionOperator, CardActionPayload, CardActionResponse,
27    CardActionToast, CardActionToastType, ChannelEvent, EventContext, parse_lark_event_payload,
28};
29#[cfg(feature = "websocket")]
30pub use event::{
31    EventConnection, EventConnectionItem, EventConsumer, EventLoop, EventLoopExit,
32    EventLoopOptions, EventPacketReassemblyOptions, EventReconnectLimit, EventStreamConnector,
33    OpenApiWebSocketEventConnector, ReceivedEvent, WebSocketEndpointConnector,
34};
35pub use media::{ResourceDescriptor, ResourceType};
36pub use message::{
37    ContinuingMarkdownStream, MarkdownStream, MarkdownStreamBuilder, MarkdownStreamPage,
38    MessageBuilder, MessageChatType, MessageContent, MessageId, MessageMention,
39    MessageReplyBuilder, MessageSender, MessageSenderInfo, MessageSenderOptions, MessageSenderType,
40    NormalizedMessage, PostContent, PostContentBuilder, PostDocument, PostElement, PostStyle,
41    Recipient, ThrottledMarkdownStream,
42};