Wie bekomme ich alle User eines Servers, die eine bestimmte Rolle besitzen [Dicord, JDA, Java]?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Einfach eine eigene Methode schreiben:

Ich würde eine Array Liste mit allen User Objekten anlegen und dann über den Index laufen und schauen, ob der jeweilige User Rolle XY besitzt. Wenn ja, wird dieser einer neuen Array Liste hinzugefügt.

Am Ende hast du eine ArrayListe mit allen User Objekten, die Rolle XY besitzen.


Ich glaube du meinst discord.js oder? Weil ich wusste nicht, dass es eine Java-Modul für die DiscordAPI gibt.

Funktioniert so: Erst alle User eines Servers in einer Collection sammeln und dann nach einer Rolle filtern.

Wenn es discord.js ist, kann ich dir gerne das ganze als Code-Beispiel zeigen.

VG Ishidres


Ishidres  24.12.2017, 17:00

Okay, viel Glück dabei! :)

0
Gr4zeCrafter 
Beitragsersteller
 24.12.2017, 16:04

Vielen Dank für eine Antwort erstmal aber es ist tatsächlich java :D und in der library finde ich keine Methode, in der ich nach den Rollen filtern kann. Ich werde deinen Lösungsansatz trotzdem mal versuchen umzusetzen.

0

Du kannst einfach Event.getGuild ().getMembersWithRoles (Role) ausführen

Könntest du dir zumindest einen eigenen Filter zusammenbauen?

  1. Alle Nutzer holen.
  2. Über Nutzerliste iterieren und pro Nutzer die Rolle überprüfen.

TheSaltyOne  14.07.2018, 23:44

Jo

for (User u : Main.getJDA().getGuildById(**ID**).getUsers()) {

if (u.getRoles().contains(Main.getJDA().getGuildById(**ID**).getRoleByID(**ID**)) {

WHATEVER

}

}

PS: Ist frei geschrieben --> Die Methoden-Namen stimmen ggf. nicht.

0