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
110
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
160
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
1.1k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
890
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
120
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
190
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
140
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
25
IEEE802.1X認証を導入してみた
shinbunbun_
0
160
UBICの食材管理APIを作った話
shinbunbun_
0
160
Other Decks in Programming
See All in Programming
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
210
Java 22 Overview
kishida
1
180
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
Anthropic Cookbook のおすすめレシピ
schroneko
7
1k
AmperとFleetを使ったAndroidアプリ
yoppie
0
120
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
370
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
170
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
950
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
Site Reliability Engineering for GMO
pyama86
8
1k
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
280
Featured
See All Featured
Debugging Ruby Performance
tmm1
70
11k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
Web development in the modern age
philhawksworth
202
10k
Six Lessons from altMBA
skipperchong
21
3k
How STYLIGHT went responsive
nonsquared
92
4.8k
Rails Girls Zürich Keynote
gr2m
91
13k
How to Ace a Technical Interview
jacobian
272
22k
Designing for humans not robots
tammielis
248
25k
Done Done
chrislema
178
15k
Into the Great Unknown - MozCon
thekraken
10
1k
The Invisible Customer
myddelton
114
12k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
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作ろう!