public static async Task <ResponseLUIS> GetEntityFromLUIS(String Query) { Query = Uri.EscapeDataString(Query); ResponseLUIS response = new ResponseLUIS(); using (HttpClient client = new HttpClient()) { string RequestURI = "https://api.projectoxford.ai/luis/v1/application?id=b7736a2d-2509-4918-aace-3fd1facf6e0c&subscription-key=e31aa77294fc41f4854be4565f609c3c&q=" + Query; HttpResponseMessage msg = await client.GetAsync(RequestURI); if (msg.IsSuccessStatusCode) { var JsonDataResponse = await msg.Content.ReadAsStringAsync(); response = JsonConvert.DeserializeObject <ResponseLUIS>(JsonDataResponse); } } return(response); }
/// <summary> /// POST: api/Messages /// Receive a message from a user and reply to it /// </summary> public async Task <HttpResponseMessage> Post([FromBody] Activity activity) { Activity reply; if (activity.Type == ActivityTypes.Message) { Random random = new Random(); string ResponseToUser = ""; ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)); ResponseLUIS resLUIS = await GetEntityFromLUIS(activity.Text); if (resLUIS.intents.Count() >= 0) { switch (resLUIS.intents[0].intent) { case "Response": #region hi-name nameOfPerson = resLUIS.entities[0].entity; if (!nameOfPerson.Contains("Hello") || !nameOfPerson.Contains("hi")) { string[] responselist = { "Hi There", resLUIS.entities[0].entity + " " + resLUIS.entities[1].entity, "Heya!" + " " + resLUIS.entities[1].entity, "Namaste" }; ResponseToUser = responselist[random.Next(0, responselist.Length)]; reply = activity.CreateReply(ResponseToUser); await connector.Conversations.SendToConversationAsync(reply); } else if (string.IsNullOrEmpty(nameOfPerson) == false && (nameOfPerson.Contains("hello") || nameOfPerson.Contains("hi"))) { string[] responselist = { "Hi There", "Heya!", "Namaste" }; ResponseToUser = responselist[random.Next(0, responselist.Length)]; reply = activity.CreateReply(ResponseToUser); await connector.Conversations.SendToConversationAsync(reply); } #endregion break; case "Response1": #region hi ResponseToUser = "******"; reply = activity.CreateReply(ResponseToUser); // ButtonGenerate.getCommand(reply); // SignInButton.getCommand(reply); TicketButton.getCommand(reply); await connector.Conversations.SendToConversationAsync(reply); #endregion break; case "POS": reply = activity.CreateReply(ResponseToUser); POSIssueButton.getCommand(reply); await connector.Conversations.SendToConversationAsync(reply); break; case "Hung POS": reply = activity.CreateReply(ResponseToUser); yesNoBtn.getCommand(reply); await connector.Conversations.SendToConversationAsync(reply); break; case "YES": ResponseToUser = BugCreation.getCommand(); reply = activity.CreateReply(ResponseToUser); await connector.Conversations.SendToConversationAsync(reply); break; #region oldcode //case "Response2": // #region how are you? // string[] sentencesOfHow = { "Iam fine, Thank You!", "I am fantabulous!", "I'd be better if I won the lottery :) ", // "Hopefully not as good as I'll ever be.", "Living the dream!", // "Worse than yesterday but better than tomorrow" }; // ResponseToUser = sentencesOfHow[random.Next(0, sentencesOfHow.Length)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // #endregion // break; //case "Response3": // #region who made you? // ResponseToUser = "******"; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // #endregion // break; //case "Response4": // #region who are you? // ResponseToUser = "******"; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // #endregion // break; //case "Search": // #region Search // string fileName = resLUIS.entities[0].entity; // List<string> RetrivedfileNameList = SearchClass.ReturnFileNameWithExtension(fileName); // string ResponseToUser1 = "You have searched for:" + Environment.NewLine; // string ResponseToUser2 = string.Join(",", RetrivedfileNameList); // ResponseToUser = ResponseToUser1 + Environment.NewLine + ResponseToUser2; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // string ResponseToUserHard = "Enter File Name you wish to open?"; // reply = activity.CreateReply(ResponseToUserHard); // await connector.Conversations.SendToConversationAsync(reply); // // reply = activity.CreateReply(RetrivedfileName); // // searchObj.OpenFile(RetrivedfileName); // #endregion // break; //case "OpenFile": // #region openfile // if (activity.Text.Contains(".")) // { // SearchClass.OpenFile(activity.Text); // } // #endregion // break; //case "Speak": // #region speak // SpeechRecognizer.UserVoiceToText(); // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // #endregion // break; //case "ReadFile": // #region read file // fileName = resLUIS.entities[0].entity; // fileName = fileName.Replace(" ", string.Empty); // int lineNumber = Convert.ToInt32(resLUIS.entities[1].entity); // ResponseToUser = ReadFile.returnFileLines(fileName, lineNumber); // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // #endregion // break; //case "None": // #region None // string[] sentences = { "hmm... that's difficult for me to process", " Hey ! I am a bot, try something different :) ", "Well, I don't know but I can do something different." }; // int lengthOfString = sentences.Length; // ResponseToUser = sentences[random.Next(0, lengthOfString)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // #endregion // break; //case "sendOf": // #region sendOf // string[] sentencesSendOf = { "Is there anything else I might help you with today?", "Thank you for chatting with me today. Have a nice day. Good bye." , " It was nice talking to you! Can I do anything for you? ", "You too – bye!" , // "All right – take care!"}; // ResponseToUser = sentencesSendOf[random.Next(0, sentencesSendOf.Length)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // #endregion // break; //case "yes": // string[] sentencesOfYes = {"How can I help you?", "In what way can I assist you?", "Sounds like a plan!", "Fine! what can I do for you?" }; // ResponseToUser = sentencesOfYes[random.Next(0, sentencesOfYes.Length)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // break; //case "No": // string[] sentencesOfNo = { "OK, no problem see you soon!", "Thanks! See you later.", "Bye.","Well, I know you’re busy, so I don’t want to keep you." // ,"That’s OK. Nice talking to you.","Catch ya later!","Take care!"}; // ResponseToUser = sentencesOfNo[random.Next(0, sentencesOfNo.Length)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // break; //case "Like": // ResponseToUser = "******" + " " + activity.Text + " " + "too!"; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // break; //case "Team Members": // ResponseToUser = "******"; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // break; //case "Why": // string[] sentencesOfWhy = { "Why do you ask so many questions?", "Need to process this in my CPU.. will let you know later!", "Because I am Awesome." }; // ResponseToUser = sentencesOfWhy[random.Next(0, sentencesOfWhy.Length)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // break; //case "Happy": // string[] sentencesOfHappy = { " You haven’t lost your smile at all, it’s right under your nose. You just forgot it was there.", " All people smile in the same language", "Because of your smile, you make life more beautiful.", "A laugh is a smile that bursts" }; // ResponseToUser = sentencesOfHappy[random.Next(0, sentencesOfHappy.Length)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // break; //case "Gratitude": // string[] sentencesOfGratitude = {nameOfPerson+" "+"That’s all right",nameOfPerson+" "+"you’re welcome.","You’re very welcome.","Don’t mention it.", // "Not at all.","It wasn’t a problem at all.","It’s nothing.","It’s my pleasure.","The pleasure is all mine.","My pleasure." }; // ResponseToUser = sentencesOfGratitude[random.Next(0, sentencesOfGratitude.Length)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // break; //case "user": // if (string.IsNullOrEmpty(nameOfPerson)==false&&(nameOfPerson.Contains("hello") || nameOfPerson.Contains("hi"))) // { // string[] sentencesOfUser = { "May I know your Name?", "Ohoo! Your name?" }; // ResponseToUser = sentencesOfUser[random.Next(0, sentencesOfUser.Length)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // break; // } // else if(!nameOfPerson.Contains("hello")||!nameOfPerson.Contains("hi")) { // string[] sentencesOfUser = { "Hmm.. Let me Guess! You are" + " " + nameOfPerson, "You are" + " " + nameOfPerson + ". " + "Isn't it?" }; // ResponseToUser = sentencesOfUser[random.Next(0, sentencesOfUser.Length)]; // reply = activity.CreateReply(ResponseToUser); // await connector.Conversations.SendToConversationAsync(reply); // break; // } // break; #endregion default: #region default ResponseToUser = "******"; reply = activity.CreateReply(ResponseToUser); await connector.Conversations.SendToConversationAsync(reply); #endregion break; } } else { ResponseToUser = "******"; reply = activity.CreateReply(ResponseToUser); await connector.Conversations.SendToConversationAsync(reply); } } else { HandleSystemMessage(activity); } var response = Request.CreateResponse(HttpStatusCode.OK); return(response); }