From 1e948bce45cfbad8eeff8165292dcd30540ab2b7 Mon Sep 17 00:00:00 2001 From: Maya <145165822+MayaChen350@users.noreply.github.com> Date: Fri, 23 May 2025 14:16:43 -0400 Subject: [PATCH 1/3] Common ReactionEvent interface Added an interface for ReactionAddEvent and ReactionRemoveEvent to remove code duplication and allow better Generics --- .../kotlin/event/message/ReactionAddEvent.kt | 46 ++++------------- .../kotlin/event/message/ReactionEvent.kt | 51 +++++++++++++++++++ .../event/message/ReactionRemoveEvent.kt | 51 +++---------------- 3 files changed, 67 insertions(+), 81 deletions(-) create mode 100644 core/src/commonMain/kotlin/event/message/ReactionEvent.kt diff --git a/core/src/commonMain/kotlin/event/message/ReactionAddEvent.kt b/core/src/commonMain/kotlin/event/message/ReactionAddEvent.kt index 69dc6f2fc9ab..037a0541ae02 100644 --- a/core/src/commonMain/kotlin/event/message/ReactionAddEvent.kt +++ b/core/src/commonMain/kotlin/event/message/ReactionAddEvent.kt @@ -2,41 +2,26 @@ package dev.kord.core.event.message import dev.kord.common.entity.Snowflake import dev.kord.core.Kord -import dev.kord.core.behavior.GuildBehavior import dev.kord.core.behavior.MemberBehavior -import dev.kord.core.behavior.MessageBehavior import dev.kord.core.behavior.UserBehavior -import dev.kord.core.behavior.channel.MessageChannelBehavior -import dev.kord.core.entity.* -import dev.kord.core.entity.channel.MessageChannel -import dev.kord.core.event.Event +import dev.kord.core.entity.Member +import dev.kord.core.entity.ReactionEmoji +import dev.kord.core.entity.User import dev.kord.core.supplier.EntitySupplier import dev.kord.core.supplier.EntitySupplyStrategy -import dev.kord.core.supplier.getChannelOf -import dev.kord.core.supplier.getChannelOfOrNull public class ReactionAddEvent( - public val userId: Snowflake, - public val channelId: Snowflake, - public val messageId: Snowflake, - public val guildId: Snowflake?, - public val emoji: ReactionEmoji, + public override val userId: Snowflake, + public override val channelId: Snowflake, + public override val messageId: Snowflake, + public override val guildId: Snowflake?, + public override val emoji: ReactionEmoji, public val messageAuthorId: Snowflake?, override val kord: Kord, override val shard: Int, override val customContext: Any?, override val supplier: EntitySupplier = kord.defaultSupplier, -) : Event, Strategizable { - - public val channel: MessageChannelBehavior get() = MessageChannelBehavior(channelId, kord) - - public val guild: GuildBehavior? get() = guildId?.let { GuildBehavior(it, kord) } - - public val message: MessageBehavior get() = MessageBehavior(channelId, messageId, kord) - - public val user: UserBehavior get() = UserBehavior(userId, kord) - public val userAsMember: MemberBehavior? get() = guildId?.let { MemberBehavior(it, userId, kord) } - +) : ReactionEvent { public val messageAuthor: UserBehavior? get() = messageAuthorId?.let { UserBehavior(it, kord) } public val messageAuthorAsMember: MemberBehavior? get() = guildId?.let { guildId -> @@ -45,19 +30,6 @@ public class ReactionAddEvent( } } - public suspend fun getChannel(): MessageChannel = supplier.getChannelOf(channelId) - - public suspend fun getChannelOrNull(): MessageChannel? = supplier.getChannelOfOrNull(channelId) - - public suspend fun getGuildOrNull(): Guild? = guildId?.let { supplier.getGuildOrNull(it) } - - public suspend fun getMessage(): Message = supplier.getMessage(channelId = channelId, messageId = messageId) - public suspend fun getMessageOrNull(): Message? = supplier.getMessageOrNull(channelId = channelId, messageId = messageId) - - public suspend fun getUser(): User = supplier.getUser(userId) - public suspend fun getUserOrNull(): User? = supplier.getUserOrNull(userId) - public suspend fun getUserAsMember(): Member? = guildId?.let { supplier.getMemberOrNull(it, userId) } - public suspend fun getMessageAuthorOrNull(): User? = messageAuthorId?.let { supplier.getUserOrNull(it) } public suspend fun getMessageAuthorAsMemberOrNull(): Member? = guildId?.let { guildId -> messageAuthorId?.let { messageAuthorId -> diff --git a/core/src/commonMain/kotlin/event/message/ReactionEvent.kt b/core/src/commonMain/kotlin/event/message/ReactionEvent.kt new file mode 100644 index 000000000000..819c62a94229 --- /dev/null +++ b/core/src/commonMain/kotlin/event/message/ReactionEvent.kt @@ -0,0 +1,51 @@ +package dev.kord.core.event.message + +import dev.kord.common.entity.Snowflake +import dev.kord.core.behavior.GuildBehavior +import dev.kord.core.behavior.MemberBehavior +import dev.kord.core.behavior.MessageBehavior +import dev.kord.core.behavior.UserBehavior +import dev.kord.core.behavior.channel.MessageChannelBehavior +import dev.kord.core.entity.* +import dev.kord.core.entity.channel.MessageChannel +import dev.kord.core.event.Event +import dev.kord.core.supplier.getChannelOf +import dev.kord.core.supplier.getChannelOfOrNull + +public interface ReactionEvent : Event, Strategizable { + public val userId: Snowflake + + public val channelId: Snowflake + + public val messageId: Snowflake + + public val guildId: Snowflake? + + public val emoji: ReactionEmoji + + public val channel: MessageChannelBehavior get() = MessageChannelBehavior(channelId, kord) + + public val guild: GuildBehavior? get() = guildId?.let { GuildBehavior(it, kord) } + + public val message: MessageBehavior get() = MessageBehavior(channelId, messageId, kord) + + public val user: UserBehavior get() = UserBehavior(userId, kord) + + public val userAsMember: MemberBehavior? get() = guildId?.let { MemberBehavior(it, userId, kord) } + + public suspend fun getChannel(): MessageChannel = supplier.getChannelOf(channelId) + + public suspend fun getChannelOrNull(): MessageChannel? = supplier.getChannelOfOrNull(channelId) + + public suspend fun getGuildOrNull(): Guild? = guildId?.let { supplier.getGuildOrNull(it) } + + public suspend fun getMessage(): Message = supplier.getMessage(channelId = channelId, messageId = messageId) + + public suspend fun getMessageOrNull(): Message? = supplier.getMessageOrNull(channelId = channelId, messageId = messageId) + + public suspend fun getUser(): User = supplier.getUser(userId) + + public suspend fun getUserOrNull(): User? = supplier.getUserOrNull(userId) + + public suspend fun getUserAsMember(): Member? = guildId?.let { supplier.getMemberOrNull(it, userId) } +} \ No newline at end of file diff --git a/core/src/commonMain/kotlin/event/message/ReactionRemoveEvent.kt b/core/src/commonMain/kotlin/event/message/ReactionRemoveEvent.kt index ed92d0e2da0c..36c8b32a5a34 100644 --- a/core/src/commonMain/kotlin/event/message/ReactionRemoveEvent.kt +++ b/core/src/commonMain/kotlin/event/message/ReactionRemoveEvent.kt @@ -2,58 +2,21 @@ package dev.kord.core.event.message import dev.kord.common.entity.Snowflake import dev.kord.core.Kord -import dev.kord.core.behavior.GuildBehavior -import dev.kord.core.behavior.MemberBehavior -import dev.kord.core.behavior.MessageBehavior -import dev.kord.core.behavior.UserBehavior -import dev.kord.core.behavior.channel.MessageChannelBehavior -import dev.kord.core.entity.* -import dev.kord.core.entity.channel.MessageChannel -import dev.kord.core.event.Event +import dev.kord.core.entity.ReactionEmoji import dev.kord.core.supplier.EntitySupplier import dev.kord.core.supplier.EntitySupplyStrategy -import dev.kord.core.supplier.getChannelOf -import dev.kord.core.supplier.getChannelOfOrNull public class ReactionRemoveEvent( - public val userId: Snowflake, - public val channelId: Snowflake, - public val messageId: Snowflake, - public val guildId: Snowflake?, - public val emoji: ReactionEmoji, + public override val userId: Snowflake, + public override val channelId: Snowflake, + public override val messageId: Snowflake, + public override val guildId: Snowflake?, + public override val emoji: ReactionEmoji, override val kord: Kord, override val shard: Int, override val customContext: Any?, override val supplier: EntitySupplier = kord.defaultSupplier, -) : Event, Strategizable { - - public val channel: MessageChannelBehavior get() = MessageChannelBehavior(channelId, kord) - - public val guild: GuildBehavior? get() = guildId?.let { GuildBehavior(it, kord) } - - public val message: MessageBehavior get() = MessageBehavior(channelId, messageId, kord) - - public val user: UserBehavior get() = UserBehavior(userId, kord) - - public val userAsMember: MemberBehavior? get() = guildId?.let { MemberBehavior(it, userId, kord) } - - public suspend fun getChannel(): MessageChannel = supplier.getChannelOf(channelId) - - public suspend fun getChannelOrNull(): MessageChannel? = supplier.getChannelOfOrNull(channelId) - - public suspend fun getGuildOrNull(): Guild? = guildId?.let { supplier.getGuildOrNull(it) } - - public suspend fun getMessage(): Message = supplier.getMessage(channelId = channelId, messageId = messageId) - - public suspend fun getMessageOrNull(): Message? = supplier.getMessageOrNull(channelId = channelId, messageId = messageId) - - public suspend fun getUser(): User = supplier.getUser(userId) - - public suspend fun getUserOrNull(): User? = supplier.getUserOrNull(userId) - - public suspend fun getUserAsMember(): Member? = - guildId?.let { supplier.getMemberOrNull(guildId = guildId, userId = userId) } - +) : ReactionEvent { override fun withStrategy(strategy: EntitySupplyStrategy<*>): ReactionRemoveEvent = ReactionRemoveEvent(userId, channelId, messageId, guildId, emoji, kord, shard, customContext, strategy.supply(kord)) From b51430ba2fd23da5a0bdfc4da0ea7a83880b40d5 Mon Sep 17 00:00:00 2001 From: Maya <145165822+MayaChen350@users.noreply.github.com> Date: Fri, 23 May 2025 18:01:48 -0400 Subject: [PATCH 2/3] Api Dump --- core/api/core.api | 114 +++++++++++++++++++++++++++-------------- core/api/core.klib.api | 72 ++++++++++++-------------- 2 files changed, 110 insertions(+), 76 deletions(-) diff --git a/core/api/core.api b/core/api/core.api index dec9b378852e..de6f4b817037 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -13153,42 +13153,80 @@ public final class dev/kord/core/event/message/MessageUpdateEvent : dev/kord/cor public fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/message/MessageUpdateEvent; } -public final class dev/kord/core/event/message/ReactionAddEvent : dev/kord/core/entity/Strategizable, dev/kord/core/event/Event { +public final class dev/kord/core/event/message/ReactionAddEvent : dev/kord/core/event/message/ReactionEvent { public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/core/entity/ReactionEmoji;Ldev/kord/common/entity/Snowflake;Ldev/kord/core/Kord;ILjava/lang/Object;Ldev/kord/core/supplier/EntitySupplier;)V public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/core/entity/ReactionEmoji;Ldev/kord/common/entity/Snowflake;Ldev/kord/core/Kord;ILjava/lang/Object;Ldev/kord/core/supplier/EntitySupplier;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getChannel ()Ldev/kord/core/behavior/channel/MessageChannelBehavior; - public final fun getChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getChannelId ()Ldev/kord/common/entity/Snowflake; - public final fun getChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getChannel ()Ldev/kord/core/behavior/channel/MessageChannelBehavior; + public fun getChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getChannelId ()Ldev/kord/common/entity/Snowflake; + public fun getChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getCustomContext ()Ljava/lang/Object; - public final fun getEmoji ()Ldev/kord/core/entity/ReactionEmoji; + public fun getEmoji ()Ldev/kord/core/entity/ReactionEmoji; public fun getGateway ()Ldev/kord/gateway/Gateway; - public final fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; - public final fun getGuildId ()Ldev/kord/common/entity/Snowflake; - public final fun getGuildOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; + public fun getGuildId ()Ldev/kord/common/entity/Snowflake; + public fun getGuildOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getKord ()Ldev/kord/core/Kord; - public final fun getMessage ()Ldev/kord/core/behavior/MessageBehavior; - public final fun getMessage (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getMessage ()Ldev/kord/core/behavior/MessageBehavior; + public fun getMessage (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun getMessageAuthor ()Ldev/kord/core/behavior/UserBehavior; public final fun getMessageAuthorAsMember ()Ldev/kord/core/behavior/MemberBehavior; public final fun getMessageAuthorAsMemberOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun getMessageAuthorId ()Ldev/kord/common/entity/Snowflake; public final fun getMessageAuthorOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getMessageId ()Ldev/kord/common/entity/Snowflake; - public final fun getMessageOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getMessageId ()Ldev/kord/common/entity/Snowflake; + public fun getMessageOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getShard ()I public fun getSupplier ()Ldev/kord/core/supplier/EntitySupplier; - public final fun getUser ()Ldev/kord/core/behavior/UserBehavior; - public final fun getUser (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getUserAsMember ()Ldev/kord/core/behavior/MemberBehavior; - public final fun getUserAsMember (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getUserId ()Ldev/kord/common/entity/Snowflake; - public final fun getUserOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getUser ()Ldev/kord/core/behavior/UserBehavior; + public fun getUser (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getUserAsMember ()Ldev/kord/core/behavior/MemberBehavior; + public fun getUserAsMember (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getUserId ()Ldev/kord/common/entity/Snowflake; + public fun getUserOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun toString ()Ljava/lang/String; public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/Strategizable; public fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/message/ReactionAddEvent; } +public abstract interface class dev/kord/core/event/message/ReactionEvent : dev/kord/core/entity/Strategizable, dev/kord/core/event/Event { + public abstract fun getChannel ()Ldev/kord/core/behavior/channel/MessageChannelBehavior; + public abstract fun getChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getChannelId ()Ldev/kord/common/entity/Snowflake; + public abstract fun getChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getEmoji ()Ldev/kord/core/entity/ReactionEmoji; + public abstract fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; + public abstract fun getGuildId ()Ldev/kord/common/entity/Snowflake; + public abstract fun getGuildOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getMessage ()Ldev/kord/core/behavior/MessageBehavior; + public abstract fun getMessage (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getMessageId ()Ldev/kord/common/entity/Snowflake; + public abstract fun getMessageOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getUser ()Ldev/kord/core/behavior/UserBehavior; + public abstract fun getUser (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getUserAsMember ()Ldev/kord/core/behavior/MemberBehavior; + public abstract fun getUserAsMember (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getUserId ()Ldev/kord/common/entity/Snowflake; + public abstract fun getUserOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class dev/kord/core/event/message/ReactionEvent$DefaultImpls { + public static fun getChannel (Ldev/kord/core/event/message/ReactionEvent;)Ldev/kord/core/behavior/channel/MessageChannelBehavior; + public static fun getChannel (Ldev/kord/core/event/message/ReactionEvent;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getChannelOrNull (Ldev/kord/core/event/message/ReactionEvent;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getGateway (Ldev/kord/core/event/message/ReactionEvent;)Ldev/kord/gateway/Gateway; + public static fun getGuild (Ldev/kord/core/event/message/ReactionEvent;)Ldev/kord/core/behavior/GuildBehavior; + public static fun getGuildOrNull (Ldev/kord/core/event/message/ReactionEvent;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getMessage (Ldev/kord/core/event/message/ReactionEvent;)Ldev/kord/core/behavior/MessageBehavior; + public static fun getMessage (Ldev/kord/core/event/message/ReactionEvent;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getMessageOrNull (Ldev/kord/core/event/message/ReactionEvent;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getUser (Ldev/kord/core/event/message/ReactionEvent;)Ldev/kord/core/behavior/UserBehavior; + public static fun getUser (Ldev/kord/core/event/message/ReactionEvent;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getUserAsMember (Ldev/kord/core/event/message/ReactionEvent;)Ldev/kord/core/behavior/MemberBehavior; + public static fun getUserAsMember (Ldev/kord/core/event/message/ReactionEvent;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun getUserOrNull (Ldev/kord/core/event/message/ReactionEvent;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + public final class dev/kord/core/event/message/ReactionRemoveAllEvent : dev/kord/core/entity/Strategizable, dev/kord/core/event/Event { public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/core/Kord;ILjava/lang/Object;Ldev/kord/core/supplier/EntitySupplier;)V public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/core/Kord;ILjava/lang/Object;Ldev/kord/core/supplier/EntitySupplier;ILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -13240,32 +13278,32 @@ public final class dev/kord/core/event/message/ReactionRemoveEmojiEvent : dev/ko public fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/message/ReactionRemoveEmojiEvent; } -public final class dev/kord/core/event/message/ReactionRemoveEvent : dev/kord/core/entity/Strategizable, dev/kord/core/event/Event { +public final class dev/kord/core/event/message/ReactionRemoveEvent : dev/kord/core/event/message/ReactionEvent { public fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/core/entity/ReactionEmoji;Ldev/kord/core/Kord;ILjava/lang/Object;Ldev/kord/core/supplier/EntitySupplier;)V public synthetic fun (Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/common/entity/Snowflake;Ldev/kord/core/entity/ReactionEmoji;Ldev/kord/core/Kord;ILjava/lang/Object;Ldev/kord/core/supplier/EntitySupplier;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun getChannel ()Ldev/kord/core/behavior/channel/MessageChannelBehavior; - public final fun getChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getChannelId ()Ldev/kord/common/entity/Snowflake; - public final fun getChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getChannel ()Ldev/kord/core/behavior/channel/MessageChannelBehavior; + public fun getChannel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getChannelId ()Ldev/kord/common/entity/Snowflake; + public fun getChannelOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getCustomContext ()Ljava/lang/Object; - public final fun getEmoji ()Ldev/kord/core/entity/ReactionEmoji; + public fun getEmoji ()Ldev/kord/core/entity/ReactionEmoji; public fun getGateway ()Ldev/kord/gateway/Gateway; - public final fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; - public final fun getGuildId ()Ldev/kord/common/entity/Snowflake; - public final fun getGuildOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getGuild ()Ldev/kord/core/behavior/GuildBehavior; + public fun getGuildId ()Ldev/kord/common/entity/Snowflake; + public fun getGuildOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getKord ()Ldev/kord/core/Kord; - public final fun getMessage ()Ldev/kord/core/behavior/MessageBehavior; - public final fun getMessage (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getMessageId ()Ldev/kord/common/entity/Snowflake; - public final fun getMessageOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getMessage ()Ldev/kord/core/behavior/MessageBehavior; + public fun getMessage (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getMessageId ()Ldev/kord/common/entity/Snowflake; + public fun getMessageOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getShard ()I public fun getSupplier ()Ldev/kord/core/supplier/EntitySupplier; - public final fun getUser ()Ldev/kord/core/behavior/UserBehavior; - public final fun getUser (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getUserAsMember ()Ldev/kord/core/behavior/MemberBehavior; - public final fun getUserAsMember (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public final fun getUserId ()Ldev/kord/common/entity/Snowflake; - public final fun getUserOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getUser ()Ldev/kord/core/behavior/UserBehavior; + public fun getUser (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getUserAsMember ()Ldev/kord/core/behavior/MemberBehavior; + public fun getUserAsMember (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun getUserId ()Ldev/kord/common/entity/Snowflake; + public fun getUserOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun toString ()Ljava/lang/String; public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/Strategizable; public fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/message/ReactionRemoveEvent; diff --git a/core/api/core.klib.api b/core/api/core.klib.api index c9c8db0bd81e..4dfa50be504d 100644 --- a/core/api/core.klib.api +++ b/core/api/core.klib.api @@ -898,6 +898,38 @@ abstract interface dev.kord.core.event.channel/ChannelUpdateEvent : dev.kord.cor open fun (): dev.kord.core/Kord // dev.kord.core.event.channel/ChannelUpdateEvent.kord.|(){}[0] } +abstract interface dev.kord.core.event.message/ReactionEvent : dev.kord.core.entity/Strategizable, dev.kord.core.event/Event { // dev.kord.core.event.message/ReactionEvent|null[0] + abstract val channelId // dev.kord.core.event.message/ReactionEvent.channelId|{}channelId[0] + abstract fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionEvent.channelId.|(){}[0] + abstract val emoji // dev.kord.core.event.message/ReactionEvent.emoji|{}emoji[0] + abstract fun (): dev.kord.core.entity/ReactionEmoji // dev.kord.core.event.message/ReactionEvent.emoji.|(){}[0] + abstract val guildId // dev.kord.core.event.message/ReactionEvent.guildId|{}guildId[0] + abstract fun (): dev.kord.common.entity/Snowflake? // dev.kord.core.event.message/ReactionEvent.guildId.|(){}[0] + abstract val messageId // dev.kord.core.event.message/ReactionEvent.messageId|{}messageId[0] + abstract fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionEvent.messageId.|(){}[0] + abstract val userId // dev.kord.core.event.message/ReactionEvent.userId|{}userId[0] + abstract fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionEvent.userId.|(){}[0] + open val channel // dev.kord.core.event.message/ReactionEvent.channel|{}channel[0] + open fun (): dev.kord.core.behavior.channel/MessageChannelBehavior // dev.kord.core.event.message/ReactionEvent.channel.|(){}[0] + open val guild // dev.kord.core.event.message/ReactionEvent.guild|{}guild[0] + open fun (): dev.kord.core.behavior/GuildBehavior? // dev.kord.core.event.message/ReactionEvent.guild.|(){}[0] + open val message // dev.kord.core.event.message/ReactionEvent.message|{}message[0] + open fun (): dev.kord.core.behavior/MessageBehavior // dev.kord.core.event.message/ReactionEvent.message.|(){}[0] + open val user // dev.kord.core.event.message/ReactionEvent.user|{}user[0] + open fun (): dev.kord.core.behavior/UserBehavior // dev.kord.core.event.message/ReactionEvent.user.|(){}[0] + open val userAsMember // dev.kord.core.event.message/ReactionEvent.userAsMember|{}userAsMember[0] + open fun (): dev.kord.core.behavior/MemberBehavior? // dev.kord.core.event.message/ReactionEvent.userAsMember.|(){}[0] + + open suspend fun getChannel(): dev.kord.core.entity.channel/MessageChannel // dev.kord.core.event.message/ReactionEvent.getChannel|getChannel(){}[0] + open suspend fun getChannelOrNull(): dev.kord.core.entity.channel/MessageChannel? // dev.kord.core.event.message/ReactionEvent.getChannelOrNull|getChannelOrNull(){}[0] + open suspend fun getGuildOrNull(): dev.kord.core.entity/Guild? // dev.kord.core.event.message/ReactionEvent.getGuildOrNull|getGuildOrNull(){}[0] + open suspend fun getMessage(): dev.kord.core.entity/Message // dev.kord.core.event.message/ReactionEvent.getMessage|getMessage(){}[0] + open suspend fun getMessageOrNull(): dev.kord.core.entity/Message? // dev.kord.core.event.message/ReactionEvent.getMessageOrNull|getMessageOrNull(){}[0] + open suspend fun getUser(): dev.kord.core.entity/User // dev.kord.core.event.message/ReactionEvent.getUser|getUser(){}[0] + open suspend fun getUserAsMember(): dev.kord.core.entity/Member? // dev.kord.core.event.message/ReactionEvent.getUserAsMember|getUserAsMember(){}[0] + open suspend fun getUserOrNull(): dev.kord.core.entity/User? // dev.kord.core.event.message/ReactionEvent.getUserOrNull|getUserOrNull(){}[0] +} + abstract interface dev.kord.core.event/Event : dev.kord.core/KordObject { // dev.kord.core.event/Event|null[0] abstract val customContext // dev.kord.core.event/Event.customContext|{}customContext[0] abstract fun (): kotlin/Any? // dev.kord.core.event/Event.customContext.|(){}[0] @@ -10835,25 +10867,19 @@ final class dev.kord.core.event.message/MessageUpdateEvent : dev.kord.core.entit final suspend fun getMessageOrNull(): dev.kord.core.entity/Message? // dev.kord.core.event.message/MessageUpdateEvent.getMessageOrNull|getMessageOrNull(){}[0] } -final class dev.kord.core.event.message/ReactionAddEvent : dev.kord.core.entity/Strategizable, dev.kord.core.event/Event { // dev.kord.core.event.message/ReactionAddEvent|null[0] +final class dev.kord.core.event.message/ReactionAddEvent : dev.kord.core.event.message/ReactionEvent { // dev.kord.core.event.message/ReactionAddEvent|null[0] constructor (dev.kord.common.entity/Snowflake, dev.kord.common.entity/Snowflake, dev.kord.common.entity/Snowflake, dev.kord.common.entity/Snowflake?, dev.kord.core.entity/ReactionEmoji, dev.kord.common.entity/Snowflake?, dev.kord.core/Kord, kotlin/Int, kotlin/Any?, dev.kord.core.supplier/EntitySupplier = ...) // dev.kord.core.event.message/ReactionAddEvent.|(dev.kord.common.entity.Snowflake;dev.kord.common.entity.Snowflake;dev.kord.common.entity.Snowflake;dev.kord.common.entity.Snowflake?;dev.kord.core.entity.ReactionEmoji;dev.kord.common.entity.Snowflake?;dev.kord.core.Kord;kotlin.Int;kotlin.Any?;dev.kord.core.supplier.EntitySupplier){}[0] - final val channel // dev.kord.core.event.message/ReactionAddEvent.channel|{}channel[0] - final fun (): dev.kord.core.behavior.channel/MessageChannelBehavior // dev.kord.core.event.message/ReactionAddEvent.channel.|(){}[0] final val channelId // dev.kord.core.event.message/ReactionAddEvent.channelId|{}channelId[0] final fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionAddEvent.channelId.|(){}[0] final val customContext // dev.kord.core.event.message/ReactionAddEvent.customContext|{}customContext[0] final fun (): kotlin/Any? // dev.kord.core.event.message/ReactionAddEvent.customContext.|(){}[0] final val emoji // dev.kord.core.event.message/ReactionAddEvent.emoji|{}emoji[0] final fun (): dev.kord.core.entity/ReactionEmoji // dev.kord.core.event.message/ReactionAddEvent.emoji.|(){}[0] - final val guild // dev.kord.core.event.message/ReactionAddEvent.guild|{}guild[0] - final fun (): dev.kord.core.behavior/GuildBehavior? // dev.kord.core.event.message/ReactionAddEvent.guild.|(){}[0] final val guildId // dev.kord.core.event.message/ReactionAddEvent.guildId|{}guildId[0] final fun (): dev.kord.common.entity/Snowflake? // dev.kord.core.event.message/ReactionAddEvent.guildId.|(){}[0] final val kord // dev.kord.core.event.message/ReactionAddEvent.kord|{}kord[0] final fun (): dev.kord.core/Kord // dev.kord.core.event.message/ReactionAddEvent.kord.|(){}[0] - final val message // dev.kord.core.event.message/ReactionAddEvent.message|{}message[0] - final fun (): dev.kord.core.behavior/MessageBehavior // dev.kord.core.event.message/ReactionAddEvent.message.|(){}[0] final val messageAuthor // dev.kord.core.event.message/ReactionAddEvent.messageAuthor|{}messageAuthor[0] final fun (): dev.kord.core.behavior/UserBehavior? // dev.kord.core.event.message/ReactionAddEvent.messageAuthor.|(){}[0] final val messageAuthorAsMember // dev.kord.core.event.message/ReactionAddEvent.messageAuthorAsMember|{}messageAuthorAsMember[0] @@ -10866,25 +10892,13 @@ final class dev.kord.core.event.message/ReactionAddEvent : dev.kord.core.entity/ final fun (): kotlin/Int // dev.kord.core.event.message/ReactionAddEvent.shard.|(){}[0] final val supplier // dev.kord.core.event.message/ReactionAddEvent.supplier|{}supplier[0] final fun (): dev.kord.core.supplier/EntitySupplier // dev.kord.core.event.message/ReactionAddEvent.supplier.|(){}[0] - final val user // dev.kord.core.event.message/ReactionAddEvent.user|{}user[0] - final fun (): dev.kord.core.behavior/UserBehavior // dev.kord.core.event.message/ReactionAddEvent.user.|(){}[0] - final val userAsMember // dev.kord.core.event.message/ReactionAddEvent.userAsMember|{}userAsMember[0] - final fun (): dev.kord.core.behavior/MemberBehavior? // dev.kord.core.event.message/ReactionAddEvent.userAsMember.|(){}[0] final val userId // dev.kord.core.event.message/ReactionAddEvent.userId|{}userId[0] final fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionAddEvent.userId.|(){}[0] final fun toString(): kotlin/String // dev.kord.core.event.message/ReactionAddEvent.toString|toString(){}[0] final fun withStrategy(dev.kord.core.supplier/EntitySupplyStrategy<*>): dev.kord.core.event.message/ReactionAddEvent // dev.kord.core.event.message/ReactionAddEvent.withStrategy|withStrategy(dev.kord.core.supplier.EntitySupplyStrategy<*>){}[0] - final suspend fun getChannel(): dev.kord.core.entity.channel/MessageChannel // dev.kord.core.event.message/ReactionAddEvent.getChannel|getChannel(){}[0] - final suspend fun getChannelOrNull(): dev.kord.core.entity.channel/MessageChannel? // dev.kord.core.event.message/ReactionAddEvent.getChannelOrNull|getChannelOrNull(){}[0] - final suspend fun getGuildOrNull(): dev.kord.core.entity/Guild? // dev.kord.core.event.message/ReactionAddEvent.getGuildOrNull|getGuildOrNull(){}[0] - final suspend fun getMessage(): dev.kord.core.entity/Message // dev.kord.core.event.message/ReactionAddEvent.getMessage|getMessage(){}[0] final suspend fun getMessageAuthorAsMemberOrNull(): dev.kord.core.entity/Member? // dev.kord.core.event.message/ReactionAddEvent.getMessageAuthorAsMemberOrNull|getMessageAuthorAsMemberOrNull(){}[0] final suspend fun getMessageAuthorOrNull(): dev.kord.core.entity/User? // dev.kord.core.event.message/ReactionAddEvent.getMessageAuthorOrNull|getMessageAuthorOrNull(){}[0] - final suspend fun getMessageOrNull(): dev.kord.core.entity/Message? // dev.kord.core.event.message/ReactionAddEvent.getMessageOrNull|getMessageOrNull(){}[0] - final suspend fun getUser(): dev.kord.core.entity/User // dev.kord.core.event.message/ReactionAddEvent.getUser|getUser(){}[0] - final suspend fun getUserAsMember(): dev.kord.core.entity/Member? // dev.kord.core.event.message/ReactionAddEvent.getUserAsMember|getUserAsMember(){}[0] - final suspend fun getUserOrNull(): dev.kord.core.entity/User? // dev.kord.core.event.message/ReactionAddEvent.getUserOrNull|getUserOrNull(){}[0] } final class dev.kord.core.event.message/ReactionRemoveAllEvent : dev.kord.core.entity/Strategizable, dev.kord.core.event/Event { // dev.kord.core.event.message/ReactionRemoveAllEvent|null[0] @@ -10958,48 +10972,30 @@ final class dev.kord.core.event.message/ReactionRemoveEmojiEvent : dev.kord.core final suspend fun getMessageOrNull(): dev.kord.core.entity/Message? // dev.kord.core.event.message/ReactionRemoveEmojiEvent.getMessageOrNull|getMessageOrNull(){}[0] } -final class dev.kord.core.event.message/ReactionRemoveEvent : dev.kord.core.entity/Strategizable, dev.kord.core.event/Event { // dev.kord.core.event.message/ReactionRemoveEvent|null[0] +final class dev.kord.core.event.message/ReactionRemoveEvent : dev.kord.core.event.message/ReactionEvent { // dev.kord.core.event.message/ReactionRemoveEvent|null[0] constructor (dev.kord.common.entity/Snowflake, dev.kord.common.entity/Snowflake, dev.kord.common.entity/Snowflake, dev.kord.common.entity/Snowflake?, dev.kord.core.entity/ReactionEmoji, dev.kord.core/Kord, kotlin/Int, kotlin/Any?, dev.kord.core.supplier/EntitySupplier = ...) // dev.kord.core.event.message/ReactionRemoveEvent.|(dev.kord.common.entity.Snowflake;dev.kord.common.entity.Snowflake;dev.kord.common.entity.Snowflake;dev.kord.common.entity.Snowflake?;dev.kord.core.entity.ReactionEmoji;dev.kord.core.Kord;kotlin.Int;kotlin.Any?;dev.kord.core.supplier.EntitySupplier){}[0] - final val channel // dev.kord.core.event.message/ReactionRemoveEvent.channel|{}channel[0] - final fun (): dev.kord.core.behavior.channel/MessageChannelBehavior // dev.kord.core.event.message/ReactionRemoveEvent.channel.|(){}[0] final val channelId // dev.kord.core.event.message/ReactionRemoveEvent.channelId|{}channelId[0] final fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionRemoveEvent.channelId.|(){}[0] final val customContext // dev.kord.core.event.message/ReactionRemoveEvent.customContext|{}customContext[0] final fun (): kotlin/Any? // dev.kord.core.event.message/ReactionRemoveEvent.customContext.|(){}[0] final val emoji // dev.kord.core.event.message/ReactionRemoveEvent.emoji|{}emoji[0] final fun (): dev.kord.core.entity/ReactionEmoji // dev.kord.core.event.message/ReactionRemoveEvent.emoji.|(){}[0] - final val guild // dev.kord.core.event.message/ReactionRemoveEvent.guild|{}guild[0] - final fun (): dev.kord.core.behavior/GuildBehavior? // dev.kord.core.event.message/ReactionRemoveEvent.guild.|(){}[0] final val guildId // dev.kord.core.event.message/ReactionRemoveEvent.guildId|{}guildId[0] final fun (): dev.kord.common.entity/Snowflake? // dev.kord.core.event.message/ReactionRemoveEvent.guildId.|(){}[0] final val kord // dev.kord.core.event.message/ReactionRemoveEvent.kord|{}kord[0] final fun (): dev.kord.core/Kord // dev.kord.core.event.message/ReactionRemoveEvent.kord.|(){}[0] - final val message // dev.kord.core.event.message/ReactionRemoveEvent.message|{}message[0] - final fun (): dev.kord.core.behavior/MessageBehavior // dev.kord.core.event.message/ReactionRemoveEvent.message.|(){}[0] final val messageId // dev.kord.core.event.message/ReactionRemoveEvent.messageId|{}messageId[0] final fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionRemoveEvent.messageId.|(){}[0] final val shard // dev.kord.core.event.message/ReactionRemoveEvent.shard|{}shard[0] final fun (): kotlin/Int // dev.kord.core.event.message/ReactionRemoveEvent.shard.|(){}[0] final val supplier // dev.kord.core.event.message/ReactionRemoveEvent.supplier|{}supplier[0] final fun (): dev.kord.core.supplier/EntitySupplier // dev.kord.core.event.message/ReactionRemoveEvent.supplier.|(){}[0] - final val user // dev.kord.core.event.message/ReactionRemoveEvent.user|{}user[0] - final fun (): dev.kord.core.behavior/UserBehavior // dev.kord.core.event.message/ReactionRemoveEvent.user.|(){}[0] - final val userAsMember // dev.kord.core.event.message/ReactionRemoveEvent.userAsMember|{}userAsMember[0] - final fun (): dev.kord.core.behavior/MemberBehavior? // dev.kord.core.event.message/ReactionRemoveEvent.userAsMember.|(){}[0] final val userId // dev.kord.core.event.message/ReactionRemoveEvent.userId|{}userId[0] final fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionRemoveEvent.userId.|(){}[0] final fun toString(): kotlin/String // dev.kord.core.event.message/ReactionRemoveEvent.toString|toString(){}[0] final fun withStrategy(dev.kord.core.supplier/EntitySupplyStrategy<*>): dev.kord.core.event.message/ReactionRemoveEvent // dev.kord.core.event.message/ReactionRemoveEvent.withStrategy|withStrategy(dev.kord.core.supplier.EntitySupplyStrategy<*>){}[0] - final suspend fun getChannel(): dev.kord.core.entity.channel/MessageChannel // dev.kord.core.event.message/ReactionRemoveEvent.getChannel|getChannel(){}[0] - final suspend fun getChannelOrNull(): dev.kord.core.entity.channel/MessageChannel? // dev.kord.core.event.message/ReactionRemoveEvent.getChannelOrNull|getChannelOrNull(){}[0] - final suspend fun getGuildOrNull(): dev.kord.core.entity/Guild? // dev.kord.core.event.message/ReactionRemoveEvent.getGuildOrNull|getGuildOrNull(){}[0] - final suspend fun getMessage(): dev.kord.core.entity/Message // dev.kord.core.event.message/ReactionRemoveEvent.getMessage|getMessage(){}[0] - final suspend fun getMessageOrNull(): dev.kord.core.entity/Message? // dev.kord.core.event.message/ReactionRemoveEvent.getMessageOrNull|getMessageOrNull(){}[0] - final suspend fun getUser(): dev.kord.core.entity/User // dev.kord.core.event.message/ReactionRemoveEvent.getUser|getUser(){}[0] - final suspend fun getUserAsMember(): dev.kord.core.entity/Member? // dev.kord.core.event.message/ReactionRemoveEvent.getUserAsMember|getUserAsMember(){}[0] - final suspend fun getUserOrNull(): dev.kord.core.entity/User? // dev.kord.core.event.message/ReactionRemoveEvent.getUserOrNull|getUserOrNull(){}[0] } final class dev.kord.core.event.monetization/EntitlementCreateEvent : dev.kord.core.event/Event { // dev.kord.core.event.monetization/EntitlementCreateEvent|null[0] From 26a80de45a359e37e279f51e6da9ad1c852191a8 Mon Sep 17 00:00:00 2001 From: Maya <145165822+MayaChen350@users.noreply.github.com> Date: Sun, 25 May 2025 15:19:17 -0400 Subject: [PATCH 3/3] Changes after reviews --- core/api/core.api | 3 + core/api/core.klib.api | 65 ++++++++++--------- .../kotlin/event/message/ReactionAddEvent.kt | 14 ++-- .../kotlin/event/message/ReactionEvent.kt | 5 +- .../event/message/ReactionRemoveEvent.kt | 22 +++++-- 5 files changed, 63 insertions(+), 46 deletions(-) diff --git a/core/api/core.api b/core/api/core.api index de6f4b817037..3280e9b76f3b 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -13187,6 +13187,7 @@ public final class dev/kord/core/event/message/ReactionAddEvent : dev/kord/core/ public fun toString ()Ljava/lang/String; public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/Strategizable; public fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/message/ReactionAddEvent; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/message/ReactionEvent; } public abstract interface class dev/kord/core/event/message/ReactionEvent : dev/kord/core/entity/Strategizable, dev/kord/core/event/Event { @@ -13208,6 +13209,7 @@ public abstract interface class dev/kord/core/event/message/ReactionEvent : dev/ public abstract fun getUserAsMember (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun getUserId ()Ldev/kord/common/entity/Snowflake; public abstract fun getUserOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/message/ReactionEvent; } public final class dev/kord/core/event/message/ReactionEvent$DefaultImpls { @@ -13306,6 +13308,7 @@ public final class dev/kord/core/event/message/ReactionRemoveEvent : dev/kord/co public fun getUserOrNull (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun toString ()Ljava/lang/String; public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/entity/Strategizable; + public synthetic fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/message/ReactionEvent; public fun withStrategy (Ldev/kord/core/supplier/EntitySupplyStrategy;)Ldev/kord/core/event/message/ReactionRemoveEvent; } diff --git a/core/api/core.klib.api b/core/api/core.klib.api index 4dfa50be504d..e133e56958a8 100644 --- a/core/api/core.klib.api +++ b/core/api/core.klib.api @@ -898,38 +898,6 @@ abstract interface dev.kord.core.event.channel/ChannelUpdateEvent : dev.kord.cor open fun (): dev.kord.core/Kord // dev.kord.core.event.channel/ChannelUpdateEvent.kord.|(){}[0] } -abstract interface dev.kord.core.event.message/ReactionEvent : dev.kord.core.entity/Strategizable, dev.kord.core.event/Event { // dev.kord.core.event.message/ReactionEvent|null[0] - abstract val channelId // dev.kord.core.event.message/ReactionEvent.channelId|{}channelId[0] - abstract fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionEvent.channelId.|(){}[0] - abstract val emoji // dev.kord.core.event.message/ReactionEvent.emoji|{}emoji[0] - abstract fun (): dev.kord.core.entity/ReactionEmoji // dev.kord.core.event.message/ReactionEvent.emoji.|(){}[0] - abstract val guildId // dev.kord.core.event.message/ReactionEvent.guildId|{}guildId[0] - abstract fun (): dev.kord.common.entity/Snowflake? // dev.kord.core.event.message/ReactionEvent.guildId.|(){}[0] - abstract val messageId // dev.kord.core.event.message/ReactionEvent.messageId|{}messageId[0] - abstract fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionEvent.messageId.|(){}[0] - abstract val userId // dev.kord.core.event.message/ReactionEvent.userId|{}userId[0] - abstract fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionEvent.userId.|(){}[0] - open val channel // dev.kord.core.event.message/ReactionEvent.channel|{}channel[0] - open fun (): dev.kord.core.behavior.channel/MessageChannelBehavior // dev.kord.core.event.message/ReactionEvent.channel.|(){}[0] - open val guild // dev.kord.core.event.message/ReactionEvent.guild|{}guild[0] - open fun (): dev.kord.core.behavior/GuildBehavior? // dev.kord.core.event.message/ReactionEvent.guild.|(){}[0] - open val message // dev.kord.core.event.message/ReactionEvent.message|{}message[0] - open fun (): dev.kord.core.behavior/MessageBehavior // dev.kord.core.event.message/ReactionEvent.message.|(){}[0] - open val user // dev.kord.core.event.message/ReactionEvent.user|{}user[0] - open fun (): dev.kord.core.behavior/UserBehavior // dev.kord.core.event.message/ReactionEvent.user.|(){}[0] - open val userAsMember // dev.kord.core.event.message/ReactionEvent.userAsMember|{}userAsMember[0] - open fun (): dev.kord.core.behavior/MemberBehavior? // dev.kord.core.event.message/ReactionEvent.userAsMember.|(){}[0] - - open suspend fun getChannel(): dev.kord.core.entity.channel/MessageChannel // dev.kord.core.event.message/ReactionEvent.getChannel|getChannel(){}[0] - open suspend fun getChannelOrNull(): dev.kord.core.entity.channel/MessageChannel? // dev.kord.core.event.message/ReactionEvent.getChannelOrNull|getChannelOrNull(){}[0] - open suspend fun getGuildOrNull(): dev.kord.core.entity/Guild? // dev.kord.core.event.message/ReactionEvent.getGuildOrNull|getGuildOrNull(){}[0] - open suspend fun getMessage(): dev.kord.core.entity/Message // dev.kord.core.event.message/ReactionEvent.getMessage|getMessage(){}[0] - open suspend fun getMessageOrNull(): dev.kord.core.entity/Message? // dev.kord.core.event.message/ReactionEvent.getMessageOrNull|getMessageOrNull(){}[0] - open suspend fun getUser(): dev.kord.core.entity/User // dev.kord.core.event.message/ReactionEvent.getUser|getUser(){}[0] - open suspend fun getUserAsMember(): dev.kord.core.entity/Member? // dev.kord.core.event.message/ReactionEvent.getUserAsMember|getUserAsMember(){}[0] - open suspend fun getUserOrNull(): dev.kord.core.entity/User? // dev.kord.core.event.message/ReactionEvent.getUserOrNull|getUserOrNull(){}[0] -} - abstract interface dev.kord.core.event/Event : dev.kord.core/KordObject { // dev.kord.core.event/Event|null[0] abstract val customContext // dev.kord.core.event/Event.customContext|{}customContext[0] abstract fun (): kotlin/Any? // dev.kord.core.event/Event.customContext.|(){}[0] @@ -1728,6 +1696,39 @@ sealed interface dev.kord.core.event.interaction/UserCommandInteractionCreateEve abstract fun (): dev.kord.core.entity.interaction/UserCommandInteraction // dev.kord.core.event.interaction/UserCommandInteractionCreateEvent.interaction.|(){}[0] } +sealed interface dev.kord.core.event.message/ReactionEvent : dev.kord.core.entity/Strategizable, dev.kord.core.event/Event { // dev.kord.core.event.message/ReactionEvent|null[0] + abstract val channelId // dev.kord.core.event.message/ReactionEvent.channelId|{}channelId[0] + abstract fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionEvent.channelId.|(){}[0] + abstract val emoji // dev.kord.core.event.message/ReactionEvent.emoji|{}emoji[0] + abstract fun (): dev.kord.core.entity/ReactionEmoji // dev.kord.core.event.message/ReactionEvent.emoji.|(){}[0] + abstract val guildId // dev.kord.core.event.message/ReactionEvent.guildId|{}guildId[0] + abstract fun (): dev.kord.common.entity/Snowflake? // dev.kord.core.event.message/ReactionEvent.guildId.|(){}[0] + abstract val messageId // dev.kord.core.event.message/ReactionEvent.messageId|{}messageId[0] + abstract fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionEvent.messageId.|(){}[0] + abstract val userId // dev.kord.core.event.message/ReactionEvent.userId|{}userId[0] + abstract fun (): dev.kord.common.entity/Snowflake // dev.kord.core.event.message/ReactionEvent.userId.|(){}[0] + open val channel // dev.kord.core.event.message/ReactionEvent.channel|{}channel[0] + open fun (): dev.kord.core.behavior.channel/MessageChannelBehavior // dev.kord.core.event.message/ReactionEvent.channel.|(){}[0] + open val guild // dev.kord.core.event.message/ReactionEvent.guild|{}guild[0] + open fun (): dev.kord.core.behavior/GuildBehavior? // dev.kord.core.event.message/ReactionEvent.guild.|(){}[0] + open val message // dev.kord.core.event.message/ReactionEvent.message|{}message[0] + open fun (): dev.kord.core.behavior/MessageBehavior // dev.kord.core.event.message/ReactionEvent.message.|(){}[0] + open val user // dev.kord.core.event.message/ReactionEvent.user|{}user[0] + open fun (): dev.kord.core.behavior/UserBehavior // dev.kord.core.event.message/ReactionEvent.user.|(){}[0] + open val userAsMember // dev.kord.core.event.message/ReactionEvent.userAsMember|{}userAsMember[0] + open fun (): dev.kord.core.behavior/MemberBehavior? // dev.kord.core.event.message/ReactionEvent.userAsMember.|(){}[0] + + abstract fun withStrategy(dev.kord.core.supplier/EntitySupplyStrategy<*>): dev.kord.core.event.message/ReactionEvent // dev.kord.core.event.message/ReactionEvent.withStrategy|withStrategy(dev.kord.core.supplier.EntitySupplyStrategy<*>){}[0] + open suspend fun getChannel(): dev.kord.core.entity.channel/MessageChannel // dev.kord.core.event.message/ReactionEvent.getChannel|getChannel(){}[0] + open suspend fun getChannelOrNull(): dev.kord.core.entity.channel/MessageChannel? // dev.kord.core.event.message/ReactionEvent.getChannelOrNull|getChannelOrNull(){}[0] + open suspend fun getGuildOrNull(): dev.kord.core.entity/Guild? // dev.kord.core.event.message/ReactionEvent.getGuildOrNull|getGuildOrNull(){}[0] + open suspend fun getMessage(): dev.kord.core.entity/Message // dev.kord.core.event.message/ReactionEvent.getMessage|getMessage(){}[0] + open suspend fun getMessageOrNull(): dev.kord.core.entity/Message? // dev.kord.core.event.message/ReactionEvent.getMessageOrNull|getMessageOrNull(){}[0] + open suspend fun getUser(): dev.kord.core.entity/User // dev.kord.core.event.message/ReactionEvent.getUser|getUser(){}[0] + open suspend fun getUserAsMember(): dev.kord.core.entity/Member? // dev.kord.core.event.message/ReactionEvent.getUserAsMember|getUserAsMember(){}[0] + open suspend fun getUserOrNull(): dev.kord.core.entity/User? // dev.kord.core.event.message/ReactionEvent.getUserOrNull|getUserOrNull(){}[0] +} + abstract class dev.kord.core.builder.kord/BaseKordBuilder { // dev.kord.core.builder.kord/BaseKordBuilder|null[0] final val token // dev.kord.core.builder.kord/BaseKordBuilder.token|{}token[0] final fun (): kotlin/String // dev.kord.core.builder.kord/BaseKordBuilder.token.|(){}[0] diff --git a/core/src/commonMain/kotlin/event/message/ReactionAddEvent.kt b/core/src/commonMain/kotlin/event/message/ReactionAddEvent.kt index 037a0541ae02..b67b65a37689 100644 --- a/core/src/commonMain/kotlin/event/message/ReactionAddEvent.kt +++ b/core/src/commonMain/kotlin/event/message/ReactionAddEvent.kt @@ -11,11 +11,11 @@ import dev.kord.core.supplier.EntitySupplier import dev.kord.core.supplier.EntitySupplyStrategy public class ReactionAddEvent( - public override val userId: Snowflake, - public override val channelId: Snowflake, - public override val messageId: Snowflake, - public override val guildId: Snowflake?, - public override val emoji: ReactionEmoji, + override val userId: Snowflake, + override val channelId: Snowflake, + override val messageId: Snowflake, + override val guildId: Snowflake?, + override val emoji: ReactionEmoji, public val messageAuthorId: Snowflake?, override val kord: Kord, override val shard: Int, @@ -51,6 +51,6 @@ public class ReactionAddEvent( ) override fun toString(): String = "ReactionAddEvent(userId=$userId, channelId=$channelId, messageId=$messageId, " + - "guildId=$guildId, emoji=$emoji, messageAuthorId=$messageAuthorId, kord=$kord, shard=$shard, " + - "customContext=$customContext, supplier=$supplier)" + "guildId=$guildId, emoji=$emoji, messageAuthorId=$messageAuthorId, kord=$kord, shard=$shard, " + + "customContext=$customContext, supplier=$supplier)" } diff --git a/core/src/commonMain/kotlin/event/message/ReactionEvent.kt b/core/src/commonMain/kotlin/event/message/ReactionEvent.kt index 819c62a94229..23b445a13f1f 100644 --- a/core/src/commonMain/kotlin/event/message/ReactionEvent.kt +++ b/core/src/commonMain/kotlin/event/message/ReactionEvent.kt @@ -9,10 +9,11 @@ import dev.kord.core.behavior.channel.MessageChannelBehavior import dev.kord.core.entity.* import dev.kord.core.entity.channel.MessageChannel import dev.kord.core.event.Event +import dev.kord.core.supplier.EntitySupplyStrategy import dev.kord.core.supplier.getChannelOf import dev.kord.core.supplier.getChannelOfOrNull -public interface ReactionEvent : Event, Strategizable { +public sealed interface ReactionEvent : Event, Strategizable { public val userId: Snowflake public val channelId: Snowflake @@ -48,4 +49,6 @@ public interface ReactionEvent : Event, Strategizable { public suspend fun getUserOrNull(): User? = supplier.getUserOrNull(userId) public suspend fun getUserAsMember(): Member? = guildId?.let { supplier.getMemberOrNull(it, userId) } + + override fun withStrategy(strategy: EntitySupplyStrategy<*>): ReactionEvent } \ No newline at end of file diff --git a/core/src/commonMain/kotlin/event/message/ReactionRemoveEvent.kt b/core/src/commonMain/kotlin/event/message/ReactionRemoveEvent.kt index 36c8b32a5a34..612062cd3f49 100644 --- a/core/src/commonMain/kotlin/event/message/ReactionRemoveEvent.kt +++ b/core/src/commonMain/kotlin/event/message/ReactionRemoveEvent.kt @@ -7,18 +7,28 @@ import dev.kord.core.supplier.EntitySupplier import dev.kord.core.supplier.EntitySupplyStrategy public class ReactionRemoveEvent( - public override val userId: Snowflake, - public override val channelId: Snowflake, - public override val messageId: Snowflake, - public override val guildId: Snowflake?, - public override val emoji: ReactionEmoji, + override val userId: Snowflake, + override val channelId: Snowflake, + override val messageId: Snowflake, + override val guildId: Snowflake?, + override val emoji: ReactionEmoji, override val kord: Kord, override val shard: Int, override val customContext: Any?, override val supplier: EntitySupplier = kord.defaultSupplier, ) : ReactionEvent { override fun withStrategy(strategy: EntitySupplyStrategy<*>): ReactionRemoveEvent = - ReactionRemoveEvent(userId, channelId, messageId, guildId, emoji, kord, shard, customContext, strategy.supply(kord)) + ReactionRemoveEvent( + userId, + channelId, + messageId, + guildId, + emoji, + kord, + shard, + customContext, + strategy.supply(kord) + ) override fun toString(): String { return "ReactionRemoveEvent(userId=$userId, channelId=$channelId, messageId=$messageId, guildId=$guildId, emoji=$emoji, kord=$kord, shard=$shard, supplier=$supplier)"