2016-08-10 5 views
3

私は、MSのbot開発フレームワークで、node.js sdkを使って作業しています。 私は、会話のすべてのメッセージを保存する方法を探していました。 persistConversationDataをtrueに設定し、session.conversationDataを使用してconversationDataにアクセスしようとしました。しかし、それは空です。MSボットフレームワークで会話データを保存する方法

1-会話内のすべてのメッセージにアクセスする組み込みの方法はありますか?

2 persistConversationDataがそれでない場合は、誰でもその使用法を説明してください。

ありがとうございました。

答えて

6

デフォルトでは、メッセージはMicrosoft Bot Frameworkによって永続化されません。ステートフルな操作の場合、Bot State APIを次の方法で使用できます。

  • セットuserData永続化されたデータは、さまざまな会話を通じて同じユーザーが使用できるようになります。
  • セットconversationData。永続化されたデータは、同じ会話内のすべてのユーザーが使用できるようになります。
  • セットprivateConversationData。永続化されたデータは、指定された会話で指定されたユーザーが使用できるようになります。
  • 滝の階段の間に一時的な情報を格納するためのdialogDataを設定します。

ドキュメントによれば、conversationDataはデフォルトで無効になっています。使用したい場合は、persistConversationDatatrueに設定する必要があります。

tl; drあなた自身で永続性を保つ必要があります。例えば。

// ... 

var bot = new builder.UniversalBot(connector, { persistConversationData: true }); 

bot.dialog('/', function (session) { 
    let messages = session.conversationData || []; 
    messages.push(session.message); 
    session.conversationData = messages; 
}); 
関連する問題