Как передать информацию от одного намерения к другому - PullRequest
1 голос
/ 16 июня 2020

Используя Google Sign in для связывания аккаунта, я прочитал электронную почту пользователя. Как передать данные этого разговора следующему намерению?


app.intent("Get Signin",(conv , params, signin) =>{
    if(signin.status === 'OK'){
        const email = conv.user.email
        conv.ask(`I got your email as ${email}. How would you like to redeem?`)
        conv.ask(new Suggestions(['QR code'],['16 digit code'],['Cancel']))
    }
    else
    {
        conv.close("Please sign in to redeem");
    }
})





app.intent("numcode",(conv,{num, points}) => {
    const mailOptions = {
        from: "abc", 
        to: email, 
        subject: "YAY!", 
        html: `<p>Hello !! <br> You have ${points} in (${num}). </p>`
    }
    transporting.sendMail(mailOptions, (err, info) => {
        if(err)
        {
          console.log(err);
        }
    })
    conv.ask("You have succesfully finished.");
})

Я хочу отправить пользователю письмо, поэтому что следует заменить на "кому: электронная почта" или что следует добавить в мой код .

1 Ответ

3 голосов
/ 16 июня 2020

Вам не нужно передавать его следующему намерению. После того, как ваш пользователь вошел в систему через привязку учетной записи, электронная почта пользователя станет доступной через объект conv. Вы можете позвонить по номеру conv.user.email, чтобы получить его. Когда ваш пользователь запускает ваше намерение numcode, он должен заполнить свойство to адресом электронной почты пользователя.

В параметрах почты вы можете сделать следующее:

const mailOptions = {
        from: "abc", 
        to: conv.user.email, 
        subject: "YAY!", 
        html: `<p>Hello !! <br> You have ${points} in (${num}). </p>`
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...