在机器人中,我们有一个自适应卡,用户可以选择是或否。选择YES后,系统将提示用户输入关键字。用户在适配卡的文本块中输入后,必须捕获该输入并将其作为输入参数发送到web api。然而,在给定输入之后,我们将不得不应用luis,因为输入文本可能具有同义词。在下面的代码中,关键字变量指的是用户给出的输入文本,必须对其应用LUIS。
private async Task CustomisePPT(IDialogContext context, IAwaitable<object> result)
{
try
{
var replyMessage = context.MakeMessage();
var newMessage = context.Activity.AsMessageActivity();
var userMessage = newMessage.Value;
var take=userMessage.ToString().Substring(userMessage.ToString().IndexOf("GetUserInputKeywords"));
var split = take.ToString().Substring("GetUserInputKeywords".Length+2);
string keywords = split.Trim();
keywords = keywords.Substring(1, keywords.Length - 5);
using (HttpClient client = new HttpClient())
{
// api takes the user message as a query paramater
string RequestURI = "https://xyz" + ***keywords***;
HttpResponseMessage responsemMsg = await client.GetAsync(RequestURI);
// TODO: handle fail case
if (responsemMsg.IsSuccessStatusCode)
{
var apiResponse = await responsemMsg.Content.ReadAsStringAsync();
}
}
}
catch (Exception ex)
{
}
//throw new NotImplementedException();
await Task.CompletedTask;
}
https://stackoverflow.com/questions/54748358
复制相似问题