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); }
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")); }