ラーメンが食いたい!!!

 

僕はラーメンが好きです。

 

 

LINEでラーメンbotを作った

ということで、ラーメンbotを作りました。

 

仕様

 

位置情報を送ると、半径1km以内のラーメン屋のうちの1つを返してくれます。

 

デモ

 

 

 

 

 

皇居に近いラーメン屋...行ってみたい

 

 

友達追加はここから

ラーメンbotを作ろうと思ったきっかけ

 

  • ラーメンが好き
  • 何かのAPIを使いたい
  • 身近に使っているサービスと連携させたい

 

という理由でぐるなびAPILINE Messagin APIを使ってラーメンbotを作りました。

 

 

ラーメンbotの実装

 

全体像はこんな感じです。

 

 

 

やっていることはシンプルなので特筆する部分はない気もしますが

  • ルーティング
  • メッセージから位置情報を取得
  • 位置情報等でぐるなびapiを叩いて店情報取得
  • LINEで返す

 

ていう感じです。

ルーティング

 

 

 

メッセージから位置情報を取得

 

 

 

LINEで位置情報を送られると

こういった情報を得ることができます。

 

ぐるなびapiに渡すparamsに必要なので緯度と経度を保存しておきます

 

 

ぐるなびapiを叩く

 

ぐるなびapiの仕様も見てみると

 

緯度,経度,範囲,カテゴリを指定すれば

 

○km以内の~系のお店

 

の一覧を取得することができます。

 

 

 

LINEで返す

 

情報を取得したら後はラインで返すだけです。

 

 

理解が微妙なところ

 

と、説明してきたのですが、僕自身いまいち分かっていない部分もあります。

 

line.middleware(config)

 

メッセージのパース(解析)をしてくれてる?

 

 

Promise

 

Javascriptと言えば非同期処理ですね。

 

コードは上から順々に実行されていきますが、時間がかかる処理が入っていると

  • A
  • B
  • C

の順に書いていても

  • B
  • C
  • A

だったり

  • A
  • C
  • B

の順で実行されることがあります。

 

これを防ぐためにコールバック関数やasync/awaitなどを使う必要あり

Promiseもその一種として処理の順番を制御します

 

非同期処理、まだ理解がいまいち

 

便利だったこと

 

開発で便利だったものを紹介します。

 

Ngrok

 

 

LINEbotを作っていて、デバッグの手間が以上にかかるということに気づきました。

コードを直して、herokuにデプロイして、動作してるか確認する。

いちいちこんな手順を取っていたら日が暮れてしまいます。

 

 

そんな時に出会ったのがngrokでした。

簡単に説明すると、localで立てたサーバを外部からアクセスできるようになるツールです。

 

こちらの記事がとても分かりやすいです。

 

ラーメンを食べる

 

近場のラーメン紹介をする

 

 

横浜家系ラーメンのどっか...

 

 

 

 

 

 

 

 

 

 

うんめ~~~

 

 

参考にした記事

 

 

感想

 

動くと楽しい!!

 

(ググった方が早いので実用性は...)

 

 



人気記事セレクション

1. 月々の奨学金返済をブログ収入で賄えるようになったので、ブログのススメをする
2. 学生時代に遊んどけ論を本当に信じたらやばいぞ大学生!!
3. 人の話を聞いて一発で理解できない理由を考えてみた。
4. Amazon プライムとPrime Studentがガチでメリットだらけ。【破格の月額159円】無料お試しもできる!
5. TOEIC860点の人間が英語力がどれくらいなのか調べてみた。診断サイトと言えば...

おすすめの記事
SponsoredLink