Slide 1

Slide 1 text

RustのLINEBot SDKを自作した話 しんぶんぶん

Slide 2

Slide 2 text

自己紹介 ● 名前: しんぶんぶん ● 所属: 会津大学学部3年 ● Twitter: @shinbunbun_, @4fa19623 ● LINE API Expert / seccamp ’23 / Cybozu labyouth 13th ○ セキュキャン: 分散合意ゼミ(Raft) ○ ラボユース: CRDTを使ったP2P分散データベースの開発

Slide 3

Slide 3 text

LINE Messaging APIについて/今回作ったもの ● いわゆるLINEBotを作るのに必要な API ● 各言語でSDKが公式から提供されて いる ● Rustは公式で提供されていないので 自作してみた ● リポジトリ: https://github.com/shinbunbun/line- bot-sdk-rust LINEBot→

Slide 4

Slide 4 text

実装したもの ● 基本的には構造体の型を定義してい く作業 ● LINEから送られてくるメッセージと サーバから送信するメッセージそれぞ れの型を、ドキュメントを見ながら地道 に書いた ● いろいろなAPIがあるので、それらの ラッパーを書いた

Slide 5

Slide 5 text

使用した(主な)Crate ● awc ○ APIを叩くのに使用 ● typed-builder ○ 型レベルビルダーパターンでメッセージの structを構築できるようにした ● thiserror ○ エラーハンドリングを良い感じにするのに使用

Slide 6

Slide 6 text

使用イメージ

Slide 7

Slide 7 text

使用イメージ

Slide 8

Slide 8 text

SDKを使ったサンプル実装 ● Hands-on LINEBOT Rust編 Vol.1 ○ 技術書典で頒布した本 ● リポジトリ ○ https://github.com/shinbunbun/Hands-on-LINEB OT-Rust-Vol.1

Slide 9

Slide 9 text

みんなもRustでLINEBot作ろう!