Java Discord Bot - Получить членов роли? - PullRequest
0 голосов
/ 18 апреля 2020

В настоящее время я работаю над диссон-ботом java (net .dv8tion) и пытаюсь создать команду "who", в которой должны быть перечислены люди выбранной роли, например:! Who admin - -> список всех людей с ролью «администратор». Поэтому моя проблема в том, что я не смог найти метод или какой-либо другой способ решить эту проблему. Я надеюсь, что некоторые из вас могут помочь мне с этой проблемой ^^

Я думал о чем-то подобном или похожем:

list <> members = guild.getMembersByRole(roleName);

или:

role rolename;
String[] members = rolename.getMembers();

1 Ответ

0 голосов
/ 18 апреля 2020

Это можно сделать за 2 шага:

  1. Получить целевую роль
  2. Получить членов этой роли

Чтобы получить роль, которую вы Вы можете использовать getRolesByName или getRoleById.

Например:

List<Role> roles = guild.getRolesByName("admin", true);
Role role = guild.getRoleById(698231912904523796L);

Как только вы получите роль, которую вы можно использовать getMembersWithRoles.

List<Member> members = guild.getMembersWithRoles(roles);

Если итоговый список членов пуст или отсутствует, несмотря на правильность ролей, возможно, члены не кэшированы. См. этот ответ для получения дополнительной информации об этом.

...