FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

チャットボットとmBaaSを連携してログを残してみる

前回のmBaaSとチャットボットを連携させてみように続いて、今回は実際にチャットボットをmBaaSを連携させてみたいと思います。

チャットボットは拙作のmoongift/FBBot-Prototype: Basically facebook bot. The bot send a message same you sent it.を使います。チャットボットの立て方自体は説明を省きますが、Herokuを使うことで無料で立てることができます。Facebook上における処理についてはGetting Started - Messenger Platformを参照してください。

mBaaSのJavaScript SDKを読み込む

まずmBaaSのJavaScript SDKを読み込みます。npmでライブラリを追加します。

npm install ncmb --save

続いてapp.jsを編集します。process.envを使うことでコード中にキーを書かなくて済むようになります。

var NCMB = require('ncmb');
var ncmb = new NCMB(process.env.APPLICATION_KEY, process.env.CLIENT_KEY);
var Message = ncmb.DataStore("Message");

今回はHerokuを使っていますので、環境変数を登録します。YOUR_APPLICATION_KEY、YOUR_CLIENT_KEYはそれぞれmBaaSの管理画面で得られるキーと読み替えてください。

heroku config:set APPLICATION_KEY=YOUR_APPLICATION_KEY
heroku config:set CLIENT_KEY=YOUR_CLIENT_KEY

データを登録する

後は POST /webhook の呼び出しに対してデータ登録を行うだけです。今回はデータをすべて登録しています。

var message = new Message;
message.set("sender", sender);
message.set("event", event);
message.save()
  .then(function(o) {
    
  });

これでチャットボットに送られてくるデータをすべて保存できるようになります。コードをHerokuにアップロードして反映してください。そして、後は自由にチャットボットと会話してください。

管理画面で確認する

管理画面でデータストアを見るとMessageクラスが追加されているのが確認できるはずです。データもちゃんと登録されています。

この利点としてはWebサーバで呼ばれるデータ構造が管理画面を使ってゆっくり確認できることでしょう。写真を送信するとURLが送られているのも分かるはずです。画像を解析するといった処理も簡単に作れそうです。


今回はデータをすべて登録するという簡単な処理にmBaaSを使ってみました。他にも幾つかの使い方が考えられますのでぜひmBaaSを使ってチャットボットを便利にしてください。