Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RustのLINEBot SDKを自作した話
Search
Yuto Takamune
September 29, 2023
Programming
0
980
RustのLINEBot SDKを自作した話
Yuto Takamune
September 29, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
0
250
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
2.8k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
2.6k
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
170
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
320
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
150
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
880
IEEE802.1X認証を導入してみた
shinbunbun_
0
200
UBICの食材管理APIを作った話
shinbunbun_
0
180
Other Decks in Programming
See All in Programming
CSC305 Lecture 13
javiergs
PRO
0
130
Honoの来た道とこれから
yusukebe
19
3k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
240
レガシーな Android アプリのリアーキテクチャ戦略
oidy
1
170
Kubernetes for Data Engineers: Building Scalable, Reliable Data Pipelines
sucitw
1
200
Outline View in SwiftUI
1024jp
1
110
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.5k
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
200
現場で役立つモデリング 超入門
masuda220
PRO
12
2.9k
僕がつくった48個のWebサービス達
yusukebe
18
17k
役立つログに取り組もう
irof
26
8.6k
Realtime API 入門
riofujimon
0
110
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
A designer walks into a library…
pauljervisheath
202
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Practical Orchestrator
shlominoach
186
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
Statistics for Hackers
jakevdp
796
220k
How to Think Like a Performance Engineer
csswizardry
19
1.1k
Thoughts on Productivity
jonyablonski
67
4.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
Speed Design
sergeychernyshev
24
570
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Transcript
RustのLINEBot SDKを自作した話 しんぶんぶん
自己紹介 • 名前: しんぶんぶん • 所属: 会津大学学部3年 • Twitter: @shinbunbun_,
@4fa19623 • LINE API Expert / seccamp ’23 / Cybozu labyouth 13th ◦ セキュキャン: 分散合意ゼミ(Raft) ◦ ラボユース: CRDTを使ったP2P分散データベースの開発
LINE Messaging APIについて/今回作ったもの • いわゆるLINEBotを作るのに必要な API • 各言語でSDKが公式から提供されて いる •
Rustは公式で提供されていないので 自作してみた • リポジトリ: https://github.com/shinbunbun/line- bot-sdk-rust LINEBot→
実装したもの • 基本的には構造体の型を定義してい く作業 • LINEから送られてくるメッセージと サーバから送信するメッセージそれぞ れの型を、ドキュメントを見ながら地道 に書いた •
いろいろなAPIがあるので、それらの ラッパーを書いた
使用した(主な)Crate • awc ◦ APIを叩くのに使用 • typed-builder ◦ 型レベルビルダーパターンでメッセージの structを構築できるようにした
• thiserror ◦ エラーハンドリングを良い感じにするのに使用
使用イメージ
使用イメージ
SDKを使ったサンプル実装 • Hands-on LINEBOT Rust編 Vol.1 ◦ 技術書典で頒布した本 • リポジトリ
◦ https://github.com/shinbunbun/Hands-on-LINEB OT-Rust-Vol.1
みんなもRustでLINEBot作ろう!