Example #1
0
        private async Task <DialogTurnResult> InitialStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            // Set values for generate answer options.
            var qnamakerOptions = new QnAMakerOptions
            {
                ScoreThreshold = QnAMakerMultiturnDialog.DefaultThreshold,
                Top            = QnAMakerMultiturnDialog.DefaultTopN,
                Context        = new QnARequestContext()
            };

            var noAnswer = (Activity)Activity.CreateMessageActivity();

            noAnswer.Text = QnAMakerMultiturnDialog.DefaultNoAnswer;

            var cardNoMatchResponse = new Activity(QnAMakerMultiturnDialog.DefaultCardNoMatchResponse);

            // Set values for dialog responses.
            var qnaDialogResponseOptions = new QnADialogResponseOptions
            {
                NoAnswer = noAnswer,
                ActiveLearningCardTitle = QnAMakerMultiturnDialog.DefaultCardTitle,
                CardNoMatchText         = QnAMakerMultiturnDialog.DefaultCardNoMatchText,
                CardNoMatchResponse     = cardNoMatchResponse
            };

            var dialogOptions = new Dictionary <string, object>
            {
                [QnAMakerMultiturnDialog.QnAOptions] = qnamakerOptions,
                [QnAMakerMultiturnDialog.QnADialogResponseOptions] = qnaDialogResponseOptions
            };

            return(await stepContext.BeginDialogAsync(nameof(QnAMakerMultiturnDialog), dialogOptions, cancellationToken));
        }
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            var turnContext = dc.Context;

            var conversationStateAccessors = Util.ConversationState.CreateProperty <ConversationData>(nameof(ConversationData));
            var conversationData           = await conversationStateAccessors.GetAsync(turnContext, () => new ConversationData());

            string userLanguage = conversationData.LanguagePreference;
            //string userLanguage = dc.Context()
            var noAnswer = (Activity)Activity.CreateMessageActivity();

            noAnswer.Text = Util.GetDefaultNoAnswer(userLanguage);

            var cardNoMatchResponse = (Activity)MessageFactory.Text(DefaultCardNoMatchResponse);


            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = DefaultCardTitle,
                CardNoMatchText         = DefaultCardNoMatchText,
                NoAnswer            = noAnswer,
                CardNoMatchResponse = cardNoMatchResponse,
            };

            return(responseOptions);
        }
Example #3
0
        private async Task <DialogTurnResult> InitialStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            // Set values for generate answer options.
            var qnamakerOptions = new QnAMakerOptions
            {
                ScoreThreshold = float.Parse(_configuration["DefaultThreshold"]),
                Top            = int.Parse(_configuration["NumberOfAnswersToReturn"]),
                Context        = new QnARequestContext()
            };

            var noAnswer = (Activity)Activity.CreateMessageActivity();

            noAnswer.Text = _configuration["DefaultNoAnswer"];

            var defaultCardNoMatchResponse = (Activity)Activity.CreateMessageActivity();

            defaultCardNoMatchResponse.Text = _configuration["DefaultCardNoMatchResponse"];

            // Set values for dialog responses.
            var qnaDialogResponseOptions = new QnADialogResponseOptions
            {
                NoAnswer                = noAnswer,
                CardNoMatchResponse     = defaultCardNoMatchResponse,
                CardNoMatchText         = _configuration["DefaultCardNoMatchText"],
                ActiveLearningCardTitle = _configuration["DefaultCardTitle"]
            };

            var dialogOptions = new Dictionary <string, object>
            {
                { "QnAOptions", qnamakerOptions },
                { "QnADialogResponseOptions", qnaDialogResponseOptions }
            };

            return(await stepContext.BeginDialogAsync(nameof(QnAMakerDialog), dialogOptions, cancellationToken));
        }
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            var noAnswer = (Activity)Activity.CreateMessageActivity();

            noAnswer.Text = DefaultNoAnswer;

            var cardNoMatchResponse = MessageFactory.Text(DefaultCardNoMatchResponse);

            try
            {
                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

                mail.From = new MailAddress("*****@*****.**");
                mail.To.Add("*****@*****.**");
                mail.Subject = "Test Mail";
                mail.Body    = "This is for testing SMTP mail from GMAIL";

                SmtpServer.Port        = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "muhammadadeel1144");
                SmtpServer.EnableSsl   = true;

                SmtpServer.Send(mail);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            // var serverId = 33396;
            // var injectionApiKey = "Ha92BgEx8w5W4Kdk6Q3J";

            // var client = new SocketLabsClient(serverId, injectionApiKey);

            // var message = new BasicMessage();

            // message.Subject = "Sending A Basic Message";
            // message.HtmlBody = "<html>This is the Html Body of my message.</html>";
            // message.PlainTextBody = "This is the Plain Text Body of my message.";
            // message.From.Email = "*****@*****.**";
            // message.To.Add("*****@*****.**");

            // var response = client.Send(message);


            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = DefaultCardTitle,
                CardNoMatchText         = DefaultCardNoMatchText,
                NoAnswer            = noAnswer,
                CardNoMatchResponse = cardNoMatchResponse,
            };

            return(responseOptions);
        }
Example #5
0
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            var defaultAnswerActivity = MessageFactory.Text(DefaultAnswer);

            var cardNoMatchResponse = MessageFactory.Text(DefaultCardNoMatchResponse);

            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = DefaultCardTitle,
                CardNoMatchText         = DefaultCardNoMatchText,
                NoAnswer            = defaultAnswerActivity,
                CardNoMatchResponse = cardNoMatchResponse,
            };

            return(responseOptions);
        }
Example #6
0
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            var noAnswer = (this.NoAnswer != null) ? await this.NoAnswer.BindToData(dc.Context, dc.GetState()).ConfigureAwait(false) : null;

            var cardNoMatchResponse = (this.CardNoMatchResponse != null) ? await this.CardNoMatchResponse.BindToData(dc.Context, dc.GetState()).ConfigureAwait(false) : null;

            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = this.ActiveLearningCardTitle,
                CardNoMatchText         = this.CardNoMatchText,
                NoAnswer            = noAnswer,
                CardNoMatchResponse = cardNoMatchResponse,
            };

            return(responseOptions);
        }
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            var noAnswer = (Activity)Activity.CreateMessageActivity();

            noAnswer.Text = DefaultNoAnswer;

            var cardNoMatchResponse = new Activity(DefaultCardNoMatchResponse);

            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = DefaultCardTitle,
                CardNoMatchText         = DefaultCardNoMatchText,
                NoAnswer            = noAnswer,
                CardNoMatchResponse = cardNoMatchResponse,
            };

            return(responseOptions);
        }
Example #8
0
#pragma warning disable CS1998
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            var noAnswer = (Activity)Activity.CreateMessageActivity();

            noAnswer.Text = _configuration["DefaultNoAnswer"];

            var cardNoMatchResponse = (Activity)MessageFactory.Text(_configuration["DefaultCardNoMatchResponse"]);

            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = _configuration["DefaultCardTitle"],
                CardNoMatchText         = _configuration["DefaultCardNoMatchText"],
                NoAnswer            = noAnswer,
                CardNoMatchResponse = cardNoMatchResponse,
            };

            return(responseOptions);
        }
Example #9
0
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            var noAnswer = (Activity)Activity.CreateMessageActivity();

            noAnswer.Text = this._configuration["DefaultAnswer"] ?? DefaultNoAnswer;

            var cardNoMatchResponse = (Activity)MessageFactory.Text(DefaultCardNoMatchResponse);

            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = DefaultCardTitle,
                CardNoMatchText         = DefaultCardNoMatchText,
                NoAnswer                 = noAnswer,
                CardNoMatchResponse      = cardNoMatchResponse,
                DisplayPreciseAnswerOnly = this.DisplayPreciseAnswerOnly
            };

            return(responseOptions);
        }
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            var dcState  = dc.GetState();
            var noAnswer = (this.NoAnswer != null) ? await this.NoAnswer.BindToData(dc.Context, dcState).ConfigureAwait(false) : null;

            var cardNoMatchResponse = (this.CardNoMatchResponse != null) ? await this.CardNoMatchResponse.BindToData(dc.Context, dcState).ConfigureAwait(false) : null;

            if (noAnswer != null)
            {
                var properties = new Dictionary <string, string>()
                {
                    { "template", JsonConvert.SerializeObject(this.NoAnswer) },
                    { "result", noAnswer == null ? string.Empty : JsonConvert.SerializeObject(noAnswer, new JsonSerializerSettings()
                        {
                            NullValueHandling = NullValueHandling.Ignore
                        }) },
                };
                TelemetryClient.TrackEvent("GeneratorResult", properties);
            }

            if (cardNoMatchResponse != null)
            {
                var properties = new Dictionary <string, string>()
                {
                    { "template", JsonConvert.SerializeObject(this.CardNoMatchResponse) },
                    { "result", cardNoMatchResponse == null ? string.Empty : JsonConvert.SerializeObject(cardNoMatchResponse, new JsonSerializerSettings()
                        {
                            NullValueHandling = NullValueHandling.Ignore
                        }) },
                };
                TelemetryClient.TrackEvent("GeneratorResult", properties);
            }

            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = this.ActiveLearningCardTitle.GetValue(dcState),
                CardNoMatchText         = this.CardNoMatchText.GetValue(dcState),
                NoAnswer            = noAnswer,
                CardNoMatchResponse = cardNoMatchResponse,
            };

            return(responseOptions);
        }
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            Console.WriteLine("===== QnAMakerBaseDialog#GetQnAResponseOptionsAsync ====");
            viewDialogContext(dc);

            var noAnswer = (Activity)Activity.CreateMessageActivity();

            noAnswer.Text = _defaultNoAnswer;

            var cardNoMatchResponse = (Activity)MessageFactory.Text(_defaultCardNoMatchResponse);


            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = _defaultCardTitle,
                CardNoMatchText         = _defaultCardNoMatchText,
                NoAnswer            = noAnswer,
                CardNoMatchResponse = cardNoMatchResponse,
            };

            return(responseOptions);
        }
        protected async override Task <QnADialogResponseOptions> GetQnAResponseOptionsAsync(DialogContext dc)
        {
            var noAnswer = (Activity)Activity.CreateMessageActivity();

            noAnswer.Text = DefaultNoAnswer;

            var cardNoMatchResponse = (Activity)MessageFactory.Text(DefaultCardNoMatchResponse);

            try
            {
                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

                mail.From = new MailAddress("*****@*****.**");
                mail.To.Add("*****@*****.**");
                mail.Subject = "Chatbot Message";
                mail.Body    = "You have got a chat in chatbot";

                SmtpServer.Port        = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "jrxgplzsaifdstcz");
                SmtpServer.EnableSsl   = true;

                SmtpServer.Send(mail);
            }
            catch
            {
            }


            var responseOptions = new QnADialogResponseOptions
            {
                ActiveLearningCardTitle = DefaultCardTitle,
                CardNoMatchText         = DefaultCardNoMatchText,
                NoAnswer            = noAnswer,
                CardNoMatchResponse = cardNoMatchResponse,
            };

            return(responseOptions);
        }