context.session.BotUserSession.x.x.xについて

BotUserSessionを呼び出す際、お客様の発話(クエリ)の位置が変わる場合があります。そのため、以下のように条件分岐を設定することで、JSONのlast message内からクエリを取得できます。

var query;


// 最初の条件: messagePayload 内のテキストを直接チェックする
// これは、messagePayload が存在し、テキスト フィールドがあるかどうかを確認します。
if (context.session.BotUserSession.lastMessage.messagePayload &&
   context.session.BotUserSession.lastMessage.messagePayload.text) {
   query = context.session.BotUserSession.lastMessage.messagePayload.text;


} 
// 2番目の条件: messagePayload内のmessage.textを確認する
//これは次のことをチェックします:
//-messagePayload が存在する 
//-message オブジェクトが含まれている 
//-message にテキストが含まれている
else if (context.session.BotUserSession.lastMessage.messagePayload &&
          context.session.BotUserSession.lastMessage.messagePayload.message &&
          context.session.BotUserSession.lastMessage.messagePayload.message.text) {
   query = context.session.BotUserSession.lastMessage.messagePayload.message.text;
} 

//3番目の条件: message.body へのフォールバック
else {
   query = context.session.BotUserSession.lastMessage.messagePayload.message.body;
}

context.session.BotUserSession.lastMessage.x.x にクエリがどこにあるかは、スクリプトの実行ログで確認できます。

分析画面のタスク実行ログ内でスクリプト(JSON)の内容を確認することができます。

JSONを簡単に確認・フィルタリングするために、私は以下のウェブサイトを利用しています。

上記kore.aiのJSONをJSON Path Finder

以上