12

成果物

13

LINEBotプロトタイプ

LINEBotプロトタイプ

LINEのMessagingAPIを用いたライフハック
Hackathon/Coding

概要

MessagingAPIとは

LINEPlatformが提供するMessagingAPIにより、LINEのトーク画面を使った対話型Botアプリケーションの開発が可能になります。
 引用元|LINE API Reference

 ビジネス向けLINEアカウントを作成し、APIを用いて対話型ボットアプリケーションを作成する。
 アカウントのみでは一方的な情報発信や定型文返信になるが、このAPIを用いるとPHPなどでトーク画面を使ったアプリケーション開発ができる。
 例|MinatoのBlog|LineBotの事例を21個まとめてご紹介

ハッカソン

 十二月三日名古屋にて行われたLINE株式会社が主催の「LINE BOT CARAVAN」という学生限定のハッカソンに参加した。
 開発経験がない学生でも、気軽にLINEボットの開発を始めることができる内容とのことであった。
 多少のアイディアソンを行なった後に、個人の開発に移った。事前にネットである程度勉強し、PHPで多少開発ができるように準備をしていたが当日のチュートリアルとほとんど内容が被っていた。
 LINEビーコンも配布されそれで遊んでいたが、自身のスマホが古くGPSの精度も悪かったため十分に試すことはできなかった。

制作

アイディア

 私の通うキャンパスの最寄駅は名城線ナゴヤドーム前矢田である。
 大学へ向かう道中、ナゴヤドームの横を通ると人の多さに「今日もドームでイベントがあるのか」と陰鬱になる。イベントの有無が事前に分かっていれば降車駅や到着時刻、ましてや帰宅時間や乗車駅を変更して人混みを回避することが可能である。しかし、わざわざサイトを訪問してまで確認するのは面倒である。
 ならばLINEボットで簡易的に作ってやろう、と思い立ったのがハッカソンに参加して約二ヶ月後のことである。

実装

 ナゴヤドームのサイトにはイベントカレンダーというものがある。このページから定期的にデータを取得し保存することにした。LINEからの操作ではこのデータを参照させることにする。
 定期的なデータ取得にはGASのトリガーを使用。これにより、元サイトが更新される限り、私が何をするでも無く最新の情報が自動で取得できる。
 サイトのタブをクラス名で識別して全ての「日時」「イベント名」を取得し、組み合わせて保存する。
 トーク画面から「1/1」のように半角数字「/」区切りの入力があると、その文字列が「日時」前方部分と一致した場合に限り「イベント名」を返信するようにした。またトーク画面に定型文を送るボタンを配置できたので、「今日」と入力してもイベント名が返されるようにした。

 PHPに不慣れでありかつ時間をかけるつもりもなかったので、タブの除去やデコードはしていない。余計なタブが返信されたりイベント名が一部読めなかったりするが、自分用に作っていたため特に気にしてはいなかった。

知り合いからの要望と改良

 せっかく作ったのでSNSにQRコードを投稿し知り合いも使えるようにした。
 彼らから出た要望はデコードなどの問題よりも、「開始時刻の表示」を求めるものが多かった。私が使う限りでは今のままでも十分であるがせっかくなので改良を行った。
 開始時刻の表示をしていなかったのはタブの除去をしていないからでもあった。曜日に色をつけるためにタブが使用されていたのだ。
 タブの除去について検索するとそのための関数があることが分かったので使用した。デコードに関しても同様。
 他に「勝手に改行されて表示が見にくい」とも言われたので、文字列を分割などして対応した。

問題発見と改良

 日付を表示して失敗に気がついた。右の画像から分かると思われるが、条件式を前方一致にしていたため、日付通りのイベント名を表示できていなかったのだ。
 本末転倒なため、私は慌てて文字列を分割し、条件式を完全一致に変更し対応した。

完成作品

 右のQRコードから実際に友だちに追加でき使用することができる。こちらからも可能。

反省点・改善点

 前方一致などの見落としがありはしたが、今のところ反省点や改善点は思い当たらない。というよりは、すでに十分に改良されたと思われる。すぐに改善点を反映できるからである。
 しかしもしあるとすれば、アカウントの画像やプロフィールを変更していないことだろうか。

伊藤右貴いとうゆうき

1995年、愛知県生まれ。名古屋市立大学芸術工学部情報環境デザイン学科所属。眼鏡以外に何のアイデンティティーも持たない大学生。小林泰三森見登美彦米津玄師小林大吾トクマルシューゴが好き。
大学ではプログラミングを中心としつつ様々な分野をつまんでいる。新しい技術などに興味がある。
連絡先:urrightlab→gmail.com
ここをしまう