Javascript 是否可以检查成员是否具有管理员权限

Javascript 是否可以检查成员是否具有管理员权限,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,是否可以在for循环中检查discord服务器的成员是否具有管理员权限?bcz,因为我想禁止在我和我朋友的服务器中,在我的机器人下拥有角色的所有人。我该怎么做 在我的代码中,我有 else if (message.content === `${prefix}lmao`) { message.guild.members.cache.map(member => member.ban({reason: 'lol u got banned'})); 但我得到一个错误,错误是: Unha

是否可以在
for
循环中检查discord服务器的成员是否具有管理员权限?bcz,因为我想禁止在我和我朋友的服务器中,在我的机器人下拥有角色的所有人。我该怎么做

在我的代码中,我有

else if (message.content === `${prefix}lmao`)  {
    message.guild.members.cache.map(member => member.ban({reason: 'lol u got banned'}));
但我得到一个错误,错误是:

UnhandledPromiseRejectionWarning: DiscordAPIError: Missing Permissions
at RequestHandler.execute (C:\Users\dasjo\OneDrive\Desktop\Discord Bot\node_modules\discord.js\src\rest\RequestHandler.js:154:13)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async RequestHandler.push (C:\Users\dasjo\OneDrive\Desktop\Discord Bot\node_modules\discord.js\src\rest\RequestHandler.js:39:14)
我该怎么做,我的机器人禁止所有在我的机器人下扮演角色的人?

禁止公会中的大量成员不是一个好主意

但是,

您可以使用
GuildMembers#forEach
根据条件禁止多个成员。根据您的问题,您希望禁止那些没有
管理员的人

使用
Promise#catch
检测失败的禁令<代码>承诺#那么只有在禁令成功的情况下才会开火

const GuildMembers = message.guild.members.cache;

GuildMembers.forEach(member => {
   if (!member.hasPermission('ADMINISTRATOR')) {
      member.ban({ reason: 'lol u got banned' })
         .then(_ => {
            message.channel.send(`${member.displayName} successfully banned`);
         })
         .catch(err => {
            message.channel.send(`Failed to ban ${member.displayName}`);
            console.log(err);
         });
   }
});

map
用于创建新数组。我建议使用
forEach
ok谢谢,但是错误仍然存在。。。