All Downloads are FREE. Search and download functionalities are using the official Maven repository.

discord4j.discordjson.json.PartialMemberData Maven / Gradle / Ivy

There is a newer version: 1.7.9
Show newest version
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;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy