J'essaie de construire une compétence personnalisée Alexa. Je suis confronté à un problème où j'essaie d'obtenir des réponses oui/non de l'utilisateur à une question que la compétence lui demande.
Alexa: Would you like to know the rules of the game?
User: <Can respond either Yes or No>
En fonction de la réponse de l'utilisateur, j'aimerais effectuer une action spécifique.
Voici mon schéma d'intention:
{
"intents": [
{
"intent": "Amazon.StopIntent"
},
{
"intent": "Amazon.CancelIntent"
},
{
"intent": "Amazon.HelpIntent"
},
{
"intent": "StartGame"
},
{
"intent": "GetRules"
}
]
}
Voici mes exemples d'énoncés:
StartGame Begin the game
StartGame Start the game
GetRules What are the rules
GetRules Get the rules
GetRules Tell me the rules
GetRules Tell me the rules again
La question que la compétence demande à l'utilisateur est ci-dessous:
Welcome to the game. Would you like me to tell you the rules?
Chaque fois que je dis "Oui", l'intention de StartGame est ce qui est déclenché. (Idem pour "non"). Alexa choisit toujours l’intention comme StartGame. Quel est le meilleur moyen d'invoquer l'intention "GetRules". Je veux que l'utilisateur dise simplement Oui/Non et ne dise pas "Obtiens les règles".
S'il vous plaît laissez-moi savoir si cela a déjà été répondu/plus d'informations sont nécessaires.
Vous devez utiliser Amazon.YesIntent et Amazon.NoIntent.
Vous pouvez lire à leur sujet ici :.
Intentions standard intégrées. https://developer.Amazon.com/public/solutions/Alexa/alexa-skills-kit/docs/built-in-int-int-ref/standard-intents
Veuillez ajouter le code ci-dessous dans le modèle d'interaction.
{
"name": "Amazon.NoIntent",
"samples": []
},
{
"name": "Amazon.YesIntent",
"samples": []
}
Et indiquez votre logique métier pour oui/non dans votre lambda.
'Amazon.YesIntent': function () {
//business code
},
'Amazon.NoIntent': function () {
//business code
}