使用Google Home和NodeJS设置一个非常简单的"turn on device"?



到目前为止,我在网上找到了很多指南,展示了如何设置NodeJS后端,Dialogflow可以与之通信。但是,Dialogflow以前是API。人工智能和所有旧指南现在基本上都是错误的。

当我尝试这样做时:

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

它会告诉我:

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

但即使将ApiAiAssistant更改为DialogflowApp也行不通。下面是一些操作的示例:https://github.com/greenido/bitcoin-info-action/

如您所见,它已经很长时间没有更新了,代码实际上也不起作用(即使我将意图等导入 Dialogflow 中)。

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

另外,甚至可以说Hey Google, turn on TV吗?到目前为止,我看到的所有例子都像Hey Google, launch MY_ACTIONHey Google, ask MY_ACTION to INTENT,既慢又烦人。

有一些更新的代码。与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);

最新更新