您如何在 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);
}
我正在学习 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);
}