Alexa Skill - Возможно ли получить то, что сказал пользователь? - PullRequest
2 голосов
/ 20 апреля 2019

Я использую лямбду для создания навыка, та же логика в примере с миром привет. Возможно ли получить то, что сказал пользователь? В тексте?

const HelloWorldIntentHandler =  {
    canHandle(handlerInput) {
        return handlerInput.requestEnvelope.request.type === 'IntentRequest'
            && handlerInput.requestEnvelope.request.intent.name === 'HelloWorldIntentHandler';
    },
    async handle(handlerInput) {
  const speechText = 'Hello World!';

return handlerInput.responseBuilder
        .speak(speechText)
        //.reprompt('add a reprompt if you want to keep the session open for the user to respond')
        .getResponse();  

    }
};

1 Ответ

1 голос
/ 21 апреля 2019

Alexa не обеспечивает полный ввод текста пользователем.Таким образом, единственный способ получить то, что говорит пользователь, это использовать слоты.Прочтите о том, как использовать Intents со слотами здесь .

Вот различные типы слотов (slotTypes), которые вы можете использовать, чтобы помочь Alexa извлечь значенияВы хотите от ввода пользователя. Список типов слотов .

Если вы не знаете, какой тип данных вы хотите получить от пользователя, вы можете использовать тип слота AMAZON.SearchQuery для захвата фраз и предложений.

Затем он должен доставить как минимум больше пользовательского ввода (как понял Алекса) в этот слот в виде текста.

AMAZON.SearchQuery

Размышляя о том, что пользователи могут спросить, рассмотрите возможность использования встроенного или пользовательского типа слота для захвата более предсказуемого пользовательского ввода и AMAZON.Тип слота .SearchQuery для захвата менее предсказуемого ввода, составляющего поисковый запрос.

...