在 Microsoft Bot Framework 的 sdk v4 中使用 FormDialog
Use FormDialog in sdk v4 of Microsoft Bot Framework
我有一个用 sdk v3 构建的聊天机器人。我正在将机器人更新为 sdkv4 并将其移动到 core2.0。
protected async Task<DialogTurnResult> BeginChildDialogAsync(DialogContext dc, OnTurnProperty onTurnProperty)
{
var activity = dc.Context.Activity;
var actionValue = onTurnProperty.Intent;
switch (onTurnProperty.Intent)
{
case "quickquote":
await dc.Context.SendActivityAsync("THIS IS QUICK QUOTE!");
var survey = new FormDialog<QQForm>(new QQForm(), QQForm.BuildForm, FormOptions.PromptInStart, null);
dc.Call(survey, AfterSurvey);
当我调用使用 formdialog 构建的表单时。我在 dc.call(survey,AfterSurvey)
收到错误
Severity Code Description Project File Line Suppression State
Error CS1061 'DialogContext' does not contain a definition for 'Call'
and no accessible extension method 'Call' accepting a first argument
of type 'DialogContext' could be found (are you missing a using
directive or an assembly reference?)
如何在 sdk v4 中更改我的表单对话框?
Bot Framework v4 不再有 FormFlows 的概念。存档的方法是结合使用各种技术。我建议阅读以下内容:
阅读完这些文档后,您应该足以开始调整您的代码了。
官方 bot builder 示例 repo 中提供了另一个收集用户各种输入的很好的例子。看看here.
我会选择一个 ComponentDialog
包含一个 WaterfallDialog
并进行一些验证。通过这种方式,您可以重复使用表单流中惯用的所有内容。
我有一个用 sdk v3 构建的聊天机器人。我正在将机器人更新为 sdkv4 并将其移动到 core2.0。
protected async Task<DialogTurnResult> BeginChildDialogAsync(DialogContext dc, OnTurnProperty onTurnProperty)
{
var activity = dc.Context.Activity;
var actionValue = onTurnProperty.Intent;
switch (onTurnProperty.Intent)
{
case "quickquote":
await dc.Context.SendActivityAsync("THIS IS QUICK QUOTE!");
var survey = new FormDialog<QQForm>(new QQForm(), QQForm.BuildForm, FormOptions.PromptInStart, null);
dc.Call(survey, AfterSurvey);
当我调用使用 formdialog 构建的表单时。我在 dc.call(survey,AfterSurvey)
Severity Code Description Project File Line Suppression State Error CS1061 'DialogContext' does not contain a definition for 'Call' and no accessible extension method 'Call' accepting a first argument of type 'DialogContext' could be found (are you missing a using directive or an assembly reference?)
如何在 sdk v4 中更改我的表单对话框?
Bot Framework v4 不再有 FormFlows 的概念。存档的方法是结合使用各种技术。我建议阅读以下内容:
阅读完这些文档后,您应该足以开始调整您的代码了。
官方 bot builder 示例 repo 中提供了另一个收集用户各种输入的很好的例子。看看here.
我会选择一个 ComponentDialog
包含一个 WaterfallDialog
并进行一些验证。通过这种方式,您可以重复使用表单流中惯用的所有内容。