diff --git a/src/main/java/discord4j/discordjson/json/ComponentData.java b/src/main/java/discord4j/discordjson/json/ComponentData.java index e9ebaced..60f62207 100644 --- a/src/main/java/discord4j/discordjson/json/ComponentData.java +++ b/src/main/java/discord4j/discordjson/json/ComponentData.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import discord4j.discordjson.Id; import discord4j.discordjson.possible.Possible; +import java.util.Optional; import org.immutables.value.Value; import java.util.List; @@ -22,6 +23,8 @@ static ImmutableComponentData.Builder builder() { Possible> components(); + Possible accessory(); + Possible style(); Possible label(); @@ -67,4 +70,23 @@ static ImmutableComponentData.Builder builder() { @JsonProperty("sku_id") Possible skuId(); + + Possible spacing(); + + Possible divider(); + + Possible spoiler(); + + @JsonProperty("accent_color") + Possible accentColor(); + + Possible> description(); + + Possible content(); + + Possible file(); + + Possible media(); + + Possible> items(); } diff --git a/src/main/java/discord4j/discordjson/json/MediaGalleryItemData.java b/src/main/java/discord4j/discordjson/json/MediaGalleryItemData.java new file mode 100644 index 00000000..ee09c8a8 --- /dev/null +++ b/src/main/java/discord4j/discordjson/json/MediaGalleryItemData.java @@ -0,0 +1,22 @@ +package discord4j.discordjson.json; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import discord4j.discordjson.possible.Possible; +import java.util.Optional; +import org.immutables.value.Value; + +@Value.Immutable +@JsonSerialize(as = ImmutableMediaGalleryItemData.class) +@JsonDeserialize(as = ImmutableMediaGalleryItemData.class) +public interface MediaGalleryItemData { + + static ImmutableMediaGalleryItemData.Builder builder() { + return ImmutableMediaGalleryItemData.builder(); + } + + UnfurledMediaItemData media(); + Possible> description(); + Possible spoiler(); + +} diff --git a/src/main/java/discord4j/discordjson/json/UnfurledMediaItemData.java b/src/main/java/discord4j/discordjson/json/UnfurledMediaItemData.java new file mode 100644 index 00000000..425d512b --- /dev/null +++ b/src/main/java/discord4j/discordjson/json/UnfurledMediaItemData.java @@ -0,0 +1,41 @@ +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.possible.Possible; +import java.util.Optional; +import org.immutables.value.Value; + +@Value.Immutable +@JsonSerialize(as = ImmutableUnfurledMediaItemData.class) +@JsonDeserialize(as = ImmutableUnfurledMediaItemData.class) +public interface UnfurledMediaItemData { + + static ImmutableUnfurledMediaItemData.Builder builder() { + return ImmutableUnfurledMediaItemData.builder(); + } + + String url(); + + @JsonProperty("proxy_url") + Possible proxyUrl(); + + Possible> width(); + + Possible> height(); + + Possible> placeholder(); + + @JsonProperty("placeholder_version") + Possible> placeholderVersion(); + + @JsonProperty("content_type") + Possible> contentType(); + + @JsonProperty("loading_state") + Possible> loadingState(); + + Possible flags(); + +}