如何在对话框中实现表格

时间:2019-07-10 06:57:29

标签: dialogflow actions-on-google dialogflow-fulfillment

在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'],
     ],
}));

如何使用dialogflow-fillfillment创建表?

实际上,对于我来说,我使用的是dialogflow-fillfillment。 我想像这样使用:

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'],
     ],
 }));

我可以使用dialogflow-fillfillment来做到这一点吗?

2 个答案:

答案 0 :(得分:1)

从库的源代码来看,似乎还没有提供Table

通过查看source,我可以说它正在提供

  • 文字
  • 图片
  • 建议筹码(快速回复)

即使我们查看src文件夹也没有与Table相关的任何信息

enter image description here

答案 1 :(得分:0)

也许,是的。这取决于您希望表在哪里工作。

通常没有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

}

您可以{@ 3}通过对话框流程实现库来了解如何在Google对象上使用操作。