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

Discord机器人antiswear.js报错:FLAGS属性读取失败且管理员排除失效

问题修复:Discord反脏话模块管理员排除失效及报错解决

报错信息

ERROR: Unhandled exception: Cannot read properties of undefined (reading 'FLAGS')

问题描述

在Discord机器人的antiswear.js代码中,尝试将管理员排除在反脏话模块外,但该功能无法正常工作,同时触发上述报错。

原因分析

报错核心是Discord.js v13+版本已废弃Permissions.FLAGS写法,需改用PermissionsBitField.Flags调用权限常量;同时原判断逻辑可优化,减少冗余的层级判断。

修复后的代码

const { PermissionsBitField } = require('discord.js');
const badWords = require('@src/badwords.json');

const warnedMessages = new Set();

function checkMessage(message) {
  const content = message.content.toLowerCase();

  // 检查是否为管理员,v13+版本标准写法
  if (message.member?.permissions.has(PermissionsBitField.Flags.Administrator)) {
    return; // 跳过管理员的反脏话检测
  }

  // 后续脏话检测逻辑...
}

关键修改点

  • 替换导入对象:将Permissions改为PermissionsBitField,这是Discord.js v13及以上版本的标准权限类
  • 修正权限常量写法:Permissions.FLAGS.ADMINISTRATOR → PermissionsBitField.Flags.Administrator(遵循新版本首字母大写的命名规范)
  • 简化判断逻辑:使用可选链操作符?.替代多层&&判断,代码更简洁安全

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:12:44