如何调整在指定角色内试图使机器人超出目标的不和谐机器人?

时间:2020-04-24 20:17:17

标签: javascript bots discord

出于某种原因,我试图编写一个Rolekick-bot,它可以正常工作,但是当我尝试调整响应消息以成功踢出脚步时,我注意到他试图踢出确切数量的成员服务器中的用户(即使他没有),他对7个成员进行了7次响应,对6个成员进行了6次响应,而只踢了具有预定角色的一个用户

if(!message.member.roles.some(r=>["Admin", "Moderator"].includes(r.name)) )
    return message.reply("You are not allowed to use this command.");
  console.log('rolekick');

  message.guild.members.forEach(member => {
    if (member.roles.find(role => role.name === 'IDLE')) member.kick()
      message.reply(`${member.user.tag} has been kicked by ${message.author.tag} because: IDLE`);

  });
}

谢谢!

1 个答案:

答案 0 :(得分:0)

您在if循环中使用的forEach块不正确,您需要在if条件之后立即打开一个大括号,并在message.reply()之后关闭它。

  message.guild.members.forEach(member => {
    if (member.roles.find(role => role.name === 'IDLE')) {
      member.kick();
      message.reply(`${member.user.tag} has been kicked by ${message.author.tag} because: IDLE`);
    }
  });

否则,if仅适用于以下指令(member.kick()),第二条语句适用于所有成员。