diff --git a/CHANGELOG.md b/CHANGELOG.md index 83399a485f..2b841162b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,6 @@ * `Serialization`: `1.6.0` -> `1.6.1` * `Ktor`: `2.3.5` -> `2.3.6` * `MicroUtils`: `0.20.12` -> `0.20.15` -* `Core`: - * New abstraction `ExtendedOtherPartiesChat` with `pinnedMessage` ## 9.3.0 diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/Extended.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/Extended.kt index 65256cb987..91d502f931 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/Extended.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/Extended.kt @@ -81,10 +81,7 @@ data class ExtendedPrivateChatImpl( @SerialName(emojiStatusCustomEmojiIdField) override val statusEmojiId: CustomEmojiId? = null, @SerialName(emojiStatusExpirationDateField) - override val statusEmojiExpiration: TelegramDate? = null, - @SerialName(pinnedMessageField) - @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) - override val pinnedMessage: Message? = null, + override val statusEmojiExpiration: TelegramDate? = null ) : ExtendedPrivateChat typealias ExtendedUser = ExtendedPrivateChatImpl diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ExtendedAbstracts.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ExtendedAbstracts.kt index bf9e7cc122..09ac9d6f4f 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ExtendedAbstracts.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ExtendedAbstracts.kt @@ -17,7 +17,7 @@ sealed interface ExtendedGroupChat : GroupChat, ExtendedPublicChat { } @Serializable(ExtendedChatSerializer.Companion::class) -sealed interface ExtendedPrivateChat : PrivateChat, ExtendedChatWithUsername, ExtendedOtherPartiesChat { +sealed interface ExtendedPrivateChat : PrivateChat, ExtendedChatWithUsername { val bio: String val hasPrivateForwards: Boolean val hasRestrictedVoiceAndVideoMessages: Boolean @@ -28,9 +28,11 @@ sealed interface ExtendedPrivateChat : PrivateChat, ExtendedChatWithUsername, Ex get() = hasPrivateForwards } -sealed interface ExtendedPublicChat : ExtendedOtherPartiesChat, PublicChat { +sealed interface ExtendedPublicChat : ExtendedChat, PublicChat { val description: String val inviteLink: String? + @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) + val pinnedMessage: Message? val membersHidden: Boolean } @@ -66,13 +68,6 @@ sealed interface ExtendedChat : Chat { val chatPhoto: ChatPhoto? } - -@Serializable(ExtendedChatSerializer.Companion::class) -sealed interface ExtendedOtherPartiesChat : ExtendedChat { - @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) - val pinnedMessage: Message? -} - @Serializable(ExtendedChatSerializer.Companion::class) sealed interface ExtendedChatWithUsername : UsernameChat, ExtendedChat { val activeUsernames: List diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt index 234934b60c..5dadba2ded 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt @@ -120,7 +120,6 @@ import dev.inmo.tgbotapi.types.chat.ExtendedChat import dev.inmo.tgbotapi.types.chat.ExtendedChatWithUsername import dev.inmo.tgbotapi.types.chat.ExtendedForumChat import dev.inmo.tgbotapi.types.chat.ExtendedGroupChat -import dev.inmo.tgbotapi.types.chat.ExtendedOtherPartiesChat import dev.inmo.tgbotapi.types.chat.ExtendedPrivateChat import dev.inmo.tgbotapi.types.chat.ExtendedPublicChat import dev.inmo.tgbotapi.types.chat.ExtendedSupergroupChat @@ -1966,15 +1965,6 @@ public inline fun Chat.extendedChatOrThrow(): ExtendedChat = this as public inline fun Chat.ifExtendedChat(block: (ExtendedChat) -> T): T? = extendedChatOrNull() ?.let(block) -public inline fun Chat.extendedOtherPartiesChatOrNull(): ExtendedOtherPartiesChat? = this as? - dev.inmo.tgbotapi.types.chat.ExtendedOtherPartiesChat - -public inline fun Chat.extendedOtherPartiesChatOrThrow(): ExtendedOtherPartiesChat = this as - dev.inmo.tgbotapi.types.chat.ExtendedOtherPartiesChat - -public inline fun Chat.ifExtendedOtherPartiesChat(block: (ExtendedOtherPartiesChat) -> T): T? = - extendedOtherPartiesChatOrNull() ?.let(block) - public inline fun Chat.extendedChatWithUsernameOrNull(): ExtendedChatWithUsername? = this as? dev.inmo.tgbotapi.types.chat.ExtendedChatWithUsername