私はデータベースを照会するボットを設計していますが、壁に当たっています。私は、projectInfoは大丈夫と呼ばれるループを入れたいのですがどこC#botframeworkでループを作成する
[LuisIntent("ProjectInfo")]
public async Task projectInfo(IDialogContext context, LuisResult result)
{
PromptDialog.Text(context,AfterPromptMethod,"Please enter your project name", attempts: 100);
}
async Task AfterPromptMethod(IDialogContext context, IAwaitable<string> userInput)
{
var InputText = await userInput;
string projectName = InputText.ToString();
if (projectName!= null)
{
TestInfo MI = new TestInfo();
if (MI.FindProject(projectName) == 0)
{
await context.PostAsync($"Project Found. What do you want to know ?");
}
else
{
//PromptDialog.Text(context,AfterPromptMethod,"Pleaase check your product name and try again", attempts: 100);
await context.PostAsync($"Project Not Found. Check your project name and try again.");
}
}
context.Wait(MessageReceived);
}
これはですが、それはプロジェクトが見つからないif文に達した場合、それは何もしません。私は "context.Wait(projectInfo)"を挿入しようとしましたが、それは役に立ちませんでした。私もpromtダイアログを使用しようとしました。もしそうであれば、メインメニューに行くのでなければループバックします。しかし、私はそのアプローチについて私の頭を包み込むことができませんでした。
誰かがそれを行うための提案やより良い方法があれば、それは感謝します。
を更新返す、projectInfoメソッドに再び行くことであるならば、 projectInfoに戻りますか?コンテキストに到達するのを止めてください。 – Demonic218
projectInfo関数でcontext.wait(AfterPromptMethod);を追加するだけです) –