0
我想开始从LuisDialog一个FormFlow后:微软BotFramework FormFlow PromptInStart跳到恢复功能
[LuisIntent("bookConfRoom")]
public async Task BookConferenceRoom(IDialogContext context, LuisResult result)
{
IDialog<RoomBooking> roomBookingDialog = MakeRootDialog();
context.Call(roomBookingDialog, RoomBookingComplete);
}
MakeRootDialog()
构建FormFlow形式:
internal static IDialog<RoomBooking> MakeRootDialog()
{
return Chain.From(() =>
FormDialog.FromForm(RoomBooking.BuildForm, options: FormOptions.PromptInStart));
}
而且RoomBooking
看起来像这样:
[Serializable]
public class RoomBooking
{
public LocationOptions MeetingLocation;
public DateTime MeetingTime;
public double NumberOfHours;
public int NumberOfAttendees;
public List<AmenitiesOptions> Amenities;
public static IForm<RoomBooking> BuildForm()
{
return new FormBuilder<RoomBooking>().Build();
}
}
当意图被击中后,简历在船尾er函数RoomBookingComplete
立即运行而不显示FormFlow。但是,如果我删除FormOptions.PromptInStart
然后FormFlow运行,但你必须发送另一个消息到机器人开始之前,这是我认为PromptInStart
将修复?
我想我对对话框堆栈的顺序和/或我所在的对话框上下文感到困惑。任何帮助将不胜感激。
感谢您的帮助@EzequielJadib。不幸的是,即使'Chain.From'被移除,我仍然遇到同样的问题。 – Poc275
你正在使用什么版本的BotBuilder? –
它是版本3.8.5.0 – Poc275