问题 在Microsoft bot框架中处理多个对话框


我正在使用Microsoft bot框架创建机器人,机器人将接收餐厅的订单,我想知道如何处理多个对话框,例如客户发出第一个订单,然后我希望机器人问你做什么想要别的吗?然后客户说是/否,因为保持第一个的状态再次重复相同的dailog,我现在在文档中看到的只有一个对话和一个对话框。

非常感谢


11366
2018-05-11 17:20


起源



答案:


要管理多个对话框,您需要使用 对话链。您可以显式管理对话框堆栈(使用呼叫/完成)或隐式使用Chain流利方法。 这里 是如何使用它的样本。

如果用户可以选择的一组内容已经预定义,那么我建议使用 FormFlow。该 比萨 & 三明治 样本是如何使用预定义的选项集处理订单的很好示例。


13
2018-05-11 17:36



你有关于连锁店的完整教程吗?我无法从框架帮助页面获取它 - Mazen Abu Taweelih
我不。您可以查看EchoBot示例(github.com/Microsoft/BotBuilder/tree/master/CSharp/Samples/...)和Facebook样本(github.com/Microsoft/BotBuilder/tree/master/CSharp/Samples/...)更好地了解如何使用链条。匿名方法可能会让您感到困惑。把它想象成一个真正的链条。链的第一项的输出将是他输入链的第二项。 Chain.PostToChain()。继续使用<Message,string>(Callback1).PostToUser()。ContinueWith <string,string>(Callback2) - Ezequiel Jadib
Dialog Chains似乎是一个C#解决方案。 Node.js的等价物是什么? - Howard
我认为它越接近瀑布 docs.botframework.com/builder/node/dialogs/overview/#waterfall - Ezequiel Jadib
如何2个单独的对话框 - Brij Raj Singh - MSFT


答案:


要管理多个对话框,您需要使用 对话链。您可以显式管理对话框堆栈(使用呼叫/完成)或隐式使用Chain流利方法。 这里 是如何使用它的样本。

如果用户可以选择的一组内容已经预定义,那么我建议使用 FormFlow。该 比萨 & 三明治 样本是如何使用预定义的选项集处理订单的很好示例。


13
2018-05-11 17:36



你有关于连锁店的完整教程吗?我无法从框架帮助页面获取它 - Mazen Abu Taweelih
我不。您可以查看EchoBot示例(github.com/Microsoft/BotBuilder/tree/master/CSharp/Samples/...)和Facebook样本(github.com/Microsoft/BotBuilder/tree/master/CSharp/Samples/...)更好地了解如何使用链条。匿名方法可能会让您感到困惑。把它想象成一个真正的链条。链的第一项的输出将是他输入链的第二项。 Chain.PostToChain()。继续使用<Message,string>(Callback1).PostToUser()。ContinueWith <string,string>(Callback2) - Ezequiel Jadib
Dialog Chains似乎是一个C#解决方案。 Node.js的等价物是什么? - Howard
我认为它越接近瀑布 docs.botframework.com/builder/node/dialogs/overview/#waterfall - Ezequiel Jadib
如何2个单独的对话框 - Brij Raj Singh - MSFT