我需要在运行时生成瀑布式步骤,因为它们基于API响应-甚至可以通过WaterfallDialog
和WaterfallSteps
来实现?
可以使用AdaptiveCard
类在运行时创建自适应卡,但是就将这些卡添加到对话框堆栈而言,我可以只在运行时调用AddDialog()
并添加瀑布步骤吗?我的API返回JSON以及要显示在对话框中的文本以及它的控件类型-它根据this documentation使用React-JSONSchema和UISchema属性。这是我正在使用的外部API。
The documentation专注于静态内容。我可以从一个空的Waterfall开始并使用类似beginDialog的东西,还是必须与CustomDialog实现一起做?
答案 0 :(得分:1)
我通过使用ComplexDialogBot
作为我的机器人工作方式的基础来实现了这一目标。
更具体地说,在上面链接的类中,有两种感兴趣的方法:
SelectionStepAsync
-向用户显示选择内容LoopStepAsync
-处理用户输入并决定当前对话框流是应该移到下一步还是结束。我用两个步骤(WaterfallStep[]
和DisplayCardAsync
)创建了一个ProcessCardAsync
,这与上面的类中的方法类似。就我而言,我收集了所有可能的步骤,以及弄清楚逻辑流程是否满足完成标准的逻辑,这意味着所有繁重的工作都在ProcessCardAsync
内部进行。