结束对话
Ending conversation
我的机器人(使用 MS BotFramework)应该可以听到对话流。如果有人提到 'chatbot' 它应该说 'Here I am!',否则保持沉默。它看起来很简单,也许确实如此,但我很难尝试实现它。这是我拥有的:
bot.add('/', function(session) {
if (someoneSaidChatbot) {
session('Here I am!")
} else {
// session.reset(), maybe? No!
// session.endDialog() then? Uh...nope.
// nothing? Hmmm. negative
}
});
所以,没有任何效果。如果我离开那里,机器人就会挂起,它会停止收听流或回答命令。
有什么想法吗?
当有人输入 "chatbot" 作为话语的一部分时,此代码结束对话。这是你想要的?
bot.add('/', function (session) {
if (session.message.text.search("chatbot") >= 0) {
session.endDialog("Here I am");
}
});
这也可能取决于您使用的频道。某些频道不提供 Bot 收听对话中所有消息的功能。
我想建议使用 endConversationAction()
注册一个 Bots Global Actions
bot.endConversationAction(
'enddialog', //dialog Id
'Here I am', //message
{ matches: /^.*chatbot/i } //match pattern
);
由于这是全局操作,任何时候当机器人听到 "Chatbot" 时,它都会说 "Here I am" ,如果堆栈中有一些对话,您提出的解决方案可能不起作用。
我的机器人(使用 MS BotFramework)应该可以听到对话流。如果有人提到 'chatbot' 它应该说 'Here I am!',否则保持沉默。它看起来很简单,也许确实如此,但我很难尝试实现它。这是我拥有的:
bot.add('/', function(session) {
if (someoneSaidChatbot) {
session('Here I am!")
} else {
// session.reset(), maybe? No!
// session.endDialog() then? Uh...nope.
// nothing? Hmmm. negative
}
});
所以,没有任何效果。如果我离开那里,机器人就会挂起,它会停止收听流或回答命令。 有什么想法吗?
当有人输入 "chatbot" 作为话语的一部分时,此代码结束对话。这是你想要的?
bot.add('/', function (session) {
if (session.message.text.search("chatbot") >= 0) {
session.endDialog("Here I am");
}
});
这也可能取决于您使用的频道。某些频道不提供 Bot 收听对话中所有消息的功能。
我想建议使用 endConversationAction()
注册一个 Bots Global Actions
bot.endConversationAction(
'enddialog', //dialog Id
'Here I am', //message
{ matches: /^.*chatbot/i } //match pattern
);
由于这是全局操作,任何时候当机器人听到 "Chatbot" 时,它都会说 "Here I am" ,如果堆栈中有一些对话,您提出的解决方案可能不起作用。