Я новичок в создании навыков Алекса, и я пытаюсь создать навык, который читает ваш пароль Wi-Fi. В будущем я хочу сделать этот динамик c, чтобы кто-то мог добавить свои собственные пароли Wi-Fi и прочитать его обратно. На данный момент мой пароль жестко закодирован. Я хочу попросить Алексу попросить пользователя указать конкретную c кодовую фразу (сейчас у меня также есть этот код). Если пароль правильный, прочитайте сохраненный пароль Wi-Fi. Проблема в том, что я не уверен, как добраться до второй функции. Вот поток разговоров между пользователем и Alexa.
Пользователь: «Alexa, какой у меня пароль к wifi?»
Alexa: «Какой пароль?»
Пользователь: "bravo."
Если правильный пароль Alexa: "Спасибо. Ваш пароль Wi-Fi - ПАРОЛЬ 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();
}
};
А вот моя CheckPhrase
функция.
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 для проверки ввода пользователя, но я не совсем уверен, как получить правильное значение. Я также попытался вызвать CheckPhrase
в пределах responseBuilder
из GetPassword
, который только что выполнил обратный пароль. Я также пытался использовать reprompt
, но я считаю, что это больше, если навык не получил пользовательский ввод через определенное время.
Я прошу прощения, если это элементарные аспекты развития навыков Amazon, но я прочитал документы и, возможно, я не использую правильные фразы для поиска того, что я ищу, но это было бесполезно. Я видел несколько сообщений о SO, но я не смог найти никаких вопросов, касающихся проверки ввода или использования дополнительных функций.
Мой код в настоящее время размещается в консоли Alexa, а не в Lambda (I '). я не уверен, что это актуально). И я в настоящее время не использую никаких слотов.