Recast.ai: TypeError: Невозможно прочитать свойство 'attachment' из неопределенного - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу, чтобы мой recast.bot отвечал на ответ пользователя. Вот код, но я получил сообщение об ошибке ниже. Как решить эту проблему?

Bot Server is running on port 5002
TypeError: Cannot read property 'attachment' of undefined
    at new Message (C:\FD\Node\node_modules\recastai\lib\apis\resources\message.js:66:31)
    at Connect.handleMessage (C:\FD\Node\node_modules\recastai\lib\apis\connect\index.js:49:30)
    at C:\FD\Node\ct2Nbot.js:28:19
    at Layer.handle [as handle_request] (C:\FD\Node\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\FD\Node\node_modules\express\lib\router\route.js:137:13)
    at Route.dispatch (C:\FD\Node\node_modules\express\lib\router\route.js:112:3)
    at Layer.handle [as handle_request] (C:\FD\Node\node_modules\express\lib\router\layer.js:95:5)
    at C:\FD\Node\node_modules\express\lib\router\index.js:281:22
    at Function.process_params (C:\FD\Node\node_modules\express\lib\router\index.js:335:12)
    at next (C:\FD\Node\node_modules\express\lib\router\index.js:275:10)

Я слежу за их SDK: https://github.com/RecastAI/SDK-NodeJS/wiki/Receive-and-send-messages

    const express = require('express');
    const bodyParser = require('body-parser');
    const recastai = require('recastai').default;
    const build = new recastai.build('xxxxxx', 'en');

    var client = new recastai('xxxxxx')

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

   app.post('/', function(req, res) {
       client.connect.handleMessage(req, res, onMessage)
    })
    app.listen(port, () => {
        console.log('Bot Server is running on port ' + port);
    })  

    function onMessage (message) {
      var content = message.content    
      var type = message.type    
      message.addReply([{ type: 'text', content: 'Hello, world' }])
      message.reply()
        .then(res => console.log('message sent'))
    }

1 Ответ

0 голосов
/ 24 января 2019

в функции handlemessage, которую вы используете, получаете атрибут .attachment, которого нет в полезной нагрузке вашего сообщения.С новым компоновщиком вы можете напрямую управлять этими сообщениями в компоновщике без предварительного создания бэкэнда

...