こんにちは
ロシアワールドカップ、日本vsコロンビア観ました
あの強豪コロンビアに勝利ですよ おめでとうございます
次のガーナ戦も期待しています
そんな日本は、めっきり梅雨の時期になりましたね
こんな時は家に引きこもって、Node-REDを楽しむのが一番ですね
というわけで、今回はLINE BOTを作ってみたいと思います
まず必要なものとして
・LINE Messaging API
https://developers.line.me/ja/
・IBM Cloud内のNode-RED
https://www.ibm.com/cloud-computing/jp/ja/
・他に追加したい機能があれば
【作ろうと思った背景】
・社内のプロジェクトとして、IoTやAIを学ぶ勉強会を行っており、手軽で試せるものが欲しかった
・ノーツコンソーシアムのクラウド研で教わったことをフィードバックするため
・IBM Watson Workspaceでも実装出来るが「IBMだけで構築してるから出来るんでしょ?」と言われるのがシャクだったため
・LINEならほとんどの人が試してくれそうだから
手始めに・・・
Messaging APIを使ってボットを作成するには、まずLINE Developersコンソールでチャネルを作成しなければなりません
以下、作成手順です。
https://developers.line.me/ja/docs/messaging-api/getting-started/
そして出来上がったのはこちら
検証用としてはまずまずの出来ですw
次はIBM Cloud側に必要になるNode-RED側に移ります。
1)オウム返しするボットを作成
完成系はこんな感じです。
(超シンプル)
<httpノード(Webhook)>
以下のように「/line_hook」と設定しました。
メソッドは「POST」を指定します。
LINE Developerで作成したアプリのWebhook URLに
「https://<node-redのURL>.mybluemix.net/line_hook」と設定します。
<functionノード>
ここのノードでは、メッセージを返す処理を行っています。
リファレンスを確認するとこのようになっていました。
テキストを返す場合
リファレンスとグーグル先生を参考に作成したものが以下のものになります。
3行目:Bearer値として、アクセストークン値をコピペします。
以下の赤枠の値です。
7行目~14行目:ただオウム返しするのはつまらないので
乱数を発生させて、発生した分だけ「わん」を追加しています
18行目以降はリファレンスを参考に作りました。
<httpノード(send_result)>
URLはリファレンスを参考に設定しました。
<httpノード(http)>
特に何も設定してません
デプロイして、早速LINEで試してみましょう
見事なオウム返しですね
筆者、「わん」をランダムでつけることにより、
投稿した言葉を犬語に変換!
という風にごまかしていますww
とても簡単でしたよね
応用編として・・・
・スタンプが投稿されたらスタンプを返す
・写真が投稿されたらVisual Recognitionで分析結果を返しちゃう
とか追加しておくと、ちょっとおシャンティなボットになりますねw
今回はNotes/Dominoなお話はなかったですが、
投稿されたメッセージからNotesの文書検索とか出来るといいなーって思ってます。
某会社が紹介してたLINEでワークフローもできちゃいそうだな・・・
きょうはこの辺で・・・
あでゅー