0

到目前为止,我在网上找到了大量指南,展示了如何设置 Dialogflow 可以与之对话的 NodeJS 后端。但是,Dialogflow 以前是 API.AI,现在所有的旧指南基本上都是错误的。

当我尝试这样做时:

require('actions-on-google').ApiAiAssistant

它会告诉我:

导入类名 ApiAiAssistant 已弃用,请使用 DialogflowApp

但即使更改ApiAiAssistantDialogflowApp也行不通。这是一些操作的示例:https ://github.com/greenido/bitcoin-info-action/

可以看到,很久没有更新了,代码也没有实际工作(即使我将intents等导入Dialogflow)。

我基本上想要的是:提供 Google Home 参数(比如turn on TV作为TV参数)并在我的 NodeJS 后端处理它。我该怎么做这样的事情?它可以带有或不带有 Dialogflow。

此外,甚至可以说Hey Google, turn on TV?到目前为止,我看到的所有示例都喜欢Hey Google, launch MY_ACTION或者Hey Google, ask MY_ACTION to INTENT缓慢且烦人。

4

1 回答 1

0

得到了一些更新的代码。适用于 DialogflowApp:

const fs = require("fs");
const express = require("express");
const https = require("https");
const bodyParser = require("body-parser");
const Assistant = require('actions-on-google').DialogflowApp;

const app = express();
app.use(bodyParser.json());

const options = {
    cert: fs.readFileSync("./cert.pem"),
    key: fs.readFileSync("./key.pem"),
    ca: fs.readFileSync("./chain.pem")
};

app.post("/google", (req, res) => {
    const assistant = new Assistant({ request: req, response: res });
    let device = assistant.getArgument("device");
    assistant.tell("Turning on " + device);
});

app.listen(5004);
https.createServer(options, app).listen(5005);
于 2017-12-15T14:29:52.600 回答