public async Task <HttpResponseMessage> Post([FromBody] Activity activity) { if (activity.Type == ActivityTypes.Message) { ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)); // calculate something for us to return string answer = "Hmmmm, I didn't understand that. I'm still learning!"; string token = activity.Text.ToLower().Trim(); Luis luisObj = await LUISClient.ParseUserInput(activity.Text); Debug.WriteLine(luisObj); if (luisObj.topScoringIntent != null) { List <string> entityList = luisObj.getList(); String gender = "male"; int year = 1995; switch (luisObj.topScoringIntent.intent) { case "Diagnose": answer = "You might be having a " + (medic.getDiagonoses(entityList, gender, year)).ToLower() + "."; break; case "SeekingTreatments": answer = medic.getTreatments(entityList); break; case "SeekiingSymptoms": break; case "Greetings": answer = "Hello!"; break; case "EndChat": answer = "Bye!"; break; case "None": break; } } Activity reply = activity.CreateReply(answer); await connector.Conversations.ReplyToActivityAsync(reply); } else { HandleSystemMessage(activity); } var response = Request.CreateResponse(HttpStatusCode.OK); return(response); }
public static async Task <Luis> ParseUserInput(string strInput) { string strEscaped = Uri.EscapeDataString(strInput); using (var client = new HttpClient()) { // TODO: put URI in config file // TODO: insert your LUIS URL here string uri = luisURL + "&q=" + strEscaped; HttpResponseMessage msg = await client.GetAsync(uri); if (msg.IsSuccessStatusCode) { var jsonResponse = await msg.Content.ReadAsStringAsync(); Luis _Data = JsonConvert.DeserializeObject <Luis>(jsonResponse); return(_Data); } else { throw new Exception("Lui service is not running at " + luisURL); } } }