最近Microsoftのbotframeworkを使用してチャットボットを開発していました。私はユーザーのyes/no入力を取るprompt.confirmを使用していますが、基本的なyes/noを書いたときの試行回数が多すぎます。私はボットがあまりにも多くの試行の例外を表示するのではなく、内部的に処理したいと思っています。ここに私のコードです。C#BotFrameworkプロンプトが表示される回数が多すぎます。
[LuisIntent("None")]
public async Task NoneIntent(IDialogContext context, LuisResult result)
{
try
{
PromptDialog.Confirm(context, NextQuestionAsync, QuestionPrompt, attempts: 1, promptStyle: PromptStyle.Auto);
}
catch (Exception ex)
{
await context.PostAsync("Something really bad happened.");
}
}
public async Task NextQuestionAsync(IDialogContext context, IAwaitable<bool> result)
{
try
{
if (await result)
{
await context.PostAsync($"Ok, alarm 0 disabled.");
//context.Wait(NoneIntent);
}
else
{
await context.PostAsync("You Said No");
}
}
catch (Exception e)
{
}
}
https://github.com/Microsoft/BotBuilder/issues/1757 – stuartd