Получение TypeError: conv.parameters не является функцией в app.intent с функцией Dialogflow - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь узнать больше о выполнении Dialogflow, и я следую учебному пособию здесь на YouTube.

При развертывании и тестировании я получаю пустой ответ обратно в чат-боте. Я вижу следующую ошибку: TypeError: conv.parameters не является функцией в app.intent (/srv/index.js:24:23)

Кто-нибудь сможет помочь нам найти, где я я иду не так Код ниже:

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

const WELCOME_INTENT = 'Default Welcome Intent'
const FALLBACK_INTENT = 'Default Fallback Intent'
const Dept_ENTITY= 'DEPTChoice'
const Dept_INTENT='DEPT'


const app = dialogflow()

app.intent(WELCOME_INTENT, (conv) => {
    conv.ask("Hi! I am a test bot - what department are you in?")
})

app.intent(FALLBACK_INTENT, (conv) => {
    conv.ask("huh?")
})

app.intent(DEPT_INTENT, (conv) => {
  const dept_type=conv.parameters('DEPTChoice').toLowerCase()
  if (dept_type == "Sales") {
  conv.ask("Great Sales")
  } else   conv.ask("Great - Your in Sales")

})

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

1 Ответ

2 голосов
/ 03 апреля 2020

Как и в сообщении об ошибке, conv.parameters не является функцией.

Это объект JavaScript, где свойства объекта - это имена параметров. Таким образом, ваша строка может быть записана как

const dept_type = conv.parameters['DEPTChoice'].toLowerCase();

Обратите внимание на использование квадратных скобок [] для ссылки на свойство объекта, а не на круглые скобки () для вызова функции. Возможно, это было просто трудно увидеть на видео.

...