我正在为学校开发一项Alexa技能,我的客户希望将Alexa与父母的对话存储起来,并希望将其显示在学生的仪表板上。如何将我所有的对话都存储到数据库中?
答案 0 :(得分:1)
您可以获得并存储/保存 alexa所说的,但是您不能得到用户所说的 > Alexa技能。但是您可以获得的是用户的意图(即所谓的意图)。 解决您的问题的方法是使用一些数据库并创建一个表,并在每种意图下进行类似的操作
const HelpIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'AMAZON.HelpIntent';
},
handle(handlerInput) {
const speechText = 'You can say hello to me!';
*//write code to add speechText to a table against the intent name/sample utterence with date and time*
return handlerInput.responseBuilder
.speak(speechText)
.reprompt(speechText)
.withSimpleCard('Hello World', speechText)
.getResponse();
},
};
答案 1 :(得分:1)
您将不会获得技能用户的话语或用户所说的话。但是,利用从Alexa请求中获得的信息,您可以有点重新创建对话流。
使用这些信息:
feat-a
将会更改。 userId
检查会话何时结束,但这很干净。SessionEndedRequest
中识别用户的意图。这将帮助您猜测用户可能说了什么。intents
与映射的slots
结合使用,您将获得更多信息。由于广告位值始终会传递给您,因此您可以坚持执行此操作,并知道用户在其对话中说的确切值。使用这些信息/过滤器(如果您使用intents
对其进行排序),您将了解到特定/所有用户与Alexa的对话。