飲み会の居酒屋を投票で決められるLINE Botの技術紹介
飲み会の幹事って大変じゃないですか?店調べるのも面倒だし(物理的負担)、お店がイマイチだったらどうしよ(心理的負担)って幹事を経験ある人なら誰しも思ったことがあると思います。
そんな負担を解決するサービス(LINE Bot)を作り、プロトタイプとしてTwitterに公開しました。
「めっちゃ便利」とか、「使いたい」って言ってくださった方が多く、嬉しいかぎりでした。それとともに、同じ開発者の方から「どんな技術使ってるの?」って聞いてくださる方も多かったのでこの記事を書こうと思いました。
LINE Botという技術
まず、このサービスで一番重要と言える技術。そして意外と知られていない技術。LINEのBotは簡単に開発できます。(LINE Botっていうのは、色々会話できるアカウントのこと)
正式名称はLINE Botではなく、MessagingAPIと言います。MessagingAPIは以下のことを可能にします。
ユーザーの発話を取得し、それに合わせた返答(投票ボタンを返したり)。
今回このサービス、単なるWebアプリとしても実現は可能でしたが、LINE Botにすることで利点があったと思います。
1. グループLINEの一員としてBotがいるので、他のアプリ等開いたりしなくて楽(UXの向上)
2. Botはインストール不要、友達追加するだけ!(UXの向上、拡散力向上)
3. 投票画面以外の機能を会話にさせることで画面を作らなくていい(開発が楽)
特に今回、飲み会はLINEのグループ等で店決めたりすることが多いいはずなので、LINEで動くサービスとしてはぴったりでした。
おっと、サービスよりの話になってきそうなので技術的な話に戻します。(サービスよりの話はまた今度)
LINE Botに会話をさせるには
残念ながらMessagingAPIという技術だけではLINE Botに会話させることはできません。例えば、ユーザーが「こんにちわ!」って言った時にBotに「こんにちわ!〇〇くん!」と言わせるためには、どこかにちゃんとプログラムを書いてあげる必要があります。では、どんな言語でプログラム実行環境はどこがいいのか。
実は、どんな言語でもいい、どんな実行環境でもいいです。MessagingAPIとプログラムを紐づけるにはプログラムを実行するHTTPS(POST)を指定してあげるだけなので、JSONのやりとりができればどこでもいいです。
自分はいつもAWS Lambdaを使っています!
とはいえ、本当になんでもいいので、herkouとか使ってる方もいます!
ただ、Lambdaだとほぼほぼ無料で開発できますし、何と言ってもお手軽。なので、Lambdaを強く推薦します!
最後に
急いで書いた記事なので特に内容がないです笑
MessagingAPIの存在を知ってもらえたらハッピーです!
細かなこと言うと、他にもいろんな技術使ってますがメイン技術はこんな幹事(感じ)です。
実はこのサービス、開発初日からツイートまでは1週間くらいです。投票画面の開発等も含めてです。
そこまでスピードあげて開発できた理由もLINE Botという選択をしたからだと思っています。
みなさんもLINE Bot使ってみて何かサービスを作ってみるのはいかがでしょうか!!
それでは幹事アプリをよろしくお願いします!!
あ、それと記事の途中で言った通り、いづれこのBotについてのサービス的な話(UX向上にどう工夫をしたのかなど)を書くのでよかったらフォローしてもらえると嬉しいです!