Esempio n. 1
0
        /// <summary>
        /// Confirm and add pairs to QnA Maker and publish it
        /// </summary>
        /// <param name="context"></param>
        /// <param name="result"></param>
        /// <returns></returns>
        private async Task AfterConfirm(IDialogContext context, IAwaitable <bool> result)
        {
            var confirm = await result;

            if (confirm)
            {
                string question = ".", answer = ".";
                if (context.ConversationData.TryGetValue <string>("question", out question) &&
                    context.ConversationData.TryGetValue <string>("answer", out answer))
                {
                    context.ConversationData.SetValue <int>("learn", 0);
                    Dialogs.QnADialog qna = new Dialogs.QnADialog();
                    await context.PostAsync("Learning...");

                    qna.AddPairs(question, answer);
                    qna.Publish();
                    await context.PostAsync($"Done! Try asking'{question}'");
                }
            }
            else
            {
                context.ConversationData.SetValue <int>("learn", 0);
                await context.PostAsync("Cancelled");
            }
        }
Esempio n. 2
0
        public async Task None(IDialogContext context, LuisResult result)
        {
            string message = $"Sorry, I do not know'{result.Query}'";

            // No intent found, then try asking QnA Knowlegebase
            Dialogs.QnADialog qna = new Dialogs.QnADialog();
            if (!qna.TryQuery(result.Query, out message))
            {
                message = $"Sorry, I do not know'{result.Query}'";
            }
            await context.PostAsync(message);

            context.Done(1);    // Go back to Root
        }