Nano Hash - криптовалюты, майнинг, программирование

dialogflow v2 извлекает параметры при заполнении

Я использую свой диалог через мессенджер facebook и передаю параметр. Я могу извлечь его, но не знаю, почему это не строка.

код выглядит как показано ниже

function botHandler(agent) {
    console.log("inside bot handler request body is:" + 
     JSON.stringify(request.body.queryResult.parameters));
    const adParams = request.body.queryResult.parameters;
    let state = adParams.stateName;

    state = state.toString().toUperCase()

ошибка, которую он выдает,

TypeError: state.toString(...).toUperCase is not a function
    at botHandler (/srv/index.js:52:30)
    at WebhookClient.handleRequest (/srv/node_modules/dialogflow-fulfillment/src/dialogflow-fulfillment.js:303:44)
    at exports.dialogflowFirebaseFulfillment.functions.https.onRequest (/srv/index.js:114:9)
    at cloudFunction (/srv/node_modules/firebase-functions/lib/providers/https.js:57:9)
    at /worker/worker.js:783:7
    at /worker/worker.js:766:11
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickDomainCallback (internal/process/next_tick.js:219:9)

значение есть, но не уверен, почему toString не работает

19.06.2019

Ответы:


1

toString() не является ошибкой (хотя, вероятно, в этом нет необходимости, поскольку это, скорее всего, уже строка).

Ваш метод toUpercase() не работает из-за опечатки в "верхнем регистре". В нем должно быть две буквы, а не одна. toUppercase().

Тем не менее, как заметил Матаис, вы должны сначала убедиться, что у вас есть параметр stateName.

19.06.2019
  • @MoblizeIT случается со всеми нами 20.06.2019

  • 2

    Я бы предложил извлечь такие параметры в ваше исполнение:

     function botHandler(agent) {
            let state = agent.parameters["stateName"];
            let uState = state.toUpperCase();
            let answer = "So you live in " + uState + "?";
    
            agent.add(answer);
        }
    

    А проверить, присутствует ли параметр, можно так:

    if (agent.parameters["stateName"]) {
        //do stuff here
    }
    

    Надеюсь это поможет!

    19.06.2019
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..