J'écris une compétence Alexa
et j'ai des problèmes avec l'intention AMAZON.CancelIntent
.Annuler l'intention n'est pas invoqué Alexa
Si je dis "quitter" ou "aider" les autres intentions sont invoquées en conséquence. Mais si je dis "annuler" mon intention personnalisée, NutriFactsIntent
, est invoqué et bien sûr a des problèmes parce que l'emplacement n'est pas rempli.
Pourquoi cela se produit-il?
schéma Intention
"intents": [
{
"name": "AMAZON.CancelIntent",
"samples": [
"Cancel",
"Never mind",
"forget it"
]
},
{
"name": "AMAZON.HelpIntent",
"samples": [
"Open",
"Start",
"what can I say",
"help me"
]
},
{
"name": "AMAZON.StopIntent",
"samples": [
"Quit",
"Exit",
"Leave",
"Off",
"Stop"
]
},
{
"name": "NutriFactsIntent",
"samples": [
"give me the facts on a {Food}",
"give me the facts on an {Food}",
"give me the facts for a {Food}",
"give me the facts for an {Food}",
"give me the facts of a {Food}",
"give me the facts of an {Food}",
"give me the facts for {Food}",
"give me the facts of {Food}",
...
}
d'intention de Catch
function onIntent(intentRequest, session, callback) {
//console.log(`onIntent requestId=${intentRequest.requestId}, sessionId=${session.sessionId}`);
const intent = intentRequest.intent;
const intentName = intentRequest.intent.name;
// Dispatch to your skill's intent handlers
if (intentName === 'NutriFactsIntent') {
getFactsFromSession(intent, session, callback);
} else if (intentName === 'AMAZON.HelpIntent') {
getWelcomeResponse(callback);
} else if (intentName === 'AMAZON.StopIntent' || intentName === 'AMAZON.CancelIntent') {
handleSessionEndRequest(callback);
} else {
throw new Error('Invalid intent');
}
}
Pouvez-vous taire des énoncés dans des énoncés d'échantillons plutôt que des échantillons? –