Как использовать dialogflow-execute-nodejs с Express - PullRequest
0 голосов
/ 12 июня 2018

Я хочу использовать библиотеку выполнения диалогового потока в Express

Это мой код:

import * as express from 'express';
import * as bodyParser from 'body-parser';
import * as dialogflowController from './controllers/dialogflow';

const app: express.Application = express();
app.use(bodyParser.json());
app.post('/echo', dialogflowController.doActions);
const http = require('http');
const httpServer = http.createServer(app);
httpServer.listen(80, function () { // ascolta sulla porta 80 per comando: ngrok http 80
  console.log('HTTP Started!');
});



// dialogflowController controller unit

import { Request, Response, NextFunction } from 'express';
const { WebhookClient, Card, Suggestion } = require('dialogflow-fulfillment');


export let doActions = (req: Request, res: Response, next: NextFunction) => {
  console.log('here it works');
  const agent = new WebhookClient({ req, res });
  console.log('crashes to the previous line');
};

И это ошибка

Error: Request can NOT be empty.
[Node]     at new WebhookClient (D:\Progetti\node_modules\dialogflow-fulfillment\src\dialogflow-fulfillment.js:58:13)
[Node]     at exports.doActions (D:\Progetti\dist\controllers\dialogflow.js:14:19)
[Node]     at Layer.handle [as handle_request] (D:\Progetti\node_modules\express\lib\router\layer.js:95:5)

Можете ли вы мне помочь?Как я могу использовать библиотеку dialogflow-assignment-nodejs с Express?

1 Ответ

0 голосов
/ 12 июня 2018

Конструктор WebhookClient принимает объект option с полями request и response.Вы назвали их req и res.

Строка конструктора должна выглядеть примерно так, учитывая параметры, которые вам нужны doActions():

const agent = new WebhookClient({
  request: req,
  response: res
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...