From 2449a50b006ab2f5bef2ddc1813f70e051df6e4a Mon Sep 17 00:00:00 2001 From: P0wders <139374380+PROxxHC@users.noreply.github.com> Date: Tue, 26 May 2026 17:42:30 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20member=20online=20status=20pr?= =?UTF-8?q?operty?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../members/MemberOnlineStatus.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/main/java/net/itsthesky/disky/elements/properties/members/MemberOnlineStatus.java diff --git a/src/main/java/net/itsthesky/disky/elements/properties/members/MemberOnlineStatus.java b/src/main/java/net/itsthesky/disky/elements/properties/members/MemberOnlineStatus.java new file mode 100644 index 00000000..844f63cd --- /dev/null +++ b/src/main/java/net/itsthesky/disky/elements/properties/members/MemberOnlineStatus.java @@ -0,0 +1,40 @@ +package net.itsthesky.disky.elements.properties.members; + +import ch.njol.skript.doc.Description; +import ch.njol.skript.doc.Examples; +import ch.njol.skript.doc.Name; +import ch.njol.skript.doc.Since; +import net.dv8tion.jda.api.OnlineStatus; +import net.dv8tion.jda.api.entities.Member; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +@Name("Member Online Status") +@Description({"Returns the online status of a member: online, idle, do not disturb, invisible or offline.", + "Requires the GUILD_PRESENCES intent and the ONLINE_STATUS cache flag to be enabled - " + + "without them this always returns offline.", + "Note: this is the presence status, NOT whether the member is streaming. " + + "A streaming member appears as an activity of type 'streaming', not an online status."}) +@Examples({"if member online status of event-member is online:", + " broadcast \"%event-member% is online\""}) +@Since("INSERT VERSION") +public class MemberOnlineStatus extends MemberProperty { + + static { + register( + MemberOnlineStatus.class, + OnlineStatus.class, + "online status[es]" + ); + } + + @Override + public @Nullable OnlineStatus convert(Member member) { + return member.getOnlineStatus(); + } + + @Override + public @NotNull Class getReturnType() { + return OnlineStatus.class; + } +} \ No newline at end of file