在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'],
],
}));如何使用dialogflow-fulfillment创建表?
实际上,在我的例子中,我使用的是dialogflow-fulfillment。我想要使用的ANd如下:
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-fulfillment来做吗?
发布于 2019-07-10 16:45:35
从库的源代码来看,似乎还没有提供Table。
通过查看source,我可以说它提供了
即使我们查看src文件夹,它也没有任何与Table相关的内容

发布于 2019-07-12 02:30:02
也许吧,是的。这取决于您期望该表在哪里工作。
一般情况下,Dialogflow集成没有表定义。所以你不能创建一个在Facebook集成上工作的表。
但是,如果您想为Google上的操作创建一个表,您可以这样做。您可以使用agent.getConv()获取一个conv对象,并使用conv.add()添加表,而不是尝试将其添加到您的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
}你可以使用see a more complete example -fulfillment库来指导如何在Google对象上使用动作。
https://stackoverflow.com/questions/56964982
复制相似问题