按照AnnotatedSandwichBot示例,您可以使用以下方法处理表单填充取消:
private static IDialog<object> MakeRootDialog()
{
return Chain.From(() => FormDialog.FromForm(Form.BuilLocalizedForm))
.Do(async (context, state) =>
{
try
{
var completed = await state;
}
catch (FormCanceledException canceled)
{
if (canceled.InnerException == null)
await context.PostAsync($"You quit on {canceled.Last}");
else
await context.PostAsync($"Sorry, I have a problem here");
}
});当用户突然输入"bye“时,bot成功地说出了You quit on FieldName (然后在Bot模拟器上使用FormCanceledException进行了一个巨大的堆栈跟踪)。
但是如果我再说一遍,它就会从乞讨开始,而不是从最后一个完成的步骤开始。我怎么能做到,这样表单就从那里开始--理想的情况下,打印“欢迎回来!”之类的东西?
https://stackoverflow.com/questions/40508736
复制相似问题