希望这是一个相当直截了当的问题。
BotBuilder仿真器的行为与WebChat不同吗?例如,我目前使用以下代码片段来欢迎用户并立即将其引导到对话框中:
bot.on('conversationUpdate', function (message) {
if (message.membersAdded) {
message.membersAdded.forEach(function (identity) {
if (identity.id === message.address.bot.id) {
var msg = new builder.Message()
.address(message.address)
.text('Hi, I\'m ChatBot. Let\'s get your number activated!')
bot.send(msg)
setTimeout(() => {
bot.beginDialog(message.address, 'ActivateNumber:/')
}, 1000)
}
})
}
})
该对话框使用“选择提示”将用户定向到相关信息。模拟器和WebChat都完美地显示此提示。当用户单击选择按钮时,模拟器会按预期将结果传递到瀑布中的下一个函数,但是,WebChat似乎试图将此值传递给IntentDialog并查询LUIS。这几乎就像WebChat由于某种原因离开了对话框(其代码如下):
lib.dialog('/', [
function (session, args) {
builder.Prompts.choice(session, 'OK, which of these best describes you?', ['Testing', 'Testing', 'Testing', 'Testing'], {listStyle: builder.ListStyle.button})
},
function (session, results, next) {
console.log(results)
}
])
关于可能导致此问题的任何想法?