discord4j.discordjson.json.ChannelData 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 = 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();
}