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
LINE BotとLIFFを使って謎解きアプリを作った話
Search
Kazumasa Yamamoto
October 21, 2020
Technology
0
700
LINE BotとLIFFを使って謎解きアプリを作った話
Kazumasa Yamamoto
October 21, 2020
Tweet
Share
More Decks by Kazumasa Yamamoto
See All by Kazumasa Yamamoto
ユニークビジョンの Rust 活用事例
fill9120
2
1.6k
Rust & AWS X-Ray による分散トレーシングの実現
fill9120
0
2.8k
Rust製プロダクトを 3年以上運用して得たノウハウ
fill9120
0
990
Messaging APIを駆使した ChatGPT ボットのUX改善
fill9120
0
370
Rust を開発言語として採用してからの取り組み
fill9120
1
1.8k
ストラクチャードコミュニケーション
fill9120
0
130
Cloudflare PagesにVue.jsアプリをデプロイしてみた
fill9120
0
960
Rustでディープラーニング
fill9120
0
410
Rustで定数式を扱う
fill9120
0
440
Other Decks in Technology
See All in Technology
コールドスタンバイ構成でCDは可能か
hiramax
0
130
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
19k
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
310
ルネサンス開発者を育てる 1on1支援AIエージェント
yusukeshimizu
0
130
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
AWS re:Invent 2025 を振り返る
kazzpapa3
2
110
Qiita Bash アドカレ LT #1
okaru
0
170
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
6
2.7k
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
300
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
140
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
1
380
Featured
See All Featured
KATA
mclloyd
PRO
33
15k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
590
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The SEO identity crisis: Don't let AI make you average
varn
0
46
4 Signs Your Business is Dying
shpigford
187
22k
First, design no harm
axbom
PRO
1
1.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
How to Ace a Technical Interview
jacobian
281
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
100
Transcript
LINE BotとLIFFを使って 謎解きアプリを作った話 ユニークビジョン株式会社 山本 一将
自己紹介 2 ⚫ 名前:山本 一将(@kyamamoto9120) ⚫ 所属:ユニークビジョン株式会社 ⚫ 言語:C++, Rust,
Python, Ruby ⚫ 趣味:将棋、キャンプ、DIY、野球観戦 ⚫ 実績:2015年 世界コンピュータ将棋選手権9位
動機 3 ① 妻はリアル謎解きゲームが趣味 ② 今年はCOVID-19の影響で公演に行けない 誕生日プレゼントにLINEの技術を駆使して自作しよう!
リアル謎解きゲームとは 4 小問を解いて目的を達成する 与えられたパズルや暗号を解いて 指定された目的を達成するゲーム
謎解きアプリの概要 5 ① LINE Botと友だち登録 ② 部屋の中から問題やQRコードを探す ③ LINE BotのリッチメニューからLIFFを開いて
i. QRコードを読み込んで問題を解禁 ii. シェア機能を使って問題を解禁 ④ 問題を解いてBotに答えを入力
シェア機能の概要 6 シ ェ ア し た 側 シ ェ
ア さ れ た 側 LINE Botとのトーク画面で開くLIFFアプリ シェア先のトーク画面 LIFFアプリ ヒント1 ヒント2 トークの種類、表示する人によって LIFFアプリの内容が変わる
シェア機能の技術的な解説 7 LIFFアプリ • シェア機能はシェアターゲットピッカーで実現 • シェアするLIFFアプリは誰がシェアしたかを知る 必要があるため、一意なIDをサーバに保存 (LIFF URLに上記IDをクエリパラメータで渡す)
LIFFアプリはボタンテンプレートで送信 (クエリパラメータが汚いのでURLを見えなくした) • トークの種類は liff.getContext() メソッドで取得 • 今回は1対1トーク、グループ・トークルームの 2通りに処理分けした • クエリパラメータのIDをサーバに問い合わせて シェアした側、された側に場合分け
感想 8 ① LINEならではの謎解きを作ることができた ② アプリ自体は2日くらいで簡単に作れた • LIFF + LINE
Botならフロントエンドを頑張る辛さが少ない • Messaging APIもPythonのLINE Bot SDKが使いやすい! ③ 今度は公開できるようなアプリを作ってみたい
ありがとうございました
補足:システム構成 10 AWS Cloud LIFF LIFF SDKの実行 Webhookを処理 ユーザーの情報を管理 メッセージ送信
問題表示、QR読込、シェア機能