示例#1
0
 public async Task WhatsOnTomorrow(IDialogContext context, LuisResult result)
 {
     await WhereNext(context);
 }
 public async Task Help(IDialogContext context, LuisResult result) => await context.Forward(new RegisterSuportDialog(), ResumeAfterQnA, context.Activity, CancellationToken.None);
 public async Task Sense(IDialogContext context, LuisResult result)
 {
     await QnaMakerTask(context, false);
 }
        public async Task NoneIntent(IDialogContext context, LuisResult result)
        {
            await context.PostAsync($"I'm sorry, I did not understand '{result.Query}'."); //

            context.Wait(MessageReceived);
        }
 public async Task GetInfoAndSendEmail(IDialogContext context, LuisResult result)
 {
     await context.Forward(new GetEmailToSendInfoDialog(
                               KeyPassAndPhrase._templateEmailSalesId,
                               "Mais informação sistema"), ResumeAfterQnA, context.Activity, CancellationToken.None);
 }
示例#6
0
            public async Task ServiceTwo(IDialogContext context, LuisResult luisResult)
            {
                await context.PostAsync(luisResult.Entities.Single().Type);

                context.Wait(MessageReceived);
            }
示例#7
0
 public void HasAttributeButDoesNotMatchReturnType(IDialogContext context, LuisResult luisResult)
 {
     throw new NotImplementedException();
 }
示例#8
0
        public async Task Greeting(IDialogContext context, LuisResult result)
        {
            await context.PostAsync($"Hey, namaste! So good to see you!");

            context.Wait(MessageReceived);
        }
示例#9
0
        public async Task None(IDialogContext context, LuisResult result)
        {
            await context.PostAsync("I am yet to be trained to understand what you want to say");

            context.Wait(MessageReceived);
        }
示例#10
0
        public async Task TraducaoBot(IDialogContext context, LuisResult result)
        {
            await context.PostAsync("Me diga que eu Traduzo para Inglês.");

            context.Wait(TraducaoEn);
        }
        public async Task NoIntent(IDialogContext context, LuisResult result)
        {
            await context.PostAsync("I'm sorry, I'm not sure I understand.");

            context.Done(0);
        }
示例#12
0
        public async Task ConscienciaAsync(IDialogContext context, LuisResult result)
        {
            await context.PostAsync("Eu sou um bot que te ajuda a traduzir tudo para o inglês.");

            context.Done <string>(null);
        }
示例#13
0
        public async Task NoneAsync(IDialogContext context, LuisResult result)
        {
            await context.PostAsync("Desculpe não consegui te entender.");

            context.Done <string>(null);
        }
示例#14
0
        public async Task None(IDialogContext context, LuisResult result)
        {
            await context.PostAsync("I'm sorry. I didn't understand you.");

            context.Wait(MessageReceived);
        }
示例#15
0
 private Task PrivateHandlerWithNoAttribute(IDialogContext context, LuisResult luisResult)
 {
     throw new NotImplementedException();
 }
示例#16
0
        public async Task ProcessNone(IDialogContext context, LuisResult result)
        {
            await context.PostAsync("I do not understand");

            context.Wait(MessageReceived);
        }
示例#17
0
 private Task PrivateHandlerWithNoAttribute(IDialogContext context, IAwaitable <IMessageActivity> activity, LuisResult luisResult)
 {
     throw new NotImplementedException();
 }
示例#18
0
        public async Task ProcessHello(IDialogContext context, LuisResult result)
        {
            await context.PostAsync("Hi!");

            context.Wait(MessageReceived);
        }
示例#19
0
            public async Task IntentOne(IDialogContext context, LuisResult luisResult)
            {
                await context.PostAsync(luisResult.Intents.Single().Actions.Single().Name);

                context.Wait(MessageReceived);
            }
示例#20
0
        public async Task ProcessWeather(IDialogContext context, LuisResult result)
        {
            var location = "Moscow";
            var measure  = "temperature";
            var date     = DateTime.Now.Date;

            EntityRecommendation entityContainer;

            if (result.TryFindEntity("builtin.geography.city", out entityContainer))
            {
                location = entityContainer.Entity;
            }

            if (result.TryFindEntity("builtin.datetime.date", out entityContainer))
            {
                DateTime.TryParse(entityContainer?.Resolution?.SingleOrDefault().Value, out date);
            }

            if (result.TryFindEntity("measurement", out entityContainer))
            {
                measure = entityContainer.Entity;
            }

            var weatherClient = new WeatherClient("88597cb7a556c191905de0f52f23d7d6");
            var forecastArray = await weatherClient.Forecast(location);

            var forecast = forecastArray.SingleOrDefault(f => f.When.Date == date.Date);

            string message;

            if (forecast != null)
            {
                if (measure.Contains("humid"))
                {
                    message = $"The humidity on {forecast.Date} in {location} is {forecast.Humidity}\r\n";
                }
                else if (measure.Contains("pres"))
                {
                    message = $"The pressure on {forecast.Date} in {location} is {forecast.Pressure}\r\n";
                }
                else if (measure.Contains("temp") || measure.Contains("cold") || measure.Contains("warm"))
                {
                    message = $"The temperature on {forecast.Date} in {location} is {forecast.Temp}\r\n";
                }
                else
                {
                    message = "Sorry, unknown parameter \"{parameter}\" requested... Try again";
                }
            }
            else
            {
                message = "Sorry! I was not able to get the forecast.";
            }

#if TRANSLATE
            message = await Translator.Translate(message, "en-US", Locale);
#endif

            await context.PostAsync(message);

            context.Wait(MessageReceived);
        }
        public async Task None(IDialogContext context, IAwaitable <IMessageActivity> message, LuisResult result)
        {
            var messageToForward = await message as Activity;
            await context.Forward(new Root, this.AfterQnA, messageToForward, CancellationToken.None);

            //context.Wait(this.MessageReceived);
        }
示例#22
0
 public async Task LANIDformat(IDialogContext context, IAwaitable <IMessageActivity> message, LuisResult result)
 {
     var qnadialog        = new LanQnADialog();
     var messageToForward = await message;
     await context.Forward(qnadialog, AfterQnADialog, messageToForward, CancellationToken.None);
 }
示例#23
0
        public async Task Categorization(IDialogContext context, LuisResult result)
        {
            //To get the index of the intent with highest score
            int    intent_count = result.Intents.Count;
            int    index        = 0;
            double?score        = 0;

            for (int i = 0; i < intent_count; i++)
            {
                if (result.Intents[i].Score > score)
                {
                    score = result.Intents[i].Score;
                    index = i;
                }
            }

            //Intent of highest score
            string category = result.Intents[index].Intent;
            //string message = "分類為: "+ category + " 我地建議:";
            string message = "";

            //Try to send the recommendation with a picture
            IMessageActivity replyMessage = context.MakeMessage();                                 //Get the message activity in context

            replyMessage.Attachments = new List <Attachment>();                                    //Attachments

            List <AIBot_FYP16004.Models.DeviceCatalog> productList = get_recommendation(category); //[0].Name
            int num_of_products  = productList.Count;
            int products_to_show = num_of_products > 3 ? 3 : num_of_products;

            //Check if the number of products returned is 0
            if (num_of_products == 0)
            {
                message = "唔好意思,冇相關產品推薦吖";
            }
            else
            {
                message = "以下喺我地嘅建議:";

                try
                {
                    for (int i = 0; i < products_to_show; i++)
                    {
                        List <CardImage> cardImages = new List <CardImage>();
                        cardImages.Add(new CardImage(url: "https://c.s-microsoft.com/en-us/CMSImages/lrn-share-site-ms-logo.png?version=bf62922f-fda3-d328-e220-b699eac0d6c0"));

                        List <CardAction> cardButtons = new List <CardAction>();

                        CardAction plButton = new CardAction()
                        {
                            Value = "https://www.microsoftstore.com.hk/",
                            Type  = "openUrl",
                            Title = "產品頁面"
                        };

                        cardButtons.Add(plButton);

                        HeroCard plCard = new HeroCard()
                        {
                            Title    = productList[i].Name,
                            Subtitle = productList[i].DeviceDescription,
                            Images   = cardImages,
                            Buttons  = cardButtons
                        };

                        Attachment plAttachment = plCard.ToAttachment();

                        replyMessage.Attachments.Add(plAttachment);
                    }
                }
                catch (Exception ex)
                {
                    message += ("Exception Message: " + ex.Message);
                    message += ("Exception StackTrace: " + ex.StackTrace);
                }
                //End

                //Add a button to ask whether the user is satisfied with the recommendations or not
                List <CardAction> sButtons = new List <CardAction>();

                CardAction sButton1 = new CardAction()
                {
                    Value = "滿意",
                    Type  = "imBack",
                    Title = "滿意"
                };

                CardAction sButton2 = new CardAction()
                {
                    Value = "唔滿意",
                    Type  = "imBack",
                    Title = "唔滿意"
                };

                sButtons.Add(sButton1);
                sButtons.Add(sButton2);

                HeroCard sCard = new HeroCard()
                {
                    Title   = "滿意我地嘅推薦?",
                    Buttons = sButtons
                };

                replyMessage.Attachments.Add(sCard.ToAttachment());
            }

            replyMessage.Text = message;

            await context.PostAsync(replyMessage);

            context.Wait(MessageReceived);
        }
示例#24
0
        private async Task ProcessluisAsync(ITurnContext <IMessageActivity> turnContext, LuisResult luisResult, CancellationToken cancellationToken)
        {
            _logger.LogInformation("ProcessluisAsync");

            // Retrieve LUIS result for Process Automation.
            var result    = luisResult.ConnectedServiceResult;
            var topIntent = result.TopScoringIntent.Intent;

            await turnContext.SendActivityAsync(MessageFactory.Text($"Luis top intent {topIntent}."), cancellationToken);

            //await turnContext.SendActivityAsync(MessageFactory.Text($"Luis intents detected:\n\n{string.Join("\n\n", result.Intents.Select(i => i.Intent))}"), cancellationToken);
            if (luisResult.Entities.Count > 0)
            {
                await turnContext.SendActivityAsync(MessageFactory.Text($"Luis entities were found in the message:\n\n{string.Join("\n\n", result.Entities.Select(i => i.Entity))}"), cancellationToken);
            }
        }
示例#25
0
 public async Task Buy(IDialogContext context, LuisResult result)
 {
     await context.Forward(new RegisterBuyDialog(0), ResumeAfterQnA, context.Activity, new CancellationTokenSource().Token);
 }
示例#26
0
 public Task PublicHandlerWithTwoAttributes(IDialogContext context, LuisResult luisResult)
 {
     throw new NotImplementedException();
 }
示例#27
0
        public async Task Laugh(IDialogContext context, LuisResult result)
        {
            await context.PostAsync($" Love to help! 😍😍 ");

            context.Done(true);
        }
示例#28
0
 public Task PublicHandlerWithTwoAttributes(IDialogContext context, IAwaitable <IMessageActivity> activity, LuisResult luisResult)
 {
     throw new NotImplementedException();
 }
示例#29
0
 public async Task MonthlyListIntent(IDialogContext context, LuisResult result)
 {
     await this.ShowLuisResult(context, result);
 }
        private async Task ShowLuisResult(IDialogContext context, LuisResult result)
        {
            await context.PostAsync($"You have reached {result.Intents[0].Intent}. You said: {result.Query}");

            context.Wait(MessageReceived);
        }