DialogFlow if заявление conv.ask в app.intent - PullRequest
0 голосов
/ 02 ноября 2019

Я хочу запустить этот код в диалоговом потоке, в основном, я хочу использовать, если условие, например. if my intent "Done" reply response [Text Response] =>'Now add 2 more and say got it' then it switch to my another intent called "alright" so the response should be "you no. is 1" and end the converstation. similary if my intent "Done" reply response [Text Response] =>'Now add 4 more and say got it' then it switch to my another intent called "alright" so the response should be "you no. is 2" and end the converstation.

и продолжается.

просто посмотрите на SS Ниже введите описание изображения здесь введите описание изображения здесь

'use strict';

// Import the Dialogflow module from the Actions on Google client library.
const {dialogflow} = require('actions-on-google');

// Import the firebase-functions package for deployment.
const functions = require('firebase-functions');

// Instantiate the Dialogflow client.
const app = dialogflow({debug: true});

var numr=0;
app.intent('done',(conv,output)=>{
  if(conv.ask ==='Now add 2 more, and say got it'){
    numr=1;
    return numr;
  }
  else{
    numr=2;
    return numr;
  }   
});

app.intent('Alright',(conv)=>{
  conv.close('your number is '+ numr);
});

// Set the DialogflowApp object to handle the HTTPS POST request.
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

1 Ответ

0 голосов
/ 02 ноября 2019

Существует ряд проблем с вашим кодом, из-за которых сложно понять, что именно вы делаете. Однако есть несколько вещей, на которые стоит обратить внимание. Я предполагаю, что вы используете JavaScript здесь.

  1. У вас есть синтаксическая ошибка в том, как вы используете else. За оператором else должен следовать блок выполнения. Ты выглядишь так, будто следишь за этим с условием. Возможно, вы пытаетесь использовать else if там?

  2. conv.ask - это функция. Затем вы назначаете ему строку, которая удаляла бы ее как функцию. Я не думаю, что это то, что вы хотите сделать здесь.

  3. В обработчике намерений для "готового" намерения вы ничего не отправляете обратно пользователю, используя conv.ask() функция, поскольку вы только что удалили ее как функцию.

  4. Установка глобальной переменной не гарантирует, что ее значение будет сохранено между вызовами Intent Handler. Если вы хотите сохранить значение во время разговора, вы должны использовать Context или conv.data или другие средства.

...