Как мне обрабатывать ответы «Да» / «Нет» от пользователя в Custom Skill?

Я пытаюсь развить индивидуальный навык alexa. Я столкнулся с проблемой, при которой я пытаюсь получить от пользователя ответы «да / нет» на вопрос, который задает пользователю навык.

Alexa: Would you like to know the rules of the game?
User: <Can respond either Yes or No>

Основываясь на ответе пользователя, я хотел бы выполнить определенное действие.

Вот моя схема намерений:

{
    "intents": [
    {
        "intent": "AMAZON.StopIntent"
    },
    {
        "intent": "AMAZON.CancelIntent"
    },
    {
        "intent": "AMAZON.HelpIntent"
    },
    {
        "intent": "StartGame"
    },
    {
        "intent": "GetRules"
    }
  ]
}

Вот мои образцы высказываний:

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

Вопрос, который навык задает пользователю, приведен ниже:

Welcome to the game. Would you like me to tell you the rules?

Каждый раз, когда я говорю «Да», запускается намерение StartGame. (То же самое и с «Нет»). Алекса всегда выбирает цель как StartGame. Как лучше всего вызвать намерение GetRules. Я хочу, чтобы пользователь просто сказал Да / Нет, а не сказал: «Ознакомьтесь с правилами».

Пожалуйста, дайте мне знать, если на этот вопрос уже был дан ответ / требуется дополнительная информация.


person emkay    schedule 20.02.2017    source источник


Ответы (2)


Вам необходимо использовать AMAZON.YesIntent и AMAZON.NoIntent.

Вы можете прочитать о них здесь:

Стандартные встроенные намерения. https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents.

person Tom    schedule 20.02.2017
comment
ссылка кажется неработающей - person agenis; 24.02.2021
comment
Ссылка здесь: разработчик .amazon.com / en-US / docs / alexa / custom-skills / - person IceBotYT; 12.05.2021

Пожалуйста, добавьте ниже код в модель взаимодействия.

{
    "name": "AMAZON.NoIntent",
    "samples": []
},
{
    "name": "AMAZON.YesIntent",
    "samples": []
}

И укажите свою бизнес-логику для ответа да / нет в лямбде.

'AMAZON.YesIntent': function () {
    //business code
},
'AMAZON.NoIntent': function () {
    //business code
}
person Suneet Patil    schedule 10.07.2018