Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript messageDeleted事件未被触发_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript messageDeleted事件未被触发

Javascript messageDeleted事件未被触发,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我刚刚开始使用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

我刚刚开始使用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);

当我删除邮件时,它从不打印“测试,邮件已删除”注意在运行代码之前,我尝试删除聊天室中已有的消息,并删除在运行代码之后创建的消息,以确定这是否是问题所在。还是没什么。

这是因为您将事件放在
messageDeleted
而不是。

这是一个错误的事件侦听器,无法捕获正确的发出的事件侦听器。

我花了一些时间研究和测试此MessageDeleted主题。在我的配置中,我没有为频道设置“管理消息”权限。我不允许任何人删除其他人的邮件。但是,这并不阻止某人删除自己的邮件。关闭“消息管理”后,当公会成员删除自己的消息时,“消息已删除”不会触发。一旦您授予“管理消息”权限并且成员删除了自己的消息,MessageDeleted事件就会触发。任何具有“管理邮件”权限的人都将触发MessageDeleted事件。

哇,真管用!但是为什么在这里会被“messageDeleted”呢?看起来在过去的某个时候,所有文档都是在reStructuredText中完成的,并且托管在readthedocs.io上。据我所见,这是该网站的来源:在js.org上。我真的不知道这个项目的历史。我只是在谷歌上搜索了一下,想弄明白这一点。@CyberLX我实际上又看了一遍。的首页实际上说它是针对9.0.0之前的discord.js的。如果您跟随他们的链接到新文档所在的位置,它看起来像是到了他们放弃的另一个位置,该位置现在链接到当前位置。@CyberLX如果这解决了您的问题,您介意在投票箭头下用复选标记将其标记为答案吗?这意味着这个问题将显示为已回答,并退出未回答的队列。