Node.js Discord.js:发送前创建消息对象

Node.js Discord.js:发送前创建消息对象,node.js,discord,discord.js,bots,Node.js,Discord,Discord.js,Bots,我正在尝试在通道中实际发送消息对象之前创建一个消息对象,这可能吗? 我在这段代码中不断遇到奇怪的错误: var new_message = new Discord.Message(channel, { author: client.user, content: 'Hello, ' + message.author.username + '!' }, client); console.info(new_message); channel.send(new_message); 但这

我正在尝试在通道中实际发送消息对象之前创建一个消息对象,这可能吗? 我在这段代码中不断遇到奇怪的错误:

var new_message = new Discord.Message(channel, {
    author: client.user,
    content: 'Hello, ' + message.author.username + '!'
}, client);
console.info(new_message);
channel.send(new_message);
但这只是给了我下面的错误。 我想要message对象的原因是,我可以在发送后立即轻松地向其添加反应

React-o-matic Discord/node_modules/discord.js/src/structures/Message.js:86
  this.author = this.client.users.add(data.author, !data.webhook_id);
                                  ^
TypeError: Cannot read property 'add' of undefined
    at Message._patch (React-o-matic Discord/node_modules/discord.js/src/structures/Message.js:86:39)
    at new Message (React-o-matic Discord/node_modules/discord.js/src/structures/Message.js:44:20)
    at Client.<anonymous> (React-o-matic Discord/bot.js:18:35)
    at Client.emit (events.js:314:20)
    at MessageCreateAction.handle (React-o-matic Discord/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (React-o-matic Discord/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (React-o-matic Discord/node_modules/discord.js/src/client/websocket/WebSocketManager.js:384:31)
    at WebSocketShard.onPacket (React-o-matic Discord/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (React-o-matic Discord/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
    at WebSocket.onMessage (React-o-matic Discord/node_modules/discord.js/node_modules/ws/lib/event-target.js:125:16)
React-o-matic Discord/node_modules/Discord.js/src/structures/Message.js:86
this.author=this.client.users.add(data.author,!data.webhook_id);
^
TypeError:无法读取未定义的属性“add”
在Message._补丁(React-o-matic Discord/node_modules/Discord.js/src/structures/Message.js:86:39)
在新消息中(React-o-matic Discord/node_modules/Discord.js/src/structures/Message.js:44:20)
在客户端。(React-o-matic Discord/bot.js:18:35)
在Client.emit(events.js:314:20)
在MessageCreateAction.handle(React-o-matic Discord/node_modules/Discord.js/src/client/actions/MessageCreate.js:31:14)
在Object.module.exports[作为MESSAGE_CREATE](React-o-matic Discord/node_modules/Discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
在WebSocketManager.handlePacket(React-o-matic Discord/node_modules/Discord.js/src/client/websocket/WebSocketManager.js:384:31)
在WebSocketShard.onPacket(React-o-matic Discord/node_modules/Discord.js/src/client/websocket/WebSocketShard.js:444:22)
在WebSocketShard.onMessage(React-o-matic Discord/node_modules/Discord.js/src/client/websocket/WebSocketShard.js:301:10)
在WebSocket.onMessage(React-o-matic Discord/node_modules/Discord.js/node_modules/ws/lib/event target.js:125:16)

我找到了另一种解决问题的方法:使用.then()功能:

channel.send('Hello, ' + message.author.username + '!')
    .then(function (sent_message) {
        console.info("message sent");
    });
这让我可以做基本相同的事情!没有关于.send()命令的文档,但我尝试了,它可以工作哈哈

试试这个:

var msg = new Discord.Message(client, {
    id: message.id,
    type: message.type,
    content: message.content,
    author: client.user,
    pinned: message.pinned,
    tts: message.tts,
    embeds: message.embeds,
    attachments: message.attachments,
    nonce: "123" // idfk
}, channel)

这是创建消息对象所需的最小值。

客户端是否正常工作?我以前从未使用过此库,但您调用的函数可能希望客户端有一些名为
用户的字段(复数)。是的,客户端工作得很好,我想,我可以将客户端用于其他目的,但请注意,错误是指一些核心文件,而不是我一直在编辑的代码,所以我可能缺少数据或其他东西。。。但是我找不到任何关于新的不和的信息(你说没有文档是什么意思?嗯,我想我忘了查看TextChannel页面了,哈哈哈,谢谢!谢谢!这正是我想知道的!但是:你怎么知道的?我找不到任何说明这一点的文档。很高兴听到它的帮助!我通过手动查看_补丁()找到了它。)message对象的函数,并查看要创建的message对象的改进方法。您可以在此处查找自己:我知道响应有点晚,但您如何获得message.id?首先创建另一条消息?:我猜他们需要将消息从一台服务器解析到另一台服务器。如果没有,有一种更简单的方法可以只解析消息发送消息。:D要回答您的问题,您肯定无法在不提供ID的情况下创建消息,但我不知道这些要求以及您是否可以提供自定义ID。