我有一个简单的 Bot,如下所示:
[Serializable]
[Template(TemplateUsage.NotUnderstood, "I do not understand \"{0}\".", "Try again, I don't get \"{0}\".")]
class MyOrder
{
public string Subject;
public string Description;
public static IForm<MyOrder> BuildForm()
{
return new FormBuilder<MyOrder>()
.Field(nameof(MyOrder.Subject), "What Subject should I use?")
.Field(nameof(MyOrder.Description), "And what Description?")
.AddRemainingFields()
.OnCompletionAsync(MyFormComplete)
.Build();
}
private static async Task MyFormComplete(IDialogContext context, MyOrder order)
{
if (order != null)
{
await context.PostAsync($"Created. Number is 9833");
}
else
{
await context.PostAsync("Form returned empty response!");
}
}
一旦表单完成,就会进行 MyFormComplete 回调。
第一个问题 - 我如何访问该功能中的客户详细信息?我需要知道 Skype 句柄,以便将其映射到内部用户。
其次 - 完成表格后,我无法开始新的表格。无论我在客户端输入什么,它都会不断触发回调函数。必须有一种方法来终止会话/对话,以便来自 Skype 客户端的下一个文本将开始一个新的对话/表单。是的?