Alexa技能-可以得到用户所说的话吗?

时间:2019-04-20 17:21:57

标签: alexa alexa-skills-kit alexa-skill

我正在使用lambda来创建技能,这与您好世界示例中的逻辑相同。有可能得到用户所说的话吗?在文字中?

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 个答案:

答案 0 :(得分:1)

Alexa没有以文本形式提供完整的用户输入。因此,获得用户所说的唯一方法是使用插槽。了解如何使用 Intents with Slots here

以下是不同类型的插槽(slotTypes),可用于帮助Alexa从用户输入中提取所需的值。 List of Slot Types

如果您不知道要从用户那里获取的特定数据类型,则可以使用广告位类型AMAZON.SearchQuery来捕获短语和句子。

然后,它应该将至少更多的用户输入(如Alexa所理解的)作为文本传递到该插槽中。

AMAZON.SearchQuery

  

在考虑用户可能会问的问题时,请考虑使用内置或自定义广告位类型来捕获更可预测的用户输入,并使用AMAZON.SearchQuery广告位类型来捕获构成广告的较难预测的输入。搜索查询。