From 8e514bb7c3a03a8f6bea276e9dd79a4581377f89 Mon Sep 17 00:00:00 2001 From: NoComment1105 Date: Fri, 6 Jan 2023 14:10:12 +0000 Subject: [PATCH 1/5] Start working on role subscriptions --- .../ksp/main/kotlin/dev/kord/common/entity/MessageType.kt | 4 ++++ common/src/main/kotlin/entity/DiscordMessage.kt | 1 + 2 files changed, 5 insertions(+) diff --git a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/MessageType.kt b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/MessageType.kt index a63dc7f23edb..7b8944bc83a9 100644 --- a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/MessageType.kt +++ b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/MessageType.kt @@ -99,6 +99,8 @@ public sealed class MessageType( public object AutoModerationAction : MessageType(24) + public object RoleSubscriptionPurchase : MessageType(25) + /** * @suppress */ @@ -186,6 +188,7 @@ public sealed class MessageType( 22 -> GuildInviteReminder 23 -> ContextMenuCommand 24 -> AutoModerationAction + 25 -> RoleSubscriptionPurchase else -> Unknown(code) } } @@ -220,6 +223,7 @@ public sealed class MessageType( GuildInviteReminder, ContextMenuCommand, AutoModerationAction, + RoleSubscriptionPurchase ) } diff --git a/common/src/main/kotlin/entity/DiscordMessage.kt b/common/src/main/kotlin/entity/DiscordMessage.kt index d8edb4dd9131..aed99963d654 100644 --- a/common/src/main/kotlin/entity/DiscordMessage.kt +++ b/common/src/main/kotlin/entity/DiscordMessage.kt @@ -28,6 +28,7 @@ Entry("GuildInviteReminder", intValue = 22), Entry("ContextMenuCommand", intValue = 23), Entry("AutoModerationAction", intValue = 24), + Entry("RoleSubscriptionPurchase", intValue = 25), ], deprecatedEntries = [ Entry( From 546ca83b93d313c16887c1c0fb6fae471487df60 Mon Sep 17 00:00:00 2001 From: NoComment1105 Date: Fri, 6 Jan 2023 19:03:20 +0000 Subject: [PATCH 2/5] Finish role subscription stuffs --- .../dev/kord/common/entity/GuildFeature.kt | 29 +++++++++++++++++++ .../dev/kord/common/entity/MessageType.kt | 2 +- common/src/main/kotlin/entity/DiscordGuild.kt | 14 +++++++++ common/src/main/kotlin/entity/DiscordRole.kt | 4 +++ .../main/kotlin/cache/data/RoleTagsData.kt | 10 ++++++- core/src/main/kotlin/entity/Integration.kt | 2 +- core/src/main/kotlin/entity/RoleTags.kt | 10 +++++++ 7 files changed, 68 insertions(+), 3 deletions(-) diff --git a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/GuildFeature.kt b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/GuildFeature.kt index 3c48544959e6..9a4f32797b46 100644 --- a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/GuildFeature.kt +++ b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/GuildFeature.kt @@ -81,6 +81,16 @@ public sealed class GuildFeature( */ public object Community : GuildFeature("COMMUNITY") + /** + * Guild has enabled monetization. + */ + public object CreatorMonetizableProvision : GuildFeature("CREATOR_MONETIZABLE_PROVISIONAL") + + /** + * Guild has enabled the role subscription promo page. + */ + public object CreatorStorePage : GuildFeature("CREATOR_STORE_PAGE") + /** * Guild has been set as a support server on the App Directory. */ @@ -141,6 +151,17 @@ public sealed class GuildFeature( */ public object RoleIcons : GuildFeature("ROLE_ICONS") + /** + * Guild has role subscriptions that can be purchased. + */ + public object RoleSubscriptionsAvailableForPurchase : + GuildFeature("ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE") + + /** + * Guild has enabled role subscriptions. + */ + public object RoleSubscriptionsEnabled : GuildFeature("ROLE_SUBSCRIPTIONS_ENABLED") + /** * Guild has enabled ticketed events. */ @@ -223,6 +244,8 @@ public sealed class GuildFeature( "BANNER" -> Banner "COMMERCE" -> @Suppress("DEPRECATION_ERROR") Commerce "COMMUNITY" -> Community + "CREATOR_MONETIZABLE_PROVISIONAL" -> CreatorMonetizableProvision + "CREATOR_STORE_PAGE" -> CreatorStorePage "DEVELOPER_SUPPORT_SERVER" -> DeveloperSupportServer "DISCOVERABLE" -> Discoverable "FEATURABLE" -> Featurable @@ -236,6 +259,8 @@ public sealed class GuildFeature( "PREVIEW_ENABLED" -> PreviewEnabled "PRIVATE_THREADS" -> @Suppress("DEPRECATION") PrivateThreads "ROLE_ICONS" -> RoleIcons + "ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE" -> RoleSubscriptionsAvailableForPurchase + "ROLE_SUBSCRIPTIONS_ENABLED" -> RoleSubscriptionsEnabled "SEVEN_DAY_THREAD_ARCHIVE" -> @Suppress("DEPRECATION_ERROR") SevenDayThreadArchive "THREE_DAY_THREAD_ARCHIVE" -> @Suppress("DEPRECATION_ERROR") ThreeDayThreadArchive "TICKETED_EVENTS_ENABLED" -> TicketedEventsEnabled @@ -260,6 +285,8 @@ public sealed class GuildFeature( Banner, @Suppress("DEPRECATION_ERROR") Commerce, Community, + CreatorMonetizableProvision, + CreatorStorePage, DeveloperSupportServer, Discoverable, Featurable, @@ -273,6 +300,8 @@ public sealed class GuildFeature( PreviewEnabled, @Suppress("DEPRECATION") PrivateThreads, RoleIcons, + RoleSubscriptionsAvailableForPurchase, + RoleSubscriptionsEnabled, @Suppress("DEPRECATION_ERROR") SevenDayThreadArchive, @Suppress("DEPRECATION_ERROR") ThreeDayThreadArchive, TicketedEventsEnabled, diff --git a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/MessageType.kt b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/MessageType.kt index 7b8944bc83a9..291183d05a7e 100644 --- a/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/MessageType.kt +++ b/common/build/generated/ksp/main/kotlin/dev/kord/common/entity/MessageType.kt @@ -223,7 +223,7 @@ public sealed class MessageType( GuildInviteReminder, ContextMenuCommand, AutoModerationAction, - RoleSubscriptionPurchase + RoleSubscriptionPurchase, ) } diff --git a/common/src/main/kotlin/entity/DiscordGuild.kt b/common/src/main/kotlin/entity/DiscordGuild.kt index 87962dbab3e8..de097f6e3ded 100644 --- a/common/src/main/kotlin/entity/DiscordGuild.kt +++ b/common/src/main/kotlin/entity/DiscordGuild.kt @@ -86,6 +86,14 @@ kDoc = "Guild can enable welcome screen, Membership Screening, stage channels and discovery, and " + "receives community updates.", ), + Entry( + "CreatorMonetizableProvision", stringValue = "CREATOR_MONETIZABLE_PROVISIONAL", + kDoc = "Guild has enabled monetization." + ), + Entry( + "CreatorStorePage", stringValue = "CREATOR_STORE_PAGE", + kDoc = "Guild has enabled the role subscription promo page." + ), Entry( "DeveloperSupportServer", stringValue = "DEVELOPER_SUPPORT_SERVER", kDoc = "Guild has been set as a support server on the App Directory.", @@ -116,6 +124,12 @@ kDoc = "Guild can be previewed before joining via Membership Screening or the directory.", ), Entry("RoleIcons", stringValue = "ROLE_ICONS", kDoc = "Guild is able to set role icons."), + Entry("RoleSubscriptionsAvailableForPurchase", stringValue = "ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE", + kDoc = "Guild has role subscriptions that can be purchased." + ), + Entry("RoleSubscriptionsEnabled", stringValue = "ROLE_SUBSCRIPTIONS_ENABLED", + kDoc = "Guild has enabled role subscriptions." + ), Entry( "TicketedEventsEnabled", stringValue = "TICKETED_EVENTS_ENABLED", kDoc = "Guild has enabled ticketed events.", diff --git a/common/src/main/kotlin/entity/DiscordRole.kt b/common/src/main/kotlin/entity/DiscordRole.kt index 30c89742da23..4d209d5219d9 100644 --- a/common/src/main/kotlin/entity/DiscordRole.kt +++ b/common/src/main/kotlin/entity/DiscordRole.kt @@ -30,6 +30,10 @@ public data class DiscordRoleTags( val integrationId: OptionalSnowflake = OptionalSnowflake.Missing, @SerialName("premium_subscriber") val premiumSubscriber: Optional = Optional.Missing(), + @SerialName("subscription_listing_id") + val subscriptionListingId: OptionalSnowflake = OptionalSnowflake.Missing, + @SerialName("available_for_purchase") + val availableForPurchase: Optional = Optional.Missing(), ) @Serializable diff --git a/core/src/main/kotlin/cache/data/RoleTagsData.kt b/core/src/main/kotlin/cache/data/RoleTagsData.kt index 109b3ef0f55a..ab9a5f3943f7 100644 --- a/core/src/main/kotlin/cache/data/RoleTagsData.kt +++ b/core/src/main/kotlin/cache/data/RoleTagsData.kt @@ -10,10 +10,18 @@ public data class RoleTagsData( val botId: OptionalSnowflake = OptionalSnowflake.Missing, val integrationId: OptionalSnowflake = OptionalSnowflake.Missing, val premiumSubscriber: Boolean, + val subscriptionListingId: OptionalSnowflake = OptionalSnowflake.Missing, + val availableForPurchase: Boolean ) { public companion object { public fun from(entity: DiscordRoleTags): RoleTagsData = with(entity) { - RoleTagsData(botId, integrationId, premiumSubscriber is Optional.Null) + RoleTagsData( + botId, + integrationId, + premiumSubscriber is Optional.Null, + subscriptionListingId, + availableForPurchase is Optional.Null + ) } } } diff --git a/core/src/main/kotlin/entity/Integration.kt b/core/src/main/kotlin/entity/Integration.kt index ec8938cf99da..e2f0a98b98e3 100644 --- a/core/src/main/kotlin/entity/Integration.kt +++ b/core/src/main/kotlin/entity/Integration.kt @@ -38,7 +38,7 @@ public class Integration( get() = data.name /** - * The type of integration. (`"twitch"`, `"youtube"`, etc) + * The type of integration. (`"twitch"`, `"youtube"`, `"discord"` or `"guild_subscription"`) */ public val type: String get() = data.type diff --git a/core/src/main/kotlin/entity/RoleTags.kt b/core/src/main/kotlin/entity/RoleTags.kt index 5fb669612515..0488b9ab4e70 100644 --- a/core/src/main/kotlin/entity/RoleTags.kt +++ b/core/src/main/kotlin/entity/RoleTags.kt @@ -33,6 +33,16 @@ public class RoleTags( */ public val isPremiumRole: Boolean get() = data.premiumSubscriber + /** + * The ID of this role's subscription sku and listing. + */ + public val subscriptionListingId: Snowflake? get() = data.subscriptionListingId.value + + /** + * Whether this role is avaialble for purchase. + */ + public val isAvailableForPurchase: Boolean get() = data.availableForPurchase + /** * The guild behavior this tag belongs to. */ From a6ed947c2005e3d277856e6fba9b59a4bc7ee2ff Mon Sep 17 00:00:00 2001 From: NoComment1105 Date: Fri, 6 Jan 2023 19:26:14 +0000 Subject: [PATCH 3/5] api Dump eeee --- common/api/common.api | 34 +++++++++++++++++++++++++++++----- core/api/core.api | 16 +++++++++++----- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/common/api/common.api b/common/api/common.api index f999c79674f7..ce6d49a26f5d 100644 --- a/common/api/common.api +++ b/common/api/common.api @@ -5100,18 +5100,22 @@ public final class dev/kord/common/entity/DiscordRole$Companion { public final class dev/kord/common/entity/DiscordRoleTags { public static final field Companion Ldev/kord/common/entity/DiscordRoleTags$Companion; public fun ()V - public synthetic fun (ILdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component2 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component3 ()Ldev/kord/common/entity/optional/Optional; - public final fun copy (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordRoleTags; - public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordRoleTags;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordRoleTags; + public final fun component4 ()Ldev/kord/common/entity/optional/OptionalSnowflake; + public final fun component5 ()Ldev/kord/common/entity/optional/Optional; + public final fun copy (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordRoleTags; + public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordRoleTags;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordRoleTags; public fun equals (Ljava/lang/Object;)Z + public final fun getAvailableForPurchase ()Ldev/kord/common/entity/optional/Optional; public final fun getBotId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun getIntegrationId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun getPremiumSubscriber ()Ldev/kord/common/entity/optional/Optional; + public final fun getSubscriptionListingId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public fun hashCode ()I public fun toString ()Ljava/lang/String; public static final fun write$Self (Ldev/kord/common/entity/DiscordRoleTags;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V @@ -6156,6 +6160,14 @@ public final class dev/kord/common/entity/GuildFeature$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/kord/common/entity/GuildFeature$CreatorMonetizableProvision : dev/kord/common/entity/GuildFeature { + public static final field INSTANCE Ldev/kord/common/entity/GuildFeature$CreatorMonetizableProvision; +} + +public final class dev/kord/common/entity/GuildFeature$CreatorStorePage : dev/kord/common/entity/GuildFeature { + public static final field INSTANCE Ldev/kord/common/entity/GuildFeature$CreatorStorePage; +} + public final class dev/kord/common/entity/GuildFeature$DeveloperSupportServer : dev/kord/common/entity/GuildFeature { public static final field INSTANCE Ldev/kord/common/entity/GuildFeature$DeveloperSupportServer; } @@ -6208,6 +6220,14 @@ public final class dev/kord/common/entity/GuildFeature$RoleIcons : dev/kord/comm public static final field INSTANCE Ldev/kord/common/entity/GuildFeature$RoleIcons; } +public final class dev/kord/common/entity/GuildFeature$RoleSubscriptionsAvailableForPurchase : dev/kord/common/entity/GuildFeature { + public static final field INSTANCE Ldev/kord/common/entity/GuildFeature$RoleSubscriptionsAvailableForPurchase; +} + +public final class dev/kord/common/entity/GuildFeature$RoleSubscriptionsEnabled : dev/kord/common/entity/GuildFeature { + public static final field INSTANCE Ldev/kord/common/entity/GuildFeature$RoleSubscriptionsEnabled; +} + public final class dev/kord/common/entity/GuildFeature$SevenDayThreadArchive : dev/kord/common/entity/GuildFeature { public static final field INSTANCE Ldev/kord/common/entity/GuildFeature$SevenDayThreadArchive; } @@ -7003,6 +7023,10 @@ public final class dev/kord/common/entity/MessageType$Reply : dev/kord/common/en public static final field INSTANCE Ldev/kord/common/entity/MessageType$Reply; } +public final class dev/kord/common/entity/MessageType$RoleSubscriptionPurchase : dev/kord/common/entity/MessageType { + public static final field INSTANCE Ldev/kord/common/entity/MessageType$RoleSubscriptionPurchase; +} + public final class dev/kord/common/entity/MessageType$ThreadCreated : dev/kord/common/entity/MessageType { public static final field INSTANCE Ldev/kord/common/entity/MessageType$ThreadCreated; } diff --git a/core/api/core.api b/core/api/core.api index 25f22f6f006f..6c6f4ce6bf9e 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -4854,18 +4854,22 @@ public final class dev/kord/core/cache/data/RoleDataKt { public final class dev/kord/core/cache/data/RoleTagsData { public static final field Companion Ldev/kord/core/cache/data/RoleTagsData$Companion; - public synthetic fun (ILdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Z)V - public synthetic fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZLkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;Z)V + public synthetic fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component2 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component3 ()Z - public final fun copy (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Z)Ldev/kord/core/cache/data/RoleTagsData; - public static synthetic fun copy$default (Ldev/kord/core/cache/data/RoleTagsData;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZILjava/lang/Object;)Ldev/kord/core/cache/data/RoleTagsData; + public final fun component4 ()Ldev/kord/common/entity/optional/OptionalSnowflake; + public final fun component5 ()Z + public final fun copy (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;Z)Ldev/kord/core/cache/data/RoleTagsData; + public static synthetic fun copy$default (Ldev/kord/core/cache/data/RoleTagsData;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZILjava/lang/Object;)Ldev/kord/core/cache/data/RoleTagsData; public fun equals (Ljava/lang/Object;)Z + public final fun getAvailableForPurchase ()Z public final fun getBotId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun getIntegrationId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun getPremiumSubscriber ()Z + public final fun getSubscriptionListingId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public fun hashCode ()I public fun toString ()Ljava/lang/String; public static final fun write$Self (Ldev/kord/core/cache/data/RoleTagsData;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V @@ -6817,7 +6821,9 @@ public final class dev/kord/core/entity/RoleTags : dev/kord/core/KordObject, dev public final fun getIntegration (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun getIntegrationId ()Ldev/kord/common/entity/Snowflake; public fun getKord ()Ldev/kord/core/Kord; + public final fun getSubscriptionListingId ()Ldev/kord/common/entity/Snowflake; public fun getSupplier ()Ldev/kord/core/supplier/EntitySupplier; + public final fun isAvailableForPurchase ()Z public final fun isPremiumRole ()Z public fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/Strategizable; } From bafe53eee1a1e5a71fa92fc5a98a9626651c995a Mon Sep 17 00:00:00 2001 From: NoComment1105 Date: Sun, 8 Jan 2023 08:44:40 +0000 Subject: [PATCH 4/5] Add `guild_connections` field to role tags --- common/api/common.api | 12 +++++++----- common/src/main/kotlin/entity/DiscordRole.kt | 2 ++ core/api/core.api | 12 +++++++----- core/src/main/kotlin/cache/data/RoleTagsData.kt | 6 ++++-- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/common/api/common.api b/common/api/common.api index ce6d49a26f5d..6e89d4cbe87c 100644 --- a/common/api/common.api +++ b/common/api/common.api @@ -5100,19 +5100,21 @@ public final class dev/kord/common/entity/DiscordRole$Companion { public final class dev/kord/common/entity/DiscordRoleTags { public static final field Companion Ldev/kord/common/entity/DiscordRoleTags$Companion; public fun ()V - public synthetic fun (ILdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component2 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component3 ()Ldev/kord/common/entity/optional/Optional; public final fun component4 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component5 ()Ldev/kord/common/entity/optional/Optional; - public final fun copy (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordRoleTags; - public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordRoleTags;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordRoleTags; + public final fun component6 ()Ldev/kord/common/entity/optional/Optional; + public final fun copy (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordRoleTags; + public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordRoleTags;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordRoleTags; public fun equals (Ljava/lang/Object;)Z public final fun getAvailableForPurchase ()Ldev/kord/common/entity/optional/Optional; public final fun getBotId ()Ldev/kord/common/entity/optional/OptionalSnowflake; + public final fun getGuildConnections ()Ldev/kord/common/entity/optional/Optional; public final fun getIntegrationId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun getPremiumSubscriber ()Ldev/kord/common/entity/optional/Optional; public final fun getSubscriptionListingId ()Ldev/kord/common/entity/optional/OptionalSnowflake; diff --git a/common/src/main/kotlin/entity/DiscordRole.kt b/common/src/main/kotlin/entity/DiscordRole.kt index 4d209d5219d9..52fece48fb25 100644 --- a/common/src/main/kotlin/entity/DiscordRole.kt +++ b/common/src/main/kotlin/entity/DiscordRole.kt @@ -34,6 +34,8 @@ public data class DiscordRoleTags( val subscriptionListingId: OptionalSnowflake = OptionalSnowflake.Missing, @SerialName("available_for_purchase") val availableForPurchase: Optional = Optional.Missing(), + @SerialName("guild_connections") + val guildConnections: Optional = Optional.Missing(), ) @Serializable diff --git a/core/api/core.api b/core/api/core.api index 6c6f4ce6bf9e..74252e475e4c 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -4854,19 +4854,21 @@ public final class dev/kord/core/cache/data/RoleDataKt { public final class dev/kord/core/cache/data/RoleTagsData { public static final field Companion Ldev/kord/core/cache/data/RoleTagsData$Companion; - public synthetic fun (ILdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZLkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;Z)V - public synthetic fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZZLkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZZ)V + public synthetic fun (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component2 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component3 ()Z public final fun component4 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component5 ()Z - public final fun copy (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;Z)Ldev/kord/core/cache/data/RoleTagsData; - public static synthetic fun copy$default (Ldev/kord/core/cache/data/RoleTagsData;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZILjava/lang/Object;)Ldev/kord/core/cache/data/RoleTagsData; + public final fun component6 ()Z + public final fun copy (Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZZ)Ldev/kord/core/cache/data/RoleTagsData; + public static synthetic fun copy$default (Ldev/kord/core/cache/data/RoleTagsData;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;ZLdev/kord/common/entity/optional/OptionalSnowflake;ZZILjava/lang/Object;)Ldev/kord/core/cache/data/RoleTagsData; public fun equals (Ljava/lang/Object;)Z public final fun getAvailableForPurchase ()Z public final fun getBotId ()Ldev/kord/common/entity/optional/OptionalSnowflake; + public final fun getGuildConnections ()Z public final fun getIntegrationId ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun getPremiumSubscriber ()Z public final fun getSubscriptionListingId ()Ldev/kord/common/entity/optional/OptionalSnowflake; diff --git a/core/src/main/kotlin/cache/data/RoleTagsData.kt b/core/src/main/kotlin/cache/data/RoleTagsData.kt index ab9a5f3943f7..7afb1791df0e 100644 --- a/core/src/main/kotlin/cache/data/RoleTagsData.kt +++ b/core/src/main/kotlin/cache/data/RoleTagsData.kt @@ -11,7 +11,8 @@ public data class RoleTagsData( val integrationId: OptionalSnowflake = OptionalSnowflake.Missing, val premiumSubscriber: Boolean, val subscriptionListingId: OptionalSnowflake = OptionalSnowflake.Missing, - val availableForPurchase: Boolean + val availableForPurchase: Boolean, + val guildConnections: Boolean ) { public companion object { public fun from(entity: DiscordRoleTags): RoleTagsData = with(entity) { @@ -20,7 +21,8 @@ public data class RoleTagsData( integrationId, premiumSubscriber is Optional.Null, subscriptionListingId, - availableForPurchase is Optional.Null + availableForPurchase is Optional.Null, + guildConnections is Optional.Null ) } } From 76f28fe00e3e3023ea6c1c6c5efdb8acc6caab03 Mon Sep 17 00:00:00 2001 From: NoComment1105 Date: Mon, 16 Jan 2023 17:06:57 +0000 Subject: [PATCH 5/5] Add role subscription system channel flags and message type --- common/api/common.api | 51 +++++++++++++++++-- common/src/main/kotlin/entity/DiscordGuild.kt | 14 ++++- .../src/main/kotlin/entity/DiscordMessage.kt | 17 ++++++- core/api/core.api | 13 +++-- .../src/main/kotlin/cache/data/MessageData.kt | 9 ++-- core/src/main/kotlin/entity/Message.kt | 10 ++-- 6 files changed, 95 insertions(+), 19 deletions(-) diff --git a/common/api/common.api b/common/api/common.api index 6e89d4cbe87c..dc968a6e33e0 100644 --- a/common/api/common.api +++ b/common/api/common.api @@ -4258,9 +4258,9 @@ public final class dev/kord/common/entity/DiscordMentionedChannel$Companion { public final class dev/kord/common/entity/DiscordMessage { public static final field Companion Ldev/kord/common/entity/DiscordMessage$Companion; - public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/Snowflake; public final fun component10 ()Z public final fun component11 ()Ljava/util/List; @@ -4285,14 +4285,15 @@ public final class dev/kord/common/entity/DiscordMessage { public final fun component29 ()Ldev/kord/common/entity/optional/Optional; public final fun component3 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component30 ()Ldev/kord/common/entity/optional/Optional; + public final fun component31 ()Ldev/kord/common/entity/optional/Optional; public final fun component4 ()Ldev/kord/common/entity/DiscordUser; public final fun component5 ()Ldev/kord/common/entity/optional/Optional; public final fun component6 ()Ljava/lang/String; public final fun component7 ()Lkotlinx/datetime/Instant; public final fun component8 ()Lkotlinx/datetime/Instant; public final fun component9 ()Z - public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordMessage; - public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordMessage;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordMessage; + public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/common/entity/DiscordMessage; + public static synthetic fun copy$default (Ldev/kord/common/entity/DiscordMessage;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/DiscordUser;Ldev/kord/common/entity/optional/Optional;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/common/entity/DiscordMessage; public fun equals (Ljava/lang/Object;)Z public final fun getActivity ()Ldev/kord/common/entity/optional/Optional; public final fun getApplication ()Ldev/kord/common/entity/optional/Optional; @@ -4318,6 +4319,7 @@ public final class dev/kord/common/entity/DiscordMessage { public final fun getPinned ()Z public final fun getReactions ()Ldev/kord/common/entity/optional/Optional; public final fun getReferencedMessage ()Ldev/kord/common/entity/optional/Optional; + public final fun getRoleSubscriptionData ()Ldev/kord/common/entity/optional/Optional; public final fun getStickers ()Ldev/kord/common/entity/optional/Optional; public final fun getThread ()Ldev/kord/common/entity/optional/Optional; public final fun getTimestamp ()Lkotlinx/datetime/Instant; @@ -7564,6 +7566,41 @@ public final class dev/kord/common/entity/ResolvedObjects$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/kord/common/entity/RoleSubscription { + public static final field Companion Ldev/kord/common/entity/RoleSubscription$Companion; + public synthetic fun (ILdev/kord/common/entity/Snowflake;Ljava/lang/String;IZLkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;IZ)V + public final fun component1 ()Ldev/kord/common/entity/Snowflake; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()I + public final fun component4 ()Z + public final fun copy (Ldev/kord/common/entity/Snowflake;Ljava/lang/String;IZ)Ldev/kord/common/entity/RoleSubscription; + public static synthetic fun copy$default (Ldev/kord/common/entity/RoleSubscription;Ldev/kord/common/entity/Snowflake;Ljava/lang/String;IZILjava/lang/Object;)Ldev/kord/common/entity/RoleSubscription; + public fun equals (Ljava/lang/Object;)Z + public final fun getSubscriptionId ()Ldev/kord/common/entity/Snowflake; + public final fun getTierName ()Ljava/lang/String; + public final fun getTotalMonthsSubscribed ()I + public fun hashCode ()I + public final fun isRenewal ()Z + public fun toString ()Ljava/lang/String; + public static final fun write$Self (Ldev/kord/common/entity/RoleSubscription;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V +} + +public final class dev/kord/common/entity/RoleSubscription$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/kord/common/entity/RoleSubscription$$serializer; + public fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/kord/common/entity/RoleSubscription; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/kord/common/entity/RoleSubscription;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/kord/common/entity/RoleSubscription$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public abstract class dev/kord/common/entity/ScheduledEntityType { public static final field Companion Ldev/kord/common/entity/ScheduledEntityType$Companion; public static final field Serializer Ldev/kord/common/entity/ScheduledEntityType$Serializer; @@ -7711,8 +7748,12 @@ public final class dev/kord/common/entity/SubCommand$Companion { } public final class dev/kord/common/entity/SystemChannelFlag : java/lang/Enum { + public static final field SuppressGuildReminderNotifications Ldev/kord/common/entity/SystemChannelFlag; + public static final field SuppressJoinNotificationReplies Ldev/kord/common/entity/SystemChannelFlag; public static final field SuppressJoinNotifications Ldev/kord/common/entity/SystemChannelFlag; public static final field SuppressPremiumSubscriptions Ldev/kord/common/entity/SystemChannelFlag; + public static final field SuppressRoleSubscriptionPurchaseNotificationReplies Ldev/kord/common/entity/SystemChannelFlag; + public static final field SuppressRoleSubscriptionPurchaseNotifications Ldev/kord/common/entity/SystemChannelFlag; public final fun getCode ()I public static fun valueOf (Ljava/lang/String;)Ldev/kord/common/entity/SystemChannelFlag; public static fun values ()[Ldev/kord/common/entity/SystemChannelFlag; diff --git a/common/src/main/kotlin/entity/DiscordGuild.kt b/common/src/main/kotlin/entity/DiscordGuild.kt index de097f6e3ded..22e15a0ea4b8 100644 --- a/common/src/main/kotlin/entity/DiscordGuild.kt +++ b/common/src/main/kotlin/entity/DiscordGuild.kt @@ -388,7 +388,19 @@ public enum class SystemChannelFlag(public val code: Int) { SuppressJoinNotifications(1.shl(0)), /** Suppress server boost notifications. **/ - SuppressPremiumSubscriptions(1.shl(1)) + SuppressPremiumSubscriptions(1.shl(1)), + + /** Suppress guild reminder notifications **/ + SuppressGuildReminderNotifications(1.shl(2)), + + /** Suppress join notification replies **/ + SuppressJoinNotificationReplies(1.shl(3)), + + /** Suppress role subscription notifications **/ + SuppressRoleSubscriptionPurchaseNotifications(1.shl(4)), + + /** Suppress role subscription notification replies **/ + SuppressRoleSubscriptionPurchaseNotificationReplies(1.shl(5)), } @Serializable diff --git a/common/src/main/kotlin/entity/DiscordMessage.kt b/common/src/main/kotlin/entity/DiscordMessage.kt index aed99963d654..36d6c0b24b49 100644 --- a/common/src/main/kotlin/entity/DiscordMessage.kt +++ b/common/src/main/kotlin/entity/DiscordMessage.kt @@ -175,6 +175,7 @@ import kotlin.contracts.contract * @param flags Message flags. * @param stickers The stickers sent with the message (bots currently can only receive messages with stickers, not send). * @param referencedMessage the message associated with [messageReference]. + * @param roleSubscriptionData [RoleSubscription] object data of the role subscription purchase or renewal that prompted this message. * @param applicationId if the message is a response to an [Interaction][DiscordInteraction], this is the id of the interaction's application * @param components a list of [components][DiscordComponent] which have been added to this message */ @@ -219,6 +220,9 @@ public data class DiscordMessage( val stickers: Optional> = Optional.Missing(), @SerialName("referenced_message") val referencedMessage: Optional = Optional.Missing(), + @SerialName("role_subscription_data") + val roleSubscriptionData: Optional = Optional.Missing(), + /* * don't trust the docs: * This is a list even though the docs say it's a component @@ -779,7 +783,6 @@ public data class AllowedMentions( val repliedUser: OptionalBoolean = OptionalBoolean.Missing, ) - @Serializable public data class DiscordMessageInteraction( val id: Snowflake, @@ -787,3 +790,15 @@ public data class DiscordMessageInteraction( val name: String, val user: DiscordUser, ) + +@Serializable +public data class RoleSubscription( + @SerialName("role_subscription_listing_id") + val subscriptionId: Snowflake, + @SerialName("tier_name") + val tierName: String, + @SerialName("total_months_subscribed") + val totalMonthsSubscribed: Int, + @SerialName("is_renewal") + val isRenewal: Boolean +) diff --git a/core/api/core.api b/core/api/core.api index 74252e475e4c..e9a19a38f98f 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -4209,9 +4209,9 @@ public final class dev/kord/core/cache/data/MembersChunkData$Companion { public final class dev/kord/core/cache/data/MessageData { public static final field Companion Ldev/kord/core/cache/data/MessageData$Companion; - public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V - public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V - public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (ILdev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V + public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)V + public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/kord/common/entity/Snowflake; public final fun component10 ()Ljava/util/List; public final fun component11 ()Ljava/util/List; @@ -4233,6 +4233,7 @@ public final class dev/kord/core/cache/data/MessageData { public final fun component26 ()Ldev/kord/common/entity/optional/Optional; public final fun component27 ()Ldev/kord/common/entity/optional/Optional; public final fun component28 ()Ldev/kord/common/entity/optional/Optional; + public final fun component29 ()Ldev/kord/common/entity/optional/Optional; public final fun component3 ()Ldev/kord/common/entity/optional/OptionalSnowflake; public final fun component4 ()Ldev/kord/core/cache/data/UserData; public final fun component5 ()Ljava/lang/String; @@ -4240,8 +4241,8 @@ public final class dev/kord/core/cache/data/MessageData { public final fun component7 ()Lkotlinx/datetime/Instant; public final fun component8 ()Z public final fun component9 ()Z - public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/core/cache/data/MessageData; - public static synthetic fun copy$default (Ldev/kord/core/cache/data/MessageData;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/core/cache/data/MessageData; + public final fun copy (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;)Ldev/kord/core/cache/data/MessageData; + public static synthetic fun copy$default (Ldev/kord/core/cache/data/MessageData;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/core/cache/data/UserData;Ljava/lang/String;Lkotlinx/datetime/Instant;Lkotlinx/datetime/Instant;ZZLjava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ljava/util/List;Ljava/util/List;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ZLdev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/MessageType;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/OptionalSnowflake;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;Ldev/kord/common/entity/optional/Optional;ILjava/lang/Object;)Ldev/kord/core/cache/data/MessageData; public fun equals (Ljava/lang/Object;)Z public final fun getActivity ()Ldev/kord/common/entity/optional/Optional; public final fun getApplication ()Ldev/kord/common/entity/optional/Optional; @@ -4266,6 +4267,7 @@ public final class dev/kord/core/cache/data/MessageData { public final fun getPinned ()Z public final fun getReactions ()Ldev/kord/common/entity/optional/Optional; public final fun getReferencedMessage ()Ldev/kord/common/entity/optional/Optional; + public final fun getRoleSubscriptionData ()Ldev/kord/common/entity/optional/Optional; public final fun getStickers ()Ldev/kord/common/entity/optional/Optional; public final fun getTimestamp ()Lkotlinx/datetime/Instant; public final fun getTts ()Z @@ -6487,6 +6489,7 @@ public final class dev/kord/core/entity/Message : dev/kord/core/behavior/Message public final fun getReactions ()Ljava/util/Set; public fun getReactors (Ldev/kord/core/entity/ReactionEmoji;)Lkotlinx/coroutines/flow/Flow; public final fun getReferencedMessage ()Ldev/kord/core/entity/Message; + public final fun getRoleSubscriptionData ()Ldev/kord/common/entity/RoleSubscription; public final fun getStickers ()Ljava/util/List; public fun getSupplier ()Ldev/kord/core/supplier/EntitySupplier; public final fun getTimestamp ()Lkotlinx/datetime/Instant; diff --git a/core/src/main/kotlin/cache/data/MessageData.kt b/core/src/main/kotlin/cache/data/MessageData.kt index 116c31c7b098..b8bf3de4d9d1 100644 --- a/core/src/main/kotlin/cache/data/MessageData.kt +++ b/core/src/main/kotlin/cache/data/MessageData.kt @@ -36,7 +36,8 @@ public data class MessageData( val stickers: Optional> = Optional.Missing(), val referencedMessage: Optional = Optional.Missing(), val interaction: Optional = Optional.Missing(), - val components: Optional> = Optional.Missing() + val components: Optional> = Optional.Missing(), + val roleSubscriptionData: Optional = Optional.Missing(), ) { public fun plus(selfId: Snowflake, reaction: MessageReactionAddData): MessageData { @@ -104,7 +105,8 @@ public data class MessageData( stickers = stickers, referencedMessage = referencedMessage, interaction = interaction, - components = components + components = components, + roleSubscriptionData = roleSubscriptionData ) } @@ -140,7 +142,8 @@ public data class MessageData( stickers.mapList { StickerItemData.from(it) }, referencedMessage.mapNotNull { from(it) }, interaction.map { MessageInteractionData.from(it) }, - components = components.mapList { ComponentData.from(it) } + components = components.mapList { ComponentData.from(it) }, + roleSubscriptionData = roleSubscriptionData ) } } diff --git a/core/src/main/kotlin/entity/Message.kt b/core/src/main/kotlin/entity/Message.kt index 912b2e6491c6..619eb4eca70b 100644 --- a/core/src/main/kotlin/entity/Message.kt +++ b/core/src/main/kotlin/entity/Message.kt @@ -1,9 +1,6 @@ package dev.kord.core.entity -import dev.kord.common.entity.InteractionType -import dev.kord.common.entity.MessageFlags -import dev.kord.common.entity.MessageType -import dev.kord.common.entity.Snowflake +import dev.kord.common.entity.* import dev.kord.common.entity.optional.mapNullable import dev.kord.common.entity.optional.orEmpty import dev.kord.common.entity.optional.unwrap @@ -288,6 +285,11 @@ public class Message( */ public val webhookId: Snowflake? get() = data.webhookId.value + /** + * The [RoleSubscription] data that triggered this message. + */ + public val roleSubscriptionData: RoleSubscription? get() = data.roleSubscriptionData.value + /** The [ActionRowComponent]s of this message. */ public val actionRows: List get() = data.components.orEmpty().map { ActionRowComponent(it) }