messageDeleted 事件未被触发

messageDeleted event not being triggered

我刚刚开始使用 discord.js 创建一个 discord 机器人,并且正在尝试这些事件并遇到了一个问题。 messageDeleted 事件不会在消息被删除时触发。

const discord = require('discord.js');
const Client = new discord.Client();
const token = 'bot_token';

Client.on('ready', function(){console.log('Logged on!')});

Client.on('messageDeleted', function(message, channel){
    console.log('Test, a message was deleted.');
});

Client.login(token);

当我删除一条消息时,它从未打印出 'Test, a message was deleted.'。 注意 我试过在 运行 代码之前删除已经在聊天中的消息,并删除我在 运行 代码之后创建的消息,看看是否是问题所在。还是没有。

这是因为您将事件放在 messageDeleted 而不是 messageDelete 上。
这是一个错误的事件侦听器,没有捕获到正确的事件侦听器。

我花了一些时间研究和测试这个 MessageDeleted 主题。在我的配置中,我没有为频道设置 "Manage Messages" 权限。我不允许任何人删除其他人的消息。但是,这并不妨碍某人删除自己的消息。关闭 "Message Manage" 后,当公会成员删除自己的消息时,"MessageDeleted" 永远不会触发。一旦您授予 "Manage Messages" 权限并且成员删除了他们自己的消息,就会触发 MessageDeleted 事件。任何拥有 "Manage Messages" 权限的人都会触发 MessageDeleted 事件。