Почему динамическая часть выполнения из index.js не работает? - PullRequest
0 голосов
/ 03 января 2019

Я использую выполнение из Inline Editor, но при развертывании и тестировании, не знаю, почему статические ответы работают хорошо, но при вводе if ответ по умолчанию «недоступен». Я проверил диагностическую информацию, и в ответе о выполнении ошибка:

{
  "error": "conv.parameters is not a function"
}

Но я не понимаю, почему.

Я копирую здесь код, если вы могли бы помочь мне, спасибо

'use strict';

const functions = require ('firebase-functions');
const {dialogflow} = require ('actions-on-google');

const WELCOME_INTENT = 'Default Welcome Intent';
const FALLBACK_INTENT = 'Default Fallback Intent';
const INFO_DISEASE_INTENT = 'InfoDisease';
const DISEASE_TYPE_ENTITY = 'TypeDisease';


const app = dialogflow ();

app.intent (WELCOME_INTENT, (conv) => {
    conv.ask('Hola! Si quieres puedo darte más información!');
  });


app.intent (FALLBACK_INTENT, (conv) => {
    conv.ask('Ai, no te he entendido, ¿puedes repetirmelo por favor?');
  });

app.intent (INFO_DISEASE_INTENT, (conv) => {

    const disease_type =    
    conv.parameters(DISEASE_TYPE_ENTITY).toLowerCase();

    if (disease_type == "artritis") {
        conv.ask('La artritis es la inflamación de una .');
    } else if (disease_type == "artrosis") {
        conv.ask('Cuando este cartílago, se produce dolor, e.');
    }
      else {
        conv.ask('Me alegra que no tengas ninguna duda!.');
    }

  });


exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

1 Ответ

0 голосов
/ 03 января 2019

Возможно, проблема в вашей строке

const disease_type =    
conv.parameters(DISEASE_TYPE_ENTITY).toLowerCase();

, где вы рассматриваете conv.parameters как функцию.Скобки в JavaScript используются для обозначения того, что вы пытаетесь вызвать функцию.

Похоже, вы хотите получить доступ к свойству объекта parameters со значением DISEASE_TYPE_ENTITY.Это делается в JavaScript с использованием квадратных скобок: []

Так что вы, вероятно, хотите написать это как

const disease_type =    
conv.parameters[DISEASE_TYPE_ENTITY].toLowerCase();
...