コロナ禍で出勤先が増えた人、営業で複数の場所に行く人におすすめのLINEBotです!
以前の記事でSuica残金から行ける場所を判断するBotを作成しました。
こちらのBotを改良した記事になります。
##Botの概要
LINEBotに現在チャージされている金額を送信するだけで以下のようなメッセージが返ってきます!
##改良点
改良場所 | 改良点 |
---|---|
インプット方法(Suica残金) | enebular起点をLINEのメッセージ入力に変更する |
まずは前回からenebularを変更しました。
フロー→-traincost-
まずはhttp inの設定です。
ここで特定のLINEBotにメッセージを受信したときメッセージをインプットとしてフローが流れます。
LINEBotの設定はenebularのhttpNodePathをコピー。
httpNodePathはデプロイボタン横のinformationボタンから入手できます。
※enebularのセッションは1時間で切れてしまうのでherokuにデプロイすることをお勧めします。今回のパスもデプロイしています(Heroku · enebular)
LINEBot側のWebhookを設定します。
MessageAPIタブのWebhook settingsのWebhook URLを設定します!
この時末尾に**/linebot**を入れるのを忘れないようにしてください。
次は読み込んだメッセージから入力された文字列を取り出すfunction部分のコードです。
たったの2行!
メッセージに入力されたテキスト情報を取り出して数字変換しているだけです。
var newMsg = { payload: Number(msg.payload.events[0].message.text) };
return newMsg;
これ以降のフローに関しては前回の記事を参照していただければと思います。
##終わりに
今回の改良でイケていない部分としてLINEBotでメッセージを受けているのに返信がLINENotifyから返信が来ているというところですね。
enebularの結果受け渡しをLINEBotにしてあげればいいだけなのですが前回の記事でノンプログラミングをうたっているのでここまでにしました。
前回はenebular起動でしたが今回はLINEBot起動でかつherokuにもデプロイしているので簡単にかつ永続的に動くものにできたと思います。
enebularのnode-red-contrib-line-messaging-apiを使えば送信したLINEBotから返答を受け取れそうだなと思いましたが結果の変換はまた今度にしたいと思います。