Возьмите амазонку Alexa от числа, введенного голосом пользователя, отформатируйте его и убедитесь, что он соответствует правилам валидации. - PullRequest
0 голосов
/ 12 июня 2018

Я занимаюсь разработкой Alexa Skill, который требует времени от юриста.Например, время / описание / дата / файл.Что касается номера файла, мне нужен мой код JavaScript на лямбде, чтобы принять ввод юристов, вернуть его и сохранить в формате «файл».Вот пример ситуации, которая поможет вам лучше понять:

LAWYER: Alexa, File number 664383

Затем мне понадобится Alexa, чтобы сохранить это значение в моей таблице как 664-383.Как это можно сделать?

1 Ответ

0 голосов
/ 06 августа 2018

AMAZON.Number

Используйте слот AMAZON.Number для ввода числа, введенного пользователем.

Измените свою модель взаимодействия следующим образом.

...    
{
  "name": "LawyerIntent",
  "slots": [
    {
      "name": "fileNumber",
      "type": "AMAZON.NUMBER"
    }
  ],
  "samples": [
    "File number {fileNumber}"
  ]
}
...

Когда адвокат говорит (всегда рассматривайте числа как слова, используйте шесть вместо 6)

Alexa, номер дела шесть шесть четыре три восемь три

Выполучит число как fileNumber значение слота в сгенерированном запросе.

В своем лямбда-коде выполните необходимое форматирование.

const LawyerIntentHandler = {
  canHandle(handlerInput) {
    const request = handlerInput.requestEnvelope.request;
    return request.type === 'IntentRequest'
      && request.intent.name === 'LawyerIntent';
  },
  handle(handlerInput) {
    console.log('Inside LawyerIntentHandler');
    const currentIntent = handlerInput.requestEnvelope.request.intent;
    const fileNumber = currentIntent.slots['fileNumber'];

    // Do your  validation 

    return handlerInput.responseBuilder
        .speak('speech')
        .reprompt('reprompt')
        .getResponse();
    }
};
...