LINE Messaging API SDK for Rust
Introduction
The LINE Messaging API SDK for Rust makes it easy to develop bots using LINE Messaging API, and you can create a sample bot within minutes.
Documentation
See the official API documentation for more information.
- English: https://developers.line.biz/en/docs/messaging-api/overview/
- Japanese: https://developers.line.biz/ja/docs/messaging-api/overview/
Requirements
- Rust 1.75.0 or later (stable)
Installation
Web framework support
Extract x-line-signature from the request header.
Use rocket framework
[]
= "3.0.0"
= ["rocket_support"]
use Signature;
use ;
async
Use actix_web framework
[]
= "3.0.0"
= ["actix_support"]
use ;
use Signature;
async
Use axum framework
[]
= "3.0.0"
= ["axum_support"]
use Signature;
async
Configuration
use LINE;
use env;
With timeout
use LINE;
use Duration;
How to use
The LINE Messaging API uses the JSON data format.
Example. Parse body (&str) into Result<CallbackRequest, serde_json::Error>.
let request: = from_str;
match request
Examples
All examples require LINE_CHANNEL_SECRET and LINE_CHANNEL_ACCESS_TOKEN environment variables.
Create an .env file inside the examples/ directory:
LINE_CHANNEL_SECRET=your_channel_secret
LINE_CHANNEL_ACCESS_TOKEN=your_channel_access_token
Echo bot (Rocket)
source: rocket example
Echo bot (actix-web)
source: actix-web example
Full-featured bot (Axum)
A comprehensive example demonstrating multiple event handlers and slash commands (/help, /profile, /botinfo, /ginfo, /flex, /leave).
The /flex command loads a Flex Message from an external JSON file (static/flex_sample.json), so you can customize the message design without recompiling.
source: axum example
Contributing
Please make a contribution!
License
Copyright 2023-2026 nanato12
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.