You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Discord.js V14机器人忽略管理员的@everyone消息

解决Discord机器人忽略管理员@everyone消息的问题

你只需要在判断消息包含@everyone之前,先检查发送消息的成员是否拥有管理员权限,如果有就直接跳过后续逻辑,这样管理员发的@everyone消息就不会被删除了。

修改后的代码如下:

module.exports = {
    name: "messageCreate",
    async execute(message) {
        if (!message.guild || message.author.bot) return;

        // 检查用户是否有管理员权限,有则直接返回
        if (message.member.permissions.has('ADMINISTRATOR')) return;

        if (message.content.includes("@everyone")) {
            message.delete();
            message.channel.send({ content: `${message.author}, you don't have permission to tag everyone!`});
        }
    }
}

关键说明

  • message.member.permissions.has('ADMINISTRATOR') 会验证当前消息发送者在服务器内是否拥有管理员权限,返回布尔值
  • 把这个判断放在最前面,管理员发送的任何消息都会直接跳过后续处理,自然也不会触发@everyone的删除逻辑

内容的提问来源于stack exchange,提问作者Illanser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:02:58