SHOTech Blog

プログラミングに関する記録です

LINE BOOT AWARD 2018に挑戦してみた

LINEBot&Clova Advent Calendar 2018 の18日目の記事です。

 

今年、LINE BOOT AWARDS 2018に応募したときのことを記録に残せていなかったので、アドベントカレンダーを利用して書こうと思います。

 

 

挑戦のきっかけ

もともとはBotなんて作ったこともなかったので「1000万とかすげぇなー」くらいにしか思ってませんでした。

ただ、これに絡んだハッカソンが熊本でも開催され、思ってたより面白かったのがきっかけになりました。

linedev.connpass.com

ハンズオン&ハッカソン

金曜の夜にハンズオンをして、土曜にハッカソンをしました。

f:id:syota-y1989:20181218223236j:plain

ハンズオンはこの資料をもとにオウム返しBOTを作りました。

qiita.com

初めてNode.jsを使いましたがかなり便利でした!というかJSでサーバーの処理かける手軽さ!!

 

土曜日は実際にハッカソンでモノづくり。

このハッカソンのためにドラえもんのClovaを買いました。可愛い!

f:id:syota-y1989:20181218223519j:plain

このハッカソンの時は、Clovaを使った家電操作のアプリを作ることを目指しました。

いきなり対話モデルを作っていくのは難しかったです。ストーリーが大事だという意味がよくわかりました。

 で、いろいろあって最終的にはこのハッカソンでオーディエンス賞をいただきました笑

副賞としてClova mini(右)までもらいました。2台持ちになってしまった。

f:id:syota-y1989:20181218224142j:plain

LINE BOOT AWARDSへの応募

ハッカソンでClovaをもらったことで応募してみようと思ったものの、VUIはやはり難しかったのでBOTを作ることにしました。

しかも丁度本業の仕事がリリース前で忙しくなってたこともあり、締め切り直前の3連休を使ってギリギリ作れた感じです。

わらしべBOT

熊本にある古着屋のBOTを作りました。

もともとLINE@は開設したもののほとんど放置状態で使っていなかった、というよりどう使っていいかわからなくて結果的に放置してたということなので、じゃあ一緒に作ってみましょうということで作ることになりました。

f:id:syota-y1989:20181218225439p:plain

f:id:syota-y1989:20181218230009p:plain

FlexMessageとLIFFを使ってSNSをまとめてみたり、Beaconを使って来店くじ引きができるような遊び心を入れてみたり、店のオリジナルグッズをトークルーム上で購入できるようLINE PAYを実装してみたりと、最近の追加された機能を突っ込んでました。

いろいろと手を出しすぎた結果、各機能を繋げただけになってしまったのは本当に反省点でした。

仕組み

f:id:syota-y1989:20181218230755p:plain

もともろ素人が作ってるので超とシンプルです。

サーバとしてherokuを使い、そこでNode.jsを動かしてやりとりをしています。

基本的に会話は全部Webhookでherokuに飛ばして処理してます。この辺りは、ハンズオンでやったソースをもとに簡単な分岐を実装しました。(もう少しきちんと作りたかったけど、時間もなかったので結構妥協しました)

f:id:syota-y1989:20181218231156p:plain

LINE PAYの部分はこんな感じ。herokuからGmailを送信して、IFTTTで店舗のアカウントに通知するところまで作り込みました。本来ならpush通知はプロプランでしか使えないのですが、年内は使えるということでありがたく活用させてもらいました。pushがあるのとないのでは結構差が出るポイントだなと感じました。

AzureのQAとかも使いたかったけど、さすがに時間が足りなかったですね。

朝4時ごろデモ動画も取りました。

youtu.be

 

応募用に即興で立ち上げたサイトです。

site-1512591-8348-6474.strikingly.com

 

サービスとしての質は自分でも低いなーと思っていたので、予想通り決勝には上がれませんでしたがリアル店舗を巻き込んでモノづくりができたのはすごく楽しかったです。

来年もあればまた挑戦してみたいと思います。

 

ちなみにソースコードGithubで公開してます。大したソースではないですがそのままキーやURLを書き換えればそのまま使えるので勉強用にでもどうぞ!

github.com