コード例 #1
0
        private SkillResponse createRoboterRequest(String answer, String endpointID, String nsName, dynamic data, Session _session)
        {
            //Befehl erstellen
            SendDirective directive = new SendDirective(endpointID, "Custom.Mindstorms.Gadget", nsName, data);

            // create the speech response
            var speech = new SsmlOutputSpeech();

            speech.Ssml = $"<speak>{answer}</speak>";

            //ResponseBody vorbereiten
            ResponseBody responseBody = new ResponseBody();

            responseBody.OutputSpeech     = speech;
            responseBody.ShouldEndSession = false;
            responseBody.Reprompt         = new Reprompt("Was möchtest du tun?");
            responseBody.Card             = new SimpleCard {
                Title = "Debugging", Content = "Move Robot"
            };
            responseBody.Directives.Add(directive);

            //Antwort vorbereiten
            var skillResponse = new SkillResponse();

            skillResponse.SessionAttributes = _session.Attributes;
            skillResponse.Version           = "1.0";
            skillResponse.Response          = responseBody;
            return(skillResponse);
        }
コード例 #2
0
        public void SendDirectiveSerializesCorrectly()
        {
            SendDirective.AddToDirectiveConverter();
            var directive = Utility.ExampleFileContent <IDirective>("SendDirective.json");
            var send      = Assert.IsType <SendDirective>(directive);

            Assert.Equal("amzn1.ask.endpoint.ABC123", send.Endpoint.EndpointId);
            Assert.Equal("Custom.Robot", send.Header.Namespace);
            Assert.Equal("Spin", send.Header.Name);
            var payload = send.Payload as JObject;

            Assert.Equal("clockwise", payload.Value <string>("direction"));
            Assert.Equal(5, payload.Value <int>("times"));
        }