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

Discord.js v13调整Clear Command出现Permissions未定义报错如何解决?

Discord.js v13 Clear命令适配报错解决方案

报错原因

你遇到的ReferenceError: Permissions is not defined报错,是因为代码中没有单独引入Permissions类,也没有通过已导入的Discord对象调用该类。

解决方法

两种方案任选其一即可:

方案1:无需修改导入语句,直接通过Discord对象调用

将权限判断行的Permissions.FLAGS替换为Discord.Permissions.FLAGS,修改后代码如下:

if(!message.member.permissions.has(Discord.Permissions.FLAGS.MANAGE_ROLES)) return message.channel.send("You can't do that").then(m => setTimeout(() => m.delete(), 5000))

方案2:导入时解构出Permissions类

在文件顶部引入discord.js的位置,添加Permissions的解构:

// 若你原来的引入为全局引入
const Discord = require('discord.js');
// 修改为如下解构导入即可
const { Client, Intents, Permissions } = require('discord.js');

修改导入后原有Permissions.FLAGS相关代码无需调整即可正常运行。


其他适配注意事项

  • Discord.js v13已经移除了Message.delete()方法的timeout参数,你代码中所有m.delete({ timeout: 数值 })的写法都需要替换为setTimeout(() => m.delete(), 数值),否则会触发额外报错。
  • 你的Intents值513对应的是GUILDS和GUILD_MESSAGES,符合消息类命令的运行要求,无需修改。
  • 建议在bulkDelete调用时添加第二个参数true,自动过滤14天以上无法批量删除的消息,避免报错:
message.channel.bulkDelete(parts[1], true)

内容的提问来源于stack exchange,提问作者I need Help

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:45:02