Как создать таблицу в диалоге-выполнении - PullRequest
0 голосов
/ 10 июля 2019

В Actions-on-Google мы можем добавить таблицу как:

const {dialogflow, Table} = require('actions-on-google');
const request = require('request');
const conv = new DialogflowConversation(request);
conv.ask('This is a simple table example.');
conv.ask(new Table({
     dividers: true,
    columns: ['header 1', 'header 2', 'header 3'],
     rows: [
         ['row 1 item 1', 'row 1 item 2', 'row 1 item 3'],
         ['row 2 item 1', 'row 2 item 2', 'row 2 item 3'],
     ],
}));

Как создать таблицу, используя диалог-выполнение ??

На самом деле в моем случае я использую диалоговое выполнение. И я хочу использовать как:

agent.add(new Table({
     dividers: true,
     columns: ['header 1', 'header 2', 'header 3'],
     rows: [
       ['row 1 item 1', 'row 1 item 2', 'row 1 item 3'],
       ['row 2 item 1', 'row 2 item 2', 'row 2 item 3'],
     ],
 }));

Могу ли я сделать это, используя диалоговое окно выполнения?

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Из исходного кода библиотеки не похоже, что Table по-прежнему предоставляется в этом.

Глядя на источник , я могу сказать, что он предоставляет

  • Текст
  • Карты
  • Изображения
  • Чипы с советами (Быстрые ответы)

Даже если мы посмотрим на папку srcэто не имеет ничего общего с Table

enter image description here

0 голосов
/ 11 июля 2019

Может быть, да.Это зависит от того, где именно вы ожидаете, что таблица будет работать.

В целом нет определения таблицы для интеграций Dialogflow.Поэтому вы не можете создать таблицу, которая будет работать с интеграцией Facebook.

Однако, если вы хотите создать таблицу для действий в Google, вы можете сделать это.Вместо того, чтобы пытаться добавить его к вашему agent объекту, вы можете получить conv объект с помощью agent.getConv() и использовать его для добавления таблицы с conv.add().

Я не проверял это,но это может быть что-то вроде этого:

const { WebhookClient } = require('dialogflow-fulfillment');
const { Table } = require('actions-on-google');

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({ request, response });

  function assistantTableHandler(agent) {
    let conv = agent.conv(); // Get Actions on Google library conversation object
    conv.ask('Please choose an item:'); // Use Actions on Google library to add responses
    conv.ask(new Table({
     dividers: true,
     columns: ['header 1', 'header 2', 'header 3'],
     rows: [
       ['row 1 item 1', 'row 1 item 2', 'row 1 item 3'],
       ['row 2 item 1', 'row 2 item 2', 'row 2 item 3'],
     ],
    }));
  };

// Add handler registration, etc

}

Вы можете увидеть более полный пример того, как использовать действия над объектом Google с помощью библиотеки dialogflow-executement.

...