检查client.users()/用户ID是否具有特定的角色名称

时间:2019-06-15 01:28:06

标签: node.js npm discord.js

我想检查client.users()是否具有特定的角色名。我不是在寻找msg.member.roles.find()之类的解决方案,我需要一个可以使用client.users()或插入用户ID的解决方案

react-redux

1 个答案:

答案 0 :(得分:0)

没有这样的方法Client.users()。但是,有一个属性Client.users。但是,后者是Collection个中的User个,只有GuildMember个具有角色。

您必须iterate through客户的每个行会(Client.guilds),然后通过每个成员(Guild.members),然后尝试找到您要寻找的角色( Collection.find

示例:

for ([guildID, guild] of client.guilds) {
  for ([memberID, member] of guild.members) {
    if (member.roles.find(role => role.name === 'name')) {
      // Do something to this member.
    }
  }
}

如果您只寻找一个成员,则不必遍历这些成员。

for ([guildID, guild] of client.guilds) {
  const member = guild.members.get('someID');
  if (!member) continue;

  // Do something to this member.
}
相关问题