我正在尝试创建一个技能事实,该技能事实可以通过alexa将票发送到办公室。我希望用户在电子邮件中输入他们的电子邮件,名称和问题。问题是我不确定如何获取自由格式的文本并将其保存在意图插槽或index.js
中我研究了AMAZON.LITERAL,但它不再起作用。我还查看了AMAZON.searchQuery,但这似乎不是我想要的,因为该查询来自数据库。而且,我不希望使用来自企业的数千封电子邮件来创建自定义意图。
理想情况下,我希望代码看起来像这样:
const sendEmailIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'sendEmail';
},
async handle(handlerInput) {
const speechText = "what is your email";
return handlerInput.responseBuilder
.speak(speechText)
.reprompt()
.getResponse();
//somewhere here store the response as a session variable
}
};
我已经研究了getResponse(),但我认为它没有做我想做的事,它存储了用户的响应。是否可以将用户输入存储在index.js一侧?还是只能通过插槽?
答案 0 :(得分:0)
我认为最好的选择是request the customer contact information permission,并根据您的意图添加一个自定义广告位,并列出可能的票务问题。
通过这种方式,当您的用户启用技能时,他们将必须同意他们的信息共享,而您在提出请求时就已经拥有了该技能。
很遗憾,不再可能从用户那里获取自由格式的输入。