2016-08-10 55 views
3

我正在使用Microsoft的bot開發框架,使用它的node.js sdk。 我一直在尋找一種方法來保存對話的所有消息。我將persistConversationData設置爲true,並嘗試使用session.conversationData訪問conversationData。但是,它是空的。如何將會話數據保存在MS Bot框架中

1-是否有一種內置方法來訪問對話內的所有消息?

2-如果persistConversationData不是那個,任何人都可以請解釋它的用法。

非常感謝。

回答

6

默認情況下,消息不會被Microsoft Bot Framework持久保存。對於有狀態操作,您可以通過以下方式使用Bot State API:

  • 設置userData。持續保存的數據將通過不同對話提供給同一用戶。
  • Set conversationData。持續保存的數據將可用於同一對話中的所有用戶。
  • 設置privateConversationData。給定用戶在給定對話中可以使用持久數據。
  • 設置dialogData用於在瀑布臺階之間存儲臨時信息。

根據文檔,默認情況下,conversationData被禁用。如果你想使用它,你必須將persistConversationData設置爲true

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; 
}); 
相關問題