C# 提示用户输入字符串C botframe work
我目前正忙于设计一个机器人,它接收一个项目名称并返回其状态,但是我无法得到提示,让名称工作 目前这是我用来提示用户的方法C# 提示用户输入字符串C botframe work,c#,botframework,C#,Botframework,我目前正忙于设计一个机器人,它接收一个项目名称并返回其状态,但是我无法得到提示,让名称工作 目前这是我用来提示用户的方法 [LuisIntent("ProjectInfo")] public async Task projectInfo(IDialogContext context, LuisResult result, IAwaitable<string> Userresult) { await context.PostAsy
[LuisIntent("ProjectInfo")]
public async Task projectInfo(IDialogContext context, LuisResult result, IAwaitable<string> Userresult)
{
await context.PostAsync($"Enter your project name");
var Promt = await Userresult;
string projectName = Promt.ToString().ToLower();
if(projectName != null)
{
TestInfo MI = new TestInfo();
if(MI.FindProject(projectName.ToString()) == 0)
{
await context.PostAsync($"Project Found. What do you want to know ?");
}
else
{
await context.PostAsync($"Project Not Found.");
}
}
context.Wait(MessageReceived);
}
使用当前代码,我收到一个异常:ProjectInfo[类型为'text/plain'的文件]
我尝试过使用提示对话框,但似乎不起作用。我的最终目标是循环并提示用户输入新的项目名称,直到显示找到的项目
我不确定我是否以正确的方式进行,如果不是的话,欢迎提出任何建议 不幸的是,我还没有看到你的版本,但我可以给你一个不同方法的例子 通常我会提示输入以下简单文本:
PromptDialog.Text(context, AfterPromptMethod, "Prompt text", attempts: 100);
AfterPromptMethod的签名:
async Task AfterPromptMethod(IDialogContext context, IAwaitable<string> userInput)
有了它,您可以在AfterPromptMethod中执行逻辑,并循环回messageReceived中的提示符。请提供messageReceived函数的代码。我刚刚发现了一个不同的例子,这正是我需要的,谢谢,但是,捕获的字符串是Wait:Call string for TestBot.SimpleLuisDialog.AfterPromptMethod.Rest have string TestProject-Test project是我键入的字符串。使用Wait获取原始字符串。var inputText=等待用户输入;你好,很抱歉再次打扰你。我试图让它返回到调用原始提示的任务中,如果找到项目名inst,您知道如何执行吗?我试过使用context.call/wait他们似乎不想响应2选项:context.WaitMessageReceived返回可能包含提示的输入函数。或者使用相同的PromptDialog.Text。。。。再次排队