Node.js 如何进入Alexa Skills中的下一个功能
我对建立alexa技能还不熟悉,我正在尝试建立一种读取您的wifi密码的技能。在未来,我想使这个动态,以便有人可以添加自己的wifi密码,并让它读回给他们。现在我的密码是硬编码的。我想提示alexa向用户询问一个特定的密码短语(现在我还硬编码了这个密码)。如果密码短语正确,请读取存储的wifi密码。问题是我不知道如何使用第二个函数。下面是用户和Alexa之间的对话流程 用户:“Alexa,我的wifi密码是什么?” Alexa:“你的密码是什么?” 用户:“好极了。” 如果密码短语正确 谢谢。你的wifi密码是P A S W O R D 如果密码短语不正确 密码不正确。你的密码是什么 这是我的Node.js 如何进入Alexa Skills中的下一个功能,node.js,alexa,alexa-skills-kit,alexa-skill,Node.js,Alexa,Alexa Skills Kit,Alexa Skill,我对建立alexa技能还不熟悉,我正在尝试建立一种读取您的wifi密码的技能。在未来,我想使这个动态,以便有人可以添加自己的wifi密码,并让它读回给他们。现在我的密码是硬编码的。我想提示alexa向用户询问一个特定的密码短语(现在我还硬编码了这个密码)。如果密码短语正确,请读取存储的wifi密码。问题是我不知道如何使用第二个函数。下面是用户和Alexa之间的对话流程 用户:“Alexa,我的wifi密码是什么?” Alexa:“你的密码是什么?” 用户:“好极了。” 如果密码短语正确 谢谢。你
GetPassword
函数
const GetPassword = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest';
},
handle(handlerInput) {
const speakOutput = "What is the passphrase?"
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt(speakOutput)
.getResponse();
}
};
const CheckPhrase = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest';
},
handle(handlerInput) {
const speakOutput = "Your password is, YOUR_WIFI_PASSWORD"
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt(speakOutput)
.getResponse();
}
};
这是我的CheckPhrase
函数
const GetPassword = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest';
},
handle(handlerInput) {
const speakOutput = "What is the passphrase?"
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt(speakOutput)
.getResponse();
}
};
const CheckPhrase = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest';
},
handle(handlerInput) {
const speakOutput = "Your password is, YOUR_WIFI_PASSWORD"
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt(speakOutput)
.getResponse();
}
};
我的意图是在第一个函数运行后,当用户说/键入短语时,执行CheckPhrase
。我可以很好地访问第一个函数,系统会提示我输入密码短语。但当我输入密码短语时,它只是重复前面的提示。我曾尝试使用if/else语句来验证用户的输入,但我不确定如何访问正确的值。我还尝试在刚刚执行密码读回的GetPassword
的responseBuilder
中调用CheckPhrase
。我也尝试过使用reprompt
,但我相信如果技能在一段时间后没有收到用户输入,那么这会更有效
我很抱歉,如果这些是亚马逊技能发展的基本方面,但我已经阅读了文档,可能我没有使用正确的措辞来搜索我正在寻找的内容,但一直没有结果。我看过一些关于SO的帖子,但我没有找到任何与输入验证或使用辅助功能相关的问题
我的代码目前托管在Alexa控制台中,而不是Lambda(我不确定这是否相关)。我目前没有使用任何插槽 听起来您需要确认插槽。从官方文档中查看此页面:
旁注:一旦代码按预期工作,您可能需要使用一些SSML来拼写密码:听起来您需要插槽确认。从官方文档中查看此页面:
旁注:一旦代码按预期工作,您可能需要使用一些SSML来拼写您的密码:您能更新Alexa和用户之间的流量对话,以便我们能够清楚地了解您的问题吗?@SharankeName更新了流量。我陷入困境的部分是让Alexa检查密码短语,如果它正确,请阅读密码,否则重复问题。你能更新Alexa和用户之间的流量对话,以便我们能够清楚地了解你的问题吗?@Sharankeam更新了流量。我要做的是让Alexa检查密码短语,如果正确,请阅读密码,否则重复问题。