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

discord4j.discordjson.json.ChannelData 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 = ImmutableChannelData.class)
@JsonDeserialize(as = ImmutableChannelData.class)
public interface ChannelData {

    static ImmutableChannelData.Builder builder() {
        return ImmutableChannelData.builder();
    }

    Id id();

    int type();

    @JsonProperty("guild_id")
    Possible guildId();

    Possible position();

    @JsonProperty("permission_overwrites")
    Possible> permissionOverwrites();

    Possible name();

    Possible> topic();

    Possible nsfw();

    @JsonProperty("last_message_id")
    Possible> lastMessageId();

    Possible bitrate();

    @JsonProperty("user_limit")
    Possible userLimit();

    @JsonProperty("rate_limit_per_user")
    Possible rateLimitPerUser();

    Possible> recipients();

    Possible> icon();

    @JsonProperty("owner_id")
    Possible ownerId();

    @JsonProperty("application_id")
    Possible applicationId();

    @JsonProperty("parent_id")
    Possible> parentId();

    @JsonProperty("last_pin_timestamp")
    Possible> lastPinTimestamp();

    @JsonProperty("rtc_region")
    Possible> rtcRegion();

    @JsonProperty("video_quality_mode")
    Possible videoQualityMode();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy