首页 > 解决方案 > 我如何解除公会的每个成员的禁令

问题描述

我想知道是否有人可以与我分享代码或在不和谐上向我发送消息以帮助我 --> Maniac#3833

我在下面尝试了这段代码..它失败了。

if (msg.startsWith(prefix + 'unbanall')) {

if (!message.member.hasPermission('BAN_MEMBERS')) return message.channel.send('You don\'t have permissions to use this command')

  message.guild.fetchBans().then(bans => {
    bans.forEach(member => {
      message.guild.members.unban(member);
      message.channel.send(`Unbanned **${bans.size}** users`)
    })
  })
}

标签: discord.js

解决方案


fetchBans()方法返回一个集合BanInfo。所以你需要这样做:

if (msg.startsWith(prefix + 'unbanall')) {

if (!message.member.hasPermission('BAN_MEMBERS')) return message.channel.send('You don\'t have permissions to use this command')

  message.guild.fetchBans().then(bans => {
    bans.forEach(banInfo => {
      message.guild.members.unban(banInfo.user);
    });
    message.channel.send(`Unbanned **${bans.size}** users`)
  })
}

此外,message.channel.send() 不会等待 forEach,因此它会在所有成员被禁止之前发送它。


推荐阅读