当使用Discord.js或其他Discord API实现编写Discord机器人时,如果我们试图编辑由其他用户创建的消息,将会遇到上述错误。
解决此问题的方法是使用Discord.js中的Message.awaitReactions()方法。该方法允许您等待用户对特定消息作出反应,然后在代码中采取相应措施。
以下是一个示例代码,通过使用awaitReactions()方法来编辑其他用户的消息:
// 假设 'message' 是我们要编辑的消息,'user' 是消息的作者
// 在消息的反应中等待用户对消息作出反应
message.awaitReactions((reaction, user) => user.id === message.author.id)
.then(collected => {
// 当用户对消息做出反应时,收集并编辑消息
const reaction = collected.first();
message.edit('编辑后的消息');
})
.catch(console.error);
这将等待消息的作者对消息进行反应,然后允许机器人编辑消息。