【问题标题】:Discord.js can't read propertiesDiscord.js 无法读取属性
【发布时间】:2022-01-22 12:44:45
【问题描述】:

我正在尝试使用 discord.js 发出禁令命令,但我无法使其工作。它总是回复“无法读取未定义的属性(读取'有')”

代码:

async run(message, args, client) {
    if (message.author.permissions.has(Permissions.FLAGS.BAN_MEMBERS)) {
        if (message.members.mentions.first()) {
            try {
                message.members.mentions.first().kick();
            } catch {
                message.reply("I don't have permission to ban" + message.members.mentions.first());
            }
        } else {
            message.reply("You cannot ban " + message.members.mentions.first());
        }
    }

}

我尝试查找一些示例代码,但它仍然不适合我

【问题讨论】:

  • 假设 message 是 discord.js 消息,message.author 将是用户或未定义。您可能正在寻找message.member。最重要的是,members 不是 Message 的属性。

标签: discord.js


【解决方案1】:

Message.authorUser 实例,.permissions 不存在。请改用Message.member 来获取GuildMember

另外,如this comment 中的@user15517071 所述,您需要使用Message.mentions.members 而不是Message.members.mentions

这是修改后的代码

async run(message, args, client) {
    if (message.member.permissions.has(Permissions.FLAGS.BAN_MEMBERS)) {
        if (message.mentions.members.first()) {
            try {
                message.mentions.members.first().kick();
            } catch {
                message.reply("I don't have permission to ban" + message.mentions.members.first());
            }
        } else {
            message.reply("You cannot ban " + message.members.mentions.first());
        }
    }

}

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 2019-10-02
    • 2021-03-29
    • 2022-01-14
    • 2021-03-08
    • 2020-09-08
    • 1970-01-01
    相关资源
    最近更新 更多