Bot Developers Meetup - LINE Bot開発者の勉強会


#LINE Botの勉強会
###概要
このイベントはBot開発の方々向けの勉強会＆ネットワーキングのMeetup。今回もBot開発者の皆さまにご自身のBot開発経験、スキルなどのノウハウを紹介する場。

---

###タイムテーブル
| 時間 | セッションタイトル | スピーカー |
|:-----------|:------------|:------------|
| 19:00 - 19:05 | Opening | |
| 19:05 - 19:25 | LINE Botで簡単＆使えるチャットボット開発	 | 小川奎弥さん |
| 19:25 - 19:45 | 新機能LIFFの解説と使い方 | 内西功一さん(マネーフォワード ) |
| 19:45 - 20:05 | LINE謎解きゲーム「#乾いた魔女謎」をつくった話 | トリケさん、ユビスケさん(アセロラプロダクション) |
| 20:05 - 20:25 | Bot開発におけるデザインパターン | 松本和也さん(MAMORIO) |
| 20:25 - 20:30 | 休憩 | |
| 20:30 - 21:00 | LT*4 | Hiro Ogawaさん<br>KeigoNishimotoさん<br>NiishiKuboさん<br>YoshikazuHashimotoさん |

---

###セッション内容
####1.LINE Botで簡単＆使えるチャットボット開発
presenter：小川奎弥さん

■概要
LINE BotとChatbot APIを利用して、作成した簡単に便利なチャットボットアプリの紹介。

自動応答LINEBot（メッセージに対する応答と画像を解析するBot）を作成
パッケージはリクルートが公開しているAPI（TALK API※）、Pythonのパッケージ等をを使用。
　※[A3RT](https://a3rt.recruit-tech.co.jp/)に公開されているAPI

---

####２.新機能LIFFの解説と使い方
presenter：内西功一さん（マネーフォワード エンジニア）
[Slide](https://speakerdeck.com/4geru/liffnituite)

■概要
Messaging APIの大型新機能であるLIFFの概要と、使い方を解説。
■LIFFとは…
　LINE内で動作するWEBアプリケーション。
　特徴としてLINEを見ながらWeb画面も見ることができる。
　主に表示画面の種類として３種類（大中小）ある。
■LIFFに期待できること
 * 入力フォームの柔軟性
 * パーソナライズ（セキュリティの担保）
 * JavaScriptを使用した柔軟な処理が可能
■LIFFの難点
 * shでしか入力できない
 * ラッパーがない
 * 公開されて間もないため、手順書等がない

実演ではrubyを使ってコーディング。LIFFで表示する画面はhtmlで記載。

---

####３．LINE謎解きゲーム「#乾いた魔女謎」をつくった話
presenter：トリケさん（アセロラプロダクション 謎担当）
　　　　　 ユビスケさん（アセロラプロダクション テクノロジーとマーケティング担当）

■概要
　LINEのAPI(Messenger API)を利用した謎解きゲームが流行っている。LINE謎解き「＃乾いた魔女謎」をベースに仕組みや、LINEならではのユーザが喜んでくれたポイント解説。

　リアルで行っている謎をデジタル（LINE）に持ってくる活動をしている。

■システム構成
　LINEアカウント→データベースはDropBOX（GASで連携）
　
■LINEと謎の相性
　* Webや紙媒体の謎解きではできなかった動作
　* 不正解の回答があるので、リトライができる
　* 入力力フォームが不要で分岐が容易
　* ただただ実装が楽。さらに、ユーザの心理ハードルも手軽。

メモメモ：FlexMessegeといったデザイン性に優れたAPIも出ている

---

####４．Bot開発におけるデザインパターン
presenter：松本和也さん（MAMORIO株式会社 エンジニア）

■概要
MAMORIO FairyEngine(※)の開発経験から得られた、複数プラットフォーム、複雑な会話パターンを持つBot実装のデザインパターンについて紹介。
※MAMORIOの機能（検索や通知）などをLINEやGoogleHomeなどBotツールで使用できる様にしたEngine

■Bot開発におけるGoFデザインパターン
旅行予約bot（機能：どこに？いつ？人数と？を聞き、記録する）

★Bot分岐を全て考慮するとプログラムが複雑化する
→Stateパターン（アクションを分岐させるのではなく、クラスで分岐してしまう）で実装

実装時に起きる問題として、複数プラットフォームに対応するのに分岐を書いてしまうと、プログラムが煩雑化する。
→strategyパターンでプラットフォームを切り替える

---

###LT
####１.撮るだけユーチューバーとCheckunの紹介
presenter：小川博教

撮るだけユーチューバー
　音声認識や動作認識をAIで検知し自動でテロップ導入や動画編集を行う。
Checkun
　グループにbotを招待することで、金額の割り勘や請求をグループメンバーに行える。

---

####２.通販で
利用するMessegeing APIとLINEログイン
presenter：西本圭吾

■提案までの成り行き
[動機]初期機能として店舗の在庫を確認できるbotがあれば良いんじゃないか？
↓（提案をしてみると）
[追加要望]現実の要望は「フロアガイドの紙媒体のコストを何とかしたい。」
そこで、WazzUP!でのフロアガイドを作成した。
ＬＩＮＥで友達になって貰えることで、広告を出せることに気づく。
↓（広告について考えてみる）
reply型のBotは浸透していないため、話題性はあっても費用対効果は見込みにくい。
[追加機能]そのためシステム連携を行い、自動配信する仕組みを提供してみる。
↓（すると、、、）
広告を多数送っても（お金がかからないし、）友達数が減らない。
↓（つまり）
PUSH配信を効果的に活用することでコストパフォーマンスがあがる
さらに、オートログイン機能が便利（シームレスでユーザ管理がしやすい）
↓（通販サイトと組み合わせることで）
LINEで入荷リクエストを送ることができ、再入荷時にLINE通知が来る

■まとめ
 * LINEアカウントに話しかけるという文化は定着していない
 * PUSH配信を効果的に使用することで効果を得ることができる
 * オートログインを利用することでUXが向上する

メモメモ：メールは一日４通来ると迷惑メール扱いされるが、LINEだといやがられない。

---

####３.○○○
presenter：NiishiKubo

■Overview
 * 農家とバイヤーの受発注のやりとりにLINE Botを導入した話
 * メール、電話、FAX →Botに置き換えて業務改革
 * "Botにおける入力フォーム"を試行錯誤した過程とその結果

■Thinking
１．メッセージやりとり形式→入力項目や回数が多すぎ煩雑になるためＮＧ
2.Ｗｅｂ入力フォームを利用
　工夫点として、safariなど他のアプリに飛ぶとシームレスではないので、LINEのAPIを使用
　また、全画面・シングルビューを使用することで１つのアプリで完結している様に見せることができ
　よりシームレスになる。

■Summary
 * "Botを導線/フォームはWeb"という選択肢もあり
 * フォームもBotの一部と錯覚させる様な親和性を持たせる
　　デザイン：スマホらしいUI/Chatっぽい見た目
　　シームレスな画面遷移：全画面モーダル/SPA(Single Page Application)
 * 入力の手間を省けるようにフロントエンドフレームワーク（Vue）を活用
 * 登録完了後はPUSH通知などでLINEアプリに戻してあげるとUIとして良い。

---

####４.サービス開発のUIとしてLINEBotを使用する
presenter：橋本

IIKSサービス
→店舗ビジネス売上げアップ＆効率化のための空間自動認識・予約自動応答システム
[効果]
 * 売上げアップ
　　→空席情報をAIカメラで認識して、お客様から予約をとって「空き席を埋める」サービス
 * 手間いらず
　　→LINEで「席空いてる？」ときくだけでAIが自動的に空き席数を答えて応対し、予約に繋げる。
 * 導入が簡単
　　→店内に端末（スマホ・ラズパイ）を置くだけですぐに使える。