Node.js 如何进入Alexa Skills中的下一个功能

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:“你的密码是什么?” 用户:“好极了。” 如果密码短语正确 谢谢。你

我对建立alexa技能还不熟悉,我正在尝试建立一种读取您的wifi密码的技能。在未来,我想使这个动态,以便有人可以添加自己的wifi密码,并让它读回给他们。现在我的密码是硬编码的。我想提示alexa向用户询问一个特定的密码短语(现在我还硬编码了这个密码)。如果密码短语正确,请读取存储的wifi密码。问题是我不知道如何使用第二个函数。下面是用户和Alexa之间的对话流程

用户:“Alexa,我的wifi密码是什么?”

Alexa:“你的密码是什么?”

用户:“好极了。”

如果密码短语正确 谢谢。你的wifi密码是P A S W O R D

如果密码短语不正确 密码不正确。你的密码是什么

这是我的
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检查密码短语,如果正确,请阅读密码,否则重复问题。