Seite 1 von 2

Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 08:27
von Funmaker
Hallo zusammen,

ich bin gerade dabei mir einen Skill zu schreiben, der eine Art Präsentation vorlesen soll, also vordefinierter Text.
Diesen Text lasse ich mit

Code: Alles auswählen

this.emit(':tell', output);
Alexa vorlesen.

Nun verhält es sich so, dass sich danach der Skill anscheinend schließt und ich den Skill erneut über "alexa starte [skillname]" starten muss. Was aber für diesen Zweck extrem unpraktisch wäre.

Hat jemand einen Tipp, wie ich das schließen des Skills umgehe? Ich habe gelesen, dass sich ein Skill nur durch bewusstes "alexa stop" schließt.

Gruß

Re: Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 09:28
von Fonzo
Eine Session ist immer nur 8 Sekunden offen. Der Stop Intent beendet nur die Session früher. Du kannst die Session offen lassen wenn Du dann im Zeitframe eine Anfrage stellst dann brauchst Du auch nicht den Invocation Name erneut verwenden. Eine ausführliche Dokumentation findest Du im Amazon Developer Portal bzw. beim Alexa SDK.

Re: Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 10:04
von Funmaker
Heißt, ich kann tatsächlich nur innerhalb der 8 Sekunden eine neue Frage an meinen Skill stellen?
Wenn mein Output aber schon länger als 8 Sekunden braucht, funktioniert das nicht?

Re: Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 10:13
von Fonzo
Nein in den 8 Sekunden wartet Alexa darauf das der User was sagt. Wenn das der Fall bleibt der Skill aktiv und brauchst nicht erneut den Invocation Name zu sagen insofern Du die Session offen gelassen hast. Der Response ist davon komplett unabhängig da kannst Du Dir auch einen Roman ausgeben lassen. Du bestimmst ja ob die Session offen bleibt der neue Zeitslot beginnt also erst nachdem Alexa seinen Response losgeworden ist und wartet dann erneut auf Eingabe.

Re: Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 10:28
von Funmaker
Aber genau das ist mein Problem. Durch den "tell" (Node.js SDK) wird automatisch die Session geschlossen, darauf hab ich aktuell keinen Einfluss.

Re: Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 10:32
von Fonzo
Doch hast Du schau Dir den SDK mal genauer an.
Unter github/alexa findest Du auch erst mal Skills zum nachbauen da siehst Du wie das funktioniert.

Re: Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 10:36
von Funmaker
Dann steht ich aktuell auf dem Schlauch.
Ich habe mich an den Beispielen orientiert, nur mein Skill versteht nur die 1. Frage und danach kann er nichts mit der den weiteren Anfangen. Außer ich sage "alexa, frage [skill], 2.Frage".

Re: Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 10:42
von Fonzo

Re: Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 10:59
von amartin
Du kannst statts :tell auch :ask verwenden, dann wäre der Syntax

Code: Alles auswählen

this.emit(':ask', 'prompt', 'reprompt');

Re: Probleme mit "Tell"

Verfasst: Mo 6. Mär 2017, 11:27
von Funmaker
Danke für die Info. Ich weiß es das es auch "ask" gibt. Für meinen Anwendungsfall benötige ich diesen jedoch nicht. Sie soll nicht hören sondern auf einen gesprochenen Satz anschließend reagieren. Dieser kann ca. 1 Minute später erst erfolgen