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

Discord机器人Ban命令崩溃:permissions未定义错误求助

Discord机器人Ban命令崩溃问题修复

你遇到的崩溃报错「Cannot read properties of undefined, reading 'permissions'」,核心原因是代码里错误使用了不存在的message.auth属性。

具体错误点

message对象中并没有auth这个属性,你原本想检查命令使用者的权限,但错误地引用了一个不存在的对象,导致读取permissions时触发未定义错误。

修复步骤

  1. 修正权限检查代码
    将原来的:
const auth = message.author.id
const permission = message.auth.permissions.has("BanMembers")

替换为:

const hasPermission = message.member.permissions.has("BanMembers")

message.member才是当前用户在服务器中的成员实例,包含其服务器内的权限信息,而message.author只是全局用户对象,不关联服务器权限。

  1. 修复其他细节问题
  • 权限回复里的contents拼写错误,应该改为content
  • member变量未声明,添加const变为局部变量,避免全局污染
  • 最后异步操作的拼接写法错误,member.ban()是异步方法,需要用await正确处理,再执行回复逻辑

修复后的完整代码

else if(message.content.startsWith("s!ban")){
    const user = message.author.username
    console.log(`${user} used s!ban`)
    const args = message.content.split(" ")
    const member = message.mentions.members.first()
    
    const hasPermission = message.member.permissions.has("BanMembers")
    if (!hasPermission)
        return message.reply({ 
            content: "You don't have permission to use this command"
        });

    if (!args[1]) return message.reply(`Please specify someone to ban!`);

    if (!member) return message.reply(`Sorry, I couldnt find that user!`);

    if (member.id === message.author.id)
        return message.reply({ content: `You cant ban yourself silly!` });

    if (message.member.roles.highest.position < member.roles.highest.position)
        return message.reply({
            content: `You cant ban a user who has a higher role than you silly!`
        });

    if (!member.bannable) return message.reply({ content: `Sorry, I cant ban that member`});

    await member.ban();
    const replyMessage = await message.reply({
        content: `${member} has been banned successfully!`
    });
    setTimeout(() => replyMessage.delete(), 5000);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 02:44:56