Recast.ai:类型错误:无法读取未定义的属性'attachment'



我想让我的represet.bot回复用户的响应。这是代码,但我收到了下面的错误消息。如何解决这个问题?

Bot Server is running on port 5002
TypeError: Cannot read property 'attachment' of undefined
at new Message (C:FDNodenode_modulesrecastailibapisresourcesmessage.js:66:31)
at Connect.handleMessage (C:FDNodenode_modulesrecastailibapisconnectindex.js:49:30)
at C:FDNodect2Nbot.js:28:19
at Layer.handle [as handle_request] (C:FDNodenode_modulesexpresslibrouterlayer.js:95:5)
at next (C:FDNodenode_modulesexpresslibrouterroute.js:137:13)
at Route.dispatch (C:FDNodenode_modulesexpresslibrouterroute.js:112:3)
at Layer.handle [as handle_request] (C:FDNodenode_modulesexpresslibrouterlayer.js:95:5)
at C:FDNodenode_modulesexpresslibrouterindex.js:281:22
at Function.process_params (C:FDNodenode_modulesexpresslibrouterindex.js:335:12)
at next (C:FDNodenode_modulesexpresslibrouterindex.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'))
}

在handlemessage函数中,您正在使用get.attachment属性,该属性在您的消息负载中不存在。使用新的构建器,您可以直接在构建器中管理这些消息,而无需事先构建后端

更改:

app.use(bodyParser.json())

收件人:

app.use(bodyParser.urlencoded());

最新更新