您如何在 Alexa Skills 中创建会话属性?

How do you go about making a sessionAttribute in Alexa Skills?

我正在学习 Node 和 Alexa 技能,想知道您如何实际创建一个新的会话属性。

我已经尝试查看 here 和 youtube 演练,了解如何这样做...我知道如何获取和修改它们,但我无法实际初始化它们。 任何帮助,将不胜感激。 (顺便说一句,如果这看起来很简单,抱歉,这是节点的新手。)

这是我如何编写用于获取和设置属性的代码,不过我只是想着手制作它们:

const attributes = handlerInput.attributesManager.getSessionAttributes();
    const response = handlerInput.responseBuilder;
    attributes.state = states.QUIZ;
    attributes.counter = 0;
    attributes.quizScore = 0;

要设置会话属性,您需要使用 AttributesManager 上可用的 setSessionAttributes 方法。在此处查看文档:Documentation

代码片段:

handlerInput.attributesManager.setSessionAttributes(sessionAttributes);

一般来说,您可以使用 Alexa.isNewSession 检查您的会话是否为新会话。如果会话是新的,你可以开始初始化属性

if(Alexa.isNewSession(handlerInput.requestEnvelope)){
    const sessionAtts = {};
    // set your attributes here
    handlerInput.attributesManager.setSessionAttributes(sessionAtts);    
}