Ejemplo n.º 1
0
        public async Task SayHello(IDialogContext context, LuisResult result)
        {
            try
            {
                // Telemetry
                TelemetryHelper.TrackDialog(context, result, "Bot", "SayHello");

                // Did the bot already greet the user?
                bool saidHello = false;
                context.PrivateConversationData.TryGetValue <bool>("SaidHello", out saidHello);

                // Get the user data
                var user = await ServicesHelper.UserService.GetUserAsync();

                await ServicesHelper.LogUserServiceResponse(context);

                // Respond
                if (saidHello)
                {
                    await context.PostAsync($"Hi again, {user.GivenName}!");
                }
                else
                {
                    await context.PostAsync($"Hi, {user.GivenName}!");
                }

                // Record that the bot said hello
                context.PrivateConversationData.SetValue <bool>("SaidHello", true);
            }
            catch (Exception ex)
            {
                await context.PostAsync($"Sorry, something went wrong trying to get information about you ({ex.Message})");
            }
            context.Wait(MessageReceived);
        }