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
880
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
230
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
2.6k
NixOSでもご自宅k8sがしたい!
shinbunbun_
2
2.4k
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
160
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
290
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
150
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
780
IEEE802.1X認証を導入してみた
shinbunbun_
0
190
UBICの食材管理APIを作った話
shinbunbun_
0
180
Other Decks in Programming
See All in Programming
Amazon BedrockでサーバレスなAIお料理ボットを作成する!!
tosuri13
0
220
いまから追い上げる、Jetpack Compose トレーニング
nyafunta9858
0
300
全部見せます! クラシルリワードのSwiftTesting移行プロジェクト
uetyo
0
200
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
390
KSPの導入・移行を前向きに検討しよう!
shxun6934
PRO
0
180
Jakarta EE meets AI
ivargrimstad
1
420
Using Livebook to build and deploy internal tools @ ElixirConf 2024
hugobarauna
0
250
Desafios e Lições Aprendidas na Migração de Monólitos para Microsserviços em Java
jessilyneh
2
140
Lessons by WebAssembly app in production on CDN Edge Computing Service
tetsuharuohzeki
0
200
REXML改善のその後
naitoh
0
190
Mastering AsyncSequence - 使う・作る・他のデザインパターン(クロージャ、Delegate など)から移行する
treastrain
4
1.6k
Go Code Generation at newmo / 2024-08-27 #newmo_layerx_go
genkey6
0
560
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1029
450k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
Testing 201, or: Great Expectations
jmmastey
36
7k
Designing for Performance
lara
604
68k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.2k
Writing Fast Ruby
sferik
623
60k
How to train your dragon (web standard)
notwaldorf
85
5.6k
Web development in the modern age
philhawksworth
204
10k
Embracing the Ebb and Flow
colly
83
4.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
No one is an island. Learnings from fostering a developers community.
thoeni
18
2.9k
Raft: Consensus for Rubyists
vanstee
135
6.5k
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作ろう!