【问题标题】:Cannot read properties of undefined (reading 'fetchBans')无法读取未定义的属性(读取“fetchBans”)
【发布时间】:2021-11-16 20:58:40
【问题描述】:

我试图在我的 Discord 机器人中发出命令来解除对某人的禁令。当我完成代码时,我得到了一个错误。错误是无法读取未定义的属性(读取“fetchBans”)。我用来制作它的代码是

message.guild.cache.fetchBans().then(async bans => {
            if (bans.size === 0) return message.channel.send("No one is banned on the server!")
            let bannedUser = bans.find(ban => ban.user.id == userID)
            if (!bannedUser) return message.channel.send("This user isn't banned!")
            await message.guild.members.unban(bannedUser.user, reason).catch(err => {
                return message.channel.send("Something went wrong!")
            }).then(() => {
                let embed = new MessageEmbed()
                    .setColor("GREEN")
                    .setTitle(`Member unbanned!`)
                    .setDescription("")
                    .setTimestamp()
                    .setFooter(this.client.user.username)

            embed.addField(`member = ${target.username}`, `reason = ${reason}`, false)


            message.channel.send({embeds: [embed]});

            if (row[0].logs_channel != null) this.client.channels.cache.get(row[0].logs_channel).send({embeds: [embed]})

            message.delete()
        })

出错的地方就是这一行:

 message.guild.cache.fetchBans().then(async bans => {

当我运行这个命令时,它会给出错误。我也尝试做其他事情。我为该行尝试的代码是:

message.guild.fetchBans().then(async bans => {

这一行还给出了一个错误,上面写着:TypeError: message.guild.fetchBans is not a function。

我不知道我能做些什么。我希望有人可以帮助我。

Node.js 版本:16.9.1 discord.js 版本:13.1.0

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    根据the documentationGuild 上没有fetchBans。也许你正在寻找message.guild.bans.fetch()

    还值得注意的是,message.guild 可以为空 - 如果消息是直接消息(不是在公会中发送),它将为空。

    【讨论】:

    • 感谢@UncleDave 它对我有用。
    猜你喜欢
    • 2020-08-31
    • 2023-03-11
    • 2022-01-15
    • 2021-12-31
    • 2021-12-13
    • 2021-11-28
    • 2021-11-15
    • 2021-11-06
    • 2021-11-20
    相关资源
    最近更新 更多