1
我是新編程的Facebook機器人。我在C#中使用微軟的bot框架。如何通過點擊bot框架c中的按鈕調用formflow#
我想在用戶從快速回復中選擇一個選擇時啓動對話框或表單流。
當我嘗試這個使用此代碼我不明白什麼是responde ......或者我得到錯誤
在我Rootdialog.cs即時通訊使用此代碼:
private async Task OnOptionSelected(IDialogContext context, IAwaitable<IMessageActivity> result)
{
var message = await result;
//if you choose start parking
if (message.Text == Resources.RootDialog_Welcome_Start)
{
this.order = new Models.Order();
var promptOptions = new PromptOptions<string>(
"Please select the city where you want to park:",
options: new[] { "a", "b", "c" },
promptStyler: new());
PromptDialog.Choice(context, this.ResumeAfterSelection, promptOptions);
}
private async Task ResumeAfterSelection(IDialogContext context, IAwaitable<string> result)
{
try
{
var cityRange = await result;
if (cityRange == "Brussels")
{
context.Call(FormDialog.FromForm<Enquiry>(Enquiry.BuildEnquiryForm, FormOptions.PromptInStart), async (ctx, formResult) => ctx.Wait(this.MessageReceivedAsync));
//var myform = new FormDialog<Enquiry>(new Enquiry(), Enquiry.BuildEnquiryForm, FormOptions.PromptInStart, null);
Enquiry.cs是
[Serializable]
public class Enquiry : LuisDialog<StartParking>
{
private Func<IForm<Enquiry>> buildEnquiryForm;
public Enquiry(Func<IForm<Enquiry>> buildEnquiryForm)
{
this.buildEnquiryForm = buildEnquiryForm;
}
public Enquiry()
{
}
[Prompt("What time")]
public DateTime Time { get; set; }
[Prompt("Placenumber?")]
public string PlaceNumber { get; set; }
[Prompt("Platenumber?")]
public string Platenumber { get; set; }
public IEnumerable<EntityRecommendation> Entities { get; internal set; }
public static IForm<Enquiry> BuildEnquiryForm()
{
return new FormBuilder<Enquiry>()
.AddRemainingFields()
.Build();
}
}
}