1
繼AnnotatedSandwichBot例如,可以處理表單填寫取消此:開始FormFlow它被停止
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");
}
});
當用戶突然類型「再見」,機器人成功地說道You quit on FieldName
(和一個巨大的堆棧之後用Bot Emulator上的FormCanceledException跟蹤)。
但是,如果我只是再說一次,它會從開始的形式開始,而不是從最後完成的步驟開始。我怎麼能這樣做,所以表單從那裏開始 - 理想情況下打印「歡迎回來!」之類的東西?
Bot State Service的文檔說它的目的是解決像我問他們最後一個問題的問題*,但是我不知道如何/在哪裏將它與FormFlow集成。 – VillasV