line_bot_sdk_rust/lib.rs
1/*
2* Copyright 2023 nanato12
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
16
17//! # LINE Bot SDK for Rust
18//!
19//! A Rust SDK for the [LINE Messaging API](https://developers.line.biz/en/docs/messaging-api/overview/).
20//!
21//! This crate provides a high-level client ([`client::LINE`]) that wraps all LINE API modules,
22//! along with webhook signature validation and web framework integrations.
23//!
24//! ## Quick Start
25//!
26//! ```no_run
27//! use line_bot_sdk_rust::client::LINE;
28//!
29//! let line = LINE::new("YOUR_CHANNEL_ACCESS_TOKEN".to_string());
30//! ```
31//!
32//! ## Feature Flags
33//!
34//! | Feature | Description |
35//! |---------|-------------|
36//! | `rocket_support` | Enables [`support::rocket::Signature`] extractor for the Rocket framework |
37//! | `actix_support` | Enables [`support::actix::Signature`] extractor for the actix-web framework |
38//! | `axum_support` | Enables [`support::axum::Signature`] extractor for the axum framework |
39//!
40//! ## Modules
41//!
42//! - [`client`] - LINE API client that bundles all API modules
43//! - [`parser`] - Webhook signature validation
44//! - [`support`] - Web framework integrations (feature-gated)
45//!
46//! The following LINE API modules are re-exported from their respective crates:
47//!
48//! - [`line_messaging_api`] - Send messages, manage rich menus, etc.
49//! - [`line_webhook`] - Webhook event types and models
50//! - [`line_channel_access_token`] - Issue and revoke channel access tokens
51//! - [`line_insight`] - Retrieve message delivery and friend statistics
52//! - [`line_liff`] - Manage LIFF apps
53//! - [`line_manage_audience`] - Create and manage audiences
54//! - [`line_module`] - LINE module operations
55//! - [`line_module_attach`] - LINE module attach operations
56//! - [`line_shop`] - LINE Shop API
57
58// line-openapi modules
59pub use line_channel_access_token;
60pub use line_insight;
61pub use line_liff;
62pub use line_manage_audience;
63pub use line_messaging_api;
64pub use line_module;
65pub use line_module_attach;
66pub use line_shop;
67pub use line_webhook;
68
69pub mod client;
70pub mod parser;
71pub mod support;