Example #1
0
        private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result)
        {
            try
            {
                var activity = await result as Activity;

                LuisModel luisModel = new LuisModel();

                luisModel = await luisModel.Get(activity.Text);

                if (luisModel.topScoringIntent.intent == "Greeting")
                {
                    await context.Forward(new GreetingDialog(), ResumeAfterCompleted, activity, CancellationToken.None);
                }
                else if (luisModel.topScoringIntent.intent == "Quiz")
                {
                    await context.Forward(new QuizDialog(), ResumeAfterCompleted, activity, CancellationToken.None);
                }
                else if (luisModel.topScoringIntent.intent == "Finish")
                {
                    await context.Forward(new FinishDialog(), ResumeAfterCompleted, activity, CancellationToken.None);
                }
                else
                {
                    await context.Forward(new NoneDialog(), ResumeAfterCompleted, activity, CancellationToken.None);
                }
            }
            catch (TooManyAttemptsException ex)
            {
                context.Done(new ResultDialog {
                    Activity = context.Activity as Activity
                });
            }
        }
        private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result)
        {
            var activity = await result as Activity;

            string        name    = context.Activity.From.Name;
            List <string> results = new List <string>()
            {
                "Olá " + name, "Oi " + name, "Olá " + name + " 😉!", "Oi " + name + " 😉!"
            };

            LuisModel luisModel = new LuisModel();

            luisModel = await luisModel.Get(results.SelectRandomdly());

            // return our reply to the user
            await context.PostAsync(results.SelectRandomdly());

            //context.Wait(MessageReceivedAsync);

            context.Done(new ResultDialog {
                Activity = activity
            });
        }