discord4j.discordjson.json.PartialMemberData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of discord-json Show documentation
Show all versions of discord-json Show documentation
Discord entity domain as immutable Jackson objects
package discord4j.discordjson.json;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import discord4j.discordjson.Id;
import discord4j.discordjson.possible.Possible;
import org.immutables.value.Value;
import java.util.List;
import java.util.Optional;
@Value.Immutable
@JsonSerialize(as = ImmutablePartialMemberData.class)
@JsonDeserialize(as = ImmutablePartialMemberData.class)
public interface PartialMemberData {
static ImmutablePartialMemberData.Builder builder() {
return ImmutablePartialMemberData.builder();
}
Possible> nick();
Optional avatar();
List roles();
// Nullable for member update event concerning lurker in stage channel
@JsonProperty("joined_at")
Optional joinedAt();
@JsonProperty("premium_since")
Possible> premiumSince();
@JsonProperty("hoisted_role")
Optional hoistedRole();
boolean deaf();
boolean mute();
@JsonProperty("communication_disabled_until")
Possible> communicationDisabledUntil();
default long flags() {
return 0L;
}
}