Как мне принять электронную почту в качестве входного сигнала от навыков Alexa? У меня есть следующий код для получения электронной почты, затем отправьте письмо, но мне нужно понять, как принять действительную электронную почту в качестве ввода, если я наберу test@gmail.com, каким-то образом Alexa вернет test gmail.com к моей лямбда-функции. Любая помощь будет оценена.
Ниже мой код:
// sets up dependencies
const Alexa = require('ask-sdk-core');
const i18n = require('i18next');
const languageStrings = require('./languageStrings');
const requester = require('./util');
const SendMailHandler = {
canHandle(handlerInput) {
const request = handlerInput.requestEnvelope.request;
// var code = this.event.request.intent.slots.code.value;
// console.log(code)
// checks request type
return request.type === 'LaunchRequest'
|| (request.type === 'IntentRequest'
&& request.intent.name === 'SendMailIntent');
},
async handle(handlerInput) {
const speechText = 'Welcome, give me the email details'
const request = handlerInput.requestEnvelope.request;
if(request.intent && request.intent.slots) {
const receiver = request.intent.slots.ReceiverEmail.value;
const messageData = {
"receiverEmail": receiver
}
const res = await requester.httpPost(messageData, accessToken);
console.log(res);
}
return handlerInput.responseBuilder
.speak(speechText)
.reprompt(speechText)
.getResponse();
},
};
// Took out default Alexa skills code.
const skillBuilder = Alexa.SkillBuilders.custom();
exports.handler = skillBuilder
.addRequestHandlers(
SendMailHandler
)
.addRequestInterceptors(LocalizationInterceptor)
.addErrorHandlers(ErrorHandler)
.lambda();