Я новичок в программировании ботов facebook. Я использую инфраструктуру Microsoft bot в C#.Как позвонить в форму, нажав кнопку в рамке bot C#
Я хочу начать диалог или поток форм, когда пользователь выбирает один из ответов быстрого ответа.
Когда я пытаюсь к этому с помощью этого кода я не получаю ничего, как ... или Отвечает я получил ошибку
В моем 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();
}
}
}