2016-08-10 2 views
3

Я работаю с базой разработки Microsoft bot, используя ее node.js sdk. Я искал способ сохранить все сообщения разговора. Я установил для persistConversationData значение true и попытался получить доступ к параметру talkData, используя session.conversationData. Однако он пуст.Как сохранить данные разговора в структуре MS Bot

1 Есть ли встроенный метод доступа ко всем сообщениям в разговоре?

2- Если persistConversationData не для этого, может кто-нибудь объяснить его использование.

Большое вам спасибо.

ответ

6

По умолчанию сообщения не будут сохраняться в Microsoft Bot Framework. Для операций с сохранением состояния вы можете использовать API состояния бота следующими способами:

  • userData. Сохраненные данные будут доступны одному и тому же пользователю в разных разговорах.
  • Комплект 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; 
}); 
Смежные вопросы