示例#1
0
        public override async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default)
        {
            await _objectLogger.LogObjectAsync(turnContext.Activity, turnContext.Activity.Id);

            // ** Echo event information to monitor bot
            await EchoEventAsync(turnContext);

            switch (turnContext.Activity.Type)
            {
            case "LaunchRequest":
                await HandleLaunchRequestAsync(turnContext, cancellationToken);

                return;

            case "StopIntent":
                await turnContext.SendActivityAsync(MessageFactory.Text("Terminando la sesión", inputHint: InputHints.IgnoringInput));

                return;
            }

            await base.OnTurnAsync(turnContext, cancellationToken);

            // ** Save bot state changes
            await _accessors.SaveChangesAsync(turnContext);
        }
示例#2
0
        public override async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default)
        {
            await _objectLogger.LogObjectAsync(turnContext.Activity, turnContext.Activity.Id);

            await base.OnTurnAsync(turnContext, cancellationToken);

            // ** Save bot state changes
            await _accessors.SaveChangesAsync(turnContext);
        }
示例#3
0
        public async Task AlexaPostAsync()
        {
            Request.EnableBuffering();

            using (var reader = new StreamReader(Request.Body))
            {
                var body = await reader.ReadToEndAsync();

                var bodyObject = JsonConvert.DeserializeObject <JObject>(body);
                var sessionId  = bodyObject["session"]["sessionId"].Value <string>();

                _objectLogger.SetSessionId(sessionId);
                await _objectLogger.LogObjectAsync(body, HttpContext.TraceIdentifier);

                Request.Body.Position = 0;

                await _alexaAdapter.ProcessAsync(Request, Response, _alexaBot);
            }
        }
示例#4
0
        public override async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default)
        {
            await _objectLogger.LogObjectAsync(turnContext.Activity, turnContext.Activity.Id);

            await base.OnTurnAsync(turnContext, cancellationToken);
        }