JDA - Für irgendeine Rolle prüfen?

2 Antworten

Er soll als test bei dem Befehl "ping" ein Pong zurückgeben.

Dies sollte aber nur geschehen, wenn er eine Rolle hat, (Owner, Admin, Supporter, etc.)

Ansonsten soll er einen Fehler ausgeben, nun ist es so, das nicht mehr der "permsCore" das übernimmt, sondern der command an sich (hier -> cmdPing.java).

Ich bekomme aber kein "pong" zurück, wenn ich alle permissions habe, die ich brauche. Das ist mein Problem. Ich möchte andernfalls aber auch nicht, jedes mal ein "Du hast keine Permissions" in die Class der Commands zu schreiben.

Normalerweise ist im permsCore eine Nachricht eingebaut die eigentlich den Command (das ausgeben von Pong) unterbinden soll, und selbst die Fehlernachricht senden soll.

Wie gesagt, wäre cool wenn jemand selber ein Rollen / Permissions system hat, und ich das in meinen Quellcode benutzen könnte.

PerfectMuffin  20.08.2018, 14:44

Hast du irgendein Verständnis von diesem riesigen Filterausdruck, den du da im Code hast? Soweit ich das sehe prüft der explizit auf Admin und Owner.

0
Gandalf1783 
Fragesteller
 20.08.2018, 16:57
@PerfectMuffin

also ich habe das aus einem tutorial, und für mich steht im Code:
.anyMatch(r.getName()::contains)

Das wenn er Irgendetwas hat (anyMatch) und das er dann überprüft, ob die Rolle (r) den Spielernamen nimmt und überprüft, ob sie dabei ist (contains). Deshalb ist das glaube ich unverständlich für mich.. Im Tutorial hat er halt auch bei -ping wer keine Rolle hat, auch einen Fehler ausgegeben. Bin deshalb etwas verwirrt.

0
PerfectMuffin  20.08.2018, 17:12
@Gandalf1783

Schmeiß den Lambda-Filter raus und schreibe selbst einen Rollentest. Du solltest keine Snippets in deinem Code verwenden, die du nicht verstehst.

0

Was ist denn das erwartete Verhalten?