2017-12-15 14 views
0

지금까지 Dialogflow와 대화 할 수있는 NodeJS 백엔드 설정 방법을 보여주는 많은 온라인 가이드를 보았습니다. 그러나 Dialogflow는 이전에 API.AI였으며 이전 가이드는 기본적으로 잘못되었습니다. 나는이 작업을 수행 할 때Google 홈과 NodeJS를 사용하여 매우 간단한 "기기 켜기"를 설정 하시겠습니까?

:

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

그것은 나에게 말할 것이다 :

를 클래스 이름 ApiAiAssistant 가져 오기 이되지 않습니다 변화도

하지만를 DialogflowApp

를 사용 ApiAiAssistant ~ DialogflowApp은 작동하지 않습니다. 다음은 몇 가지 액션의 예입니다. https://github.com/greenido/bitcoin-info-action/

오랫동안 업데이트되지 않았으며 코드가 실제로 작동하지 않습니다 (예 : Dialogflow에 인 텐트를 가져온 경우에도 마찬가지 임).

내가 원했던 것 : turn on TV과 같은 Google 홈 매개 변수에 매개 변수로 TV을 입력하고 NodeJS 백엔드에서 처리합니다. 어떻게 그런 짓을 할 수 있니? Dialogflow를 사용하거나 사용하지 않을 수 있습니다.

또한 Hey Google, turn on TV도 말할 수 있습니까? 지금까지 내가 본 모든 예제는 느린 성가신 Hey Google, launch MY_ACTION 또는 Hey Google, ask MY_ACTION to INTENT과 같습니다.

답변

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);