在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来做到这一点吗?
答案 0 :(得分:1)
答案 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对象上使用操作。