Значение слота Alexa не захватывается - PullRequest
0 голосов
/ 28 февраля 2020

Пожалуйста, найдите ниже детали:

  1. Намерение с высказываниями

    enter image description here

2. AWS код обработчика лямбда-намерений

 const DeliveryPercentage_Handler = {
   canHandle(handlerInput) {
   const request = handlerInput.requestEnvelope.request;
   return (
    request.type === "IntentRequest" &&
    request.intent.name === "DeliveryPercentage"
  );
},
 async handle(handlerInput) {
  const request = handlerInput.requestEnvelope.request;
  const responseBuilder = handlerInput.responseBuilder;
  let sessionAttributes = 
handlerInput.attributesManager.getSessionAttributes();

var num2 = request.intent.slots;
if (num2) {
  console.log("numb2");
  console.log(JSON.stringify(num2));
  output1 = "The sum of " + num2 + " and " + num2 + " is " + (num2 + num2);
}

// let dataResponse = await getShipmentInPercentage(1,"Delivery");
// let say = "Your delivery percentage is " + (dataResponse.percentage);

let say = "test " + num2.numbnew.value;
return responseBuilder
  .speak(say)
  .reprompt("try again, " + say)
  .getResponse();

}};

3. Получение слотов с именем, но не со значением в нем

END RequestId: a260e0f4 -69a5-47a0-bcb5-91020a1b94f6 ОТЧЕТ RequestId: a260e0f4-69a5-47a0-bcb5-91020a1b94f6 Продолжительность: 0,91 мс Продолжительность счета: 100 мс Размер памяти: 128 МБ Макс. Используемая память: 75 МБ
START RequestId: 87e87- e7257 43b6-bb83-a4ca93b3d6c3 Версия: $ LATEST 2020-02-28T12: 41: 15.391Z 87e8761d-e725-43b6-bb83-a4ca93b3d6c3 numb2 2020-02-28T12: 41: 15.391Z 87e8761d-e725-43b6c3b3-b383 * {"numbnew": {"name": "numbnew", "translationStatus": "NONE"}}

КОНЕЦ RequestId: 87e8761d-e725-43b6-bb83-a4ca93b3d6c3 ОТЧЕТ ЗАПРОСА Request: 87e8761d-e725-43b6 -bb83-a4ca93b3d6c3 Продолжительность: 247,16 мс Расчетная продолжительность: 300 мс Размер памяти: 128 МБ Макс. используемая память: 76 МБ

Отсутствует значение журнала слотов ** { "numbnew": {"name": "numbnew", "translationStatus": "NONE"}} **

Любая помощь будет признательна

Заранее спасибо!

1 Ответ

1 голос
/ 02 марта 2020

высказывания, которые вы установили для своего намерения DeliveryPercentage:

"Каков процент доставки {numbnew}"

где {numbnew} - ваш слот намерений, который будет собирать значение для вышеуказанных высказываний Я полагаю, что когда вы тестируете этот навык, вы говорите только «какой процент доставки», вместо этого вам нужно сказать «какой процент доставки 80» или любое другое число, которое вы хотите!

тогда вы получите следующий ответ на ваш запрос

"slots": {
        "numbnew": {
            "name": "numbnew",
            "value": "80",
            "confirmationStatus": "NONE",
            "source": "USER"
        }
    }

Предложение, если вы пытаетесь собрать процентные данные от пользователя, то попробуйте задать этот вопрос "Каков процент доставки" в конструкторе ответов AWS Лямбда-намерение обработчик и делать высказывания с чем-то вроде этого "Мой процент равен {numbnew}"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...