Dialogflow - динамический текстовый ответ - PullRequest
0 голосов
/ 22 ноября 2018

Как мне установить динамические аргументы в текстовом ответе?не из фраз пользователя

У меня есть дело:

бот говорит: «Вы нашли работу?»

пользователь говорит: «Да»

Текстовый ответ:

бот говорит: «Я могу предложить вам вакансию {случайную вакансию}»

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Вы не можете сделать это с текстовым ответом по умолчанию, на самом деле, вам нужно включить вызов webhook для этого намерения в разделе выполнения.Я покажу вам, как выглядит мое намерение.enter image description here

Здесь у вас есть код веб-крючка:

'use strict';
const http = require('http');


const request2 = require('request');

exports.dialogflowFirebaseFulfillment = (req, res) => {
  console.log('Dialogflow Request body: ' + JSON.stringify(req.body));
  
  let action = req.body.queryResult['intent']['displayName'];
  switch(action){
    case "work":
        // Get the city from a database
        let city="Randomcity";
        // Get the job from a database
        let job="randomjob";
        res.send(JSON.stringify({ 'fulfillmentText': "I can offer you this fantastic job in "+city+" city, doing "+job}));
               
          
    break;
    
    //Add more cases if you have more intents
    }
    
  
    
}

И вот результат:

enter image description here

0 голосов
/ 22 ноября 2018

Существует два случая:
1. Если вы хотите вернуть случайные аргументы, вы можете просто установить все возможные аргументы в ответах, и DialogFlow случайным образом выберет ответ и отправит его пользователю.

enter image description here

Если аргументы основаны на каких-то критериях, вам нужно включить webhook и вернуть ответ от webhook.Это рекомендуемый вариант.И вот как работает выполнение .

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

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