我使用的是Bot Framework(V4),并且有一个分为两个步骤的WaterfallDialog;第一步是捕获表单数据,第二步是处理表单数据。
第一步发送答复:
private async Task<DialogTurnResult> CaptureFormStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
var reply = await stepContext.Context.Activity.GetReplyFromCardAsync("BusinessyForm");
await stepContext.Context.SendActivityAsync(reply, cancellationToken);
}
Run Code Online (Sandbox Code Playgroud)
的GetReplyFromCardAsync是一个扩展方法这需要的JSON表示Activity具有自适应卡作为attachnent。自适应卡与此类似。自适应卡还具有提交动作。
我的问题是如何将这些信息传递给下一步?
在先前的尝试中,我已返回提示:
return await stepContext.PromptAsync(
"custom-prompt-id",
new PromptOptions { Prompt = MessageFactory.Text("Hello!") },
cancellationToken);
Run Code Online (Sandbox Code Playgroud)
但是在这种情况下,我不想提示用户其他信息。理想情况下,我想“保持”对话框状态以进行响应,当检测到响应时,下一步将处理提交结果。
我尝试过的事情:
这可行吗?任何帮助将非常感激!