Alexa Skill - 是否可以获取用户所说的内容?

Alexa Skill - Is possible to get what user said?

我正在使用 lambda 来创建技能,与 hello world 示例中的逻辑相同。有可能得到用户所说的吗?在文本中?

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();  

    }
};

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

您可以使用以下不同类型的插槽 (slotTypes) 来帮助 Alexa 从用户输入中提取您想要的值。 List of Slot Types.

如果您不知道要从用户那里获取的具体数据类型,那么您可以使用插槽类型 AMAZON.SearchQuery 来捕获短语和句子。

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

AMAZON.SearchQuery

As you think about what users are likely to ask, consider using a built-in or custom slot type to capture user input that is more predictable, and the AMAZON.SearchQuery slot type to capture less-predictable input that makes up the search query.