Beispiel #1
0
        public async Task <ContentResult> Post([FromBody] AlexaRequest alexaRequestObject)
        {
            var intent    = alexaRequestObject?.request?.intent?.name;
            var query     = alexaRequestObject?.request?.intent?.slots?.phrase?.value;
            var sessionId = alexaRequestObject?.session?.sessionId;

            //Should change this.
            //When Alexa is invocted, it sends a null intent so we change this to a welcome message
            if (intent == null && query == null)
            {
                query = "Welcome";
            }

            _client.SendBotMessage(query, sessionId).Wait();
            var replies = _client.ReadBotMessages(sessionId).Result;

            //TODO: This pulls the last message sent by the bot. Could break for multiple messages sent
            var reply = replies.LastOrDefault();

            var response = new AlexaResponse(reply);

            var json = Newtonsoft.Json.JsonConvert.SerializeObject(response);
            var res  = json.ToString();

            return(Content(json.ToString(), "application/json"));
        }
Beispiel #2
0
        public ContentResult Post([FromBody] GoogleRequest value)
        {
            var query     = value.queryResult.queryText;
            var sessionId = value.session;
            var intent    = value.queryResult.intent;

            _client.SendBotMessage(query, sessionId).Wait();

            var replies = _client.ReadBotMessages(sessionId).Result;

            //TODO: This pulls the last message sent by the bot. Could break for multiple messages sent
            var reply = replies.LastOrDefault();

            var response = new GoogleResponse(reply);

            var json = Newtonsoft.Json.JsonConvert.SerializeObject(response);
            var res  = json.ToString();

            return(Content(json.ToString(), "application/json"));
        }