在循环中从 Botbuilder 调用 FormDialog

Call FormDialog from Botbuilder in Loop

嗨,是否有任何选项可以在 Luis-Match 函数中创建第二个 FormDialog。 我的 LUIS 实例找到一种或多种饮料,例如:

如果有多个实体,我会要求每个实体提供额外信息。

[LuisIntent("Drinks")]
public async Task Bestellung(IDialogContext context, LuisResult result)
{
    entities1 = ... // entities for first drink
    entities2 = ... // entities for second drink

    orderForm1 = new FormDialog<Drink>(new Drink(), formFunction, FormOptions.PromptInStart, entities1);
    await context.Forward(orderForm1, afterFormFunction);
    orderForm2 = new FormDialog<Drink>(new Drink(), formFunction, FormOptions.PromptInStart, entities2);
    await context.Forward(orderForm2, afterFormFunction);
}

我遇到异常:"invalid need: expected Call, have Poll"

我错在哪里?感谢您的帮助!

必须在 afterFormFunction ResumeAfter<T> 方法中调用第二个窗体对话框,而不是在第一个 context.Forward 之后调用。

第一个表单对话框结束后,在afterFormFunction.

中继续执行