Как сохранить бесплатную форму ввода пользователя в Alexa Skill Fact - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь создать факт скилла, который отправляет билет в офис через Алексу. Я хочу, чтобы пользователь вводил свою электронную почту, имя и проблему в электронном письме. Проблема в том, что я не уверен, как получить текст произвольной формы и сохранить его либо в слоте намерений, либо в index.js

Я посмотрел AMAZON.LITERAL, но он больше не работает. Я также посмотрел на AMAZON.searchQuery, но, похоже, это не то, что я хочу, так как он запрашивает базу данных. И я бы предпочел не создавать собственные намерения с тысячами возможных электронных писем от бизнеса.

В идеале я хочу, чтобы код выглядел примерно так:

const sendEmailIntentHandler = {
    canHandle(handlerInput) {
        return handlerInput.requestEnvelope.request.type === 'IntentRequest'
            && handlerInput.requestEnvelope.request.intent.name === 'sendEmail';
    },
    async handle(handlerInput) {
        const speechText = "what is your email";
        return handlerInput.responseBuilder
            .speak(speechText)
            .reprompt()
            .getResponse();
            //somewhere here store the response as a session variable
    }
};

Я изучил getResponse () и не думаю, что он делает то, что, как я думаю, он хранит ответ пользователя. Можно ли сохранить пользовательский ввод на стороне index.js? Или это возможно только через слоты?

1 Ответ

0 голосов
/ 22 апреля 2019

Я думаю, что вам лучше всего будет запросить разрешение контактной информации клиента и просто добавить пользовательский слот для ваших намерений со списком возможных проблем с билетами.

Таким образом, когда вашпользователи активируют скилл, которым они должны будут дать согласие на обмен информацией, и у вас уже будет это под рукой, когда они сделают запрос.

К сожалению, больше невозможно получить бесплатный ввод данных от пользователей.

...