LoginSignup
12
7

More than 1 year has passed since last update.

「お店の場所はどこ?」店舗名から住所や電話番号、地図を確認したい!知識ゼロから作るLINE Bot

Last updated at Posted at 2022-05-29

方向音痴で移動時はスマホが手放せない

初めて行く場所にはMAPアプリを使って行くけれど、それでも逆方向に進んでしまう、
極度の方向音痴 の「くま」です。1ヵ月前に訪れた場所も忘れます。小売で働いています。
業務中、店舗移動のたびにMAPアプリを開いて検索して・・・がメンドー。
でもそうしないと、永遠にたどり着けない。
店舗名だけ入力したら、店舗情報を教えてくれるBotが欲しいと思いつきました。

LINE Botは初心者でも作れる?

思い付いたは良いものの・・・
パソコンスキルは普通。もちろんプログラム知識も、専門用語もさっぱり。

さて、どうやったらBotを作られるか・・・
無料でできる範囲で、かつ数日で基本をつくろうと決め、作業開始!

使用ツール、アプリケーション

出来た!!!

※公開の為、店舗名ではなく東京都の区役所でテスト。
区役所名を送ると、「住所」「電話番号」「団体コード」 を返し、かつ MAPリンク をボタンで表示。
ボタンを押すと、地図へ移動します。

作成の下準備

以下画像等を折りたたんでいる箇所があります。
▶ をクリックすると展開します。

―――――――――――――――――

使用ツール、アプリケーションそれぞれに会員登録
 LINE Developers
 Make
 Google SpreadSheet
 SSSAPI
―――――――――――――――――
LINE Developersでは以下が大切

1:チャネル基本設定→ページ下部のユーザーID。Makeの設定で使います。
2:Messaging API設定Webhook設定チャネルアクセストークン。これもMakeで使います。
3:チャネル基本設定内のLINE Official Account Manager→以下画像の通りに実施。

―――――――――――――――――

Google SpreadSheetでデータ作成
 ポイントはA列にkeyとなるテキストを入れる事。
―――――――――――――――――
SSSAPIでGoogle SpreadSheetをAPIに
 ページの指示通りにすれば、設定はカンタン!!
―――――――――――――――――

Makeで連携

下準備が完了し、Makeで連携作業開始!結論以下のようにつなぎました。

1.LINE(watch Events):基本的な設定(LINE Developers)
2.HTTP(Get a file):Google SpreadSheetをSSSAPIでJSON形式に変換したAPIへ。
そのURLを以下画像のように設定。

3.JSON:HHTPに格納してあるGoogle SpreadSheetの表データを取り込み
4.分岐(検索文字列有無)routerモジュールを使用
5.Apple Map Links:JSONが保持している情報から、住所情報を取り込み
6.LINE(合致した場合)_Send a Reply message:Botで返信する「①テキスト情報」「②地図へのリンク」を設定
7.LINE(合致しない場合)_Send a Reply message:該当しない旨のメッセージを返信
 

▼テキスト情報

▼地図へのリンク設定(ボタンテンプレート使用)

▼Routerの設定

1.検索文字列有り
 画像下部のExistsが「合致した場合」という意味
 

 2.検索文字列無し

 画像下部のDoes not Existが「合致しなかった場合」という意味
 

振り返り

苦労した点

 ①英語がわからない・・・
  翻訳ソフトが手放せない。自身の学力の無さに失望。
 ②Google SpreadSheetをAPIに
  これは方法を調べまくってようやくSSSAPIにたどり着き、連携!
  あきらめかけていたので一番うれしかった!!
  まぁ、無料アカウントだと最大50行までになるのですが・・・
 ③Map表記
  最初はGoogle Mapsモジュールでやろうとしたのですが、太刀打ちできず・・・。
  次にApple Map Linksモジュールを使用して、
  設定はできたと喜んだのもつかの間、
  返信のURLが長すぎて気に食わず。「だったらボタンにしよう!」として、
  これも1時間程度格闘してようやく完成。

まとめ

ド素人でプログラミングのプの字も知らない私でも、何とか形にする事は出来ました。
内容は素人感丸出しですが、それでも勝手に感動しています。
ただ本当に活用する為には、

・完全一致ではない場合の返信方法
・複数候補があった際の返信方法

なども必要ですし、汎用性を上げる為には位置情報を取得して、

・現在地から近い店舗も表示
・移動手段の提案(徒歩〇分、電車〇分など)

などが出来たらもっと良いだろうなぁ。

最後までお読みいただきありがとうございました!

参考サイト

12
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
7