Проверьте, имеет ли client.users () / ID пользователя конкретное имя роли - PullRequest
0 голосов
/ 15 июня 2019

Я хотел бы проверить, имеет ли client.users () определенное имя пользователя.Я не ищу некоторые решения, такие как msg.member.roles.find (), мне нужно решение, в котором я могу использовать client.users () или вставить идентификатор пользователя

if (client.users().role.find("name", "rolename"))
{
  //something
}

1 Ответ

0 голосов
/ 15 июня 2019

Нет такого метода Client.users(). Однако есть свойство Client.users. Но последний является Collection из User s, и только GuildMember s имеют роли.

Вам придется пройти через каждую из гильдий клиента (Client.guilds), затем через каждого члена (Guild.members) и попытаться найти нужную вам роль (Collection.find).

* +1025 * Пример:
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.
}
...