【发布时间】:2016-08-31 08:21:25
【问题描述】:
我正在使用 MS 机器人框架,并且我正在尝试构建一个机器人来处理可以分支的对话框,而不仅仅是一个平面场景。
例如,在第一条消息中,机器人问用户一个问题,并根据答案启动三个子对话框中的一个,而这三个子对话框又可以根据用户输入启动自己的子对话框。
所以我正在寻找这样的东西:
if (userAnswer == "option 1") {
LaunchSupportDialog();
}
else {
LaunchNewOrderDialog();
}
Microsoft 提供的示例要么是平面的(例如,一个机器人可以处理三明治订单,没有分支,连续执行每个步骤),要么是由 LUIS 根据用户意图自动完成的分支。
我正在寻找一些不太聪明的东西,所以看起来我只是缺少某种能够做到这一点的方法或类。
文档状态:
可以通过以下方式显式管理活动对话框堆栈 IDialogStack.Call 和 IDialogStack.Done,显式组合 对话成更大的对话。也可以隐式 通过流利的 Chain 方法管理活动对话框的堆栈。
但我没有找到任何关于如何创建新的 IDialogStack 对象、如何显式调用 .Call() 或 .Done() 或为此使用 Chain 类方法的示例。
【问题讨论】:
标签: c# botframework