From 1091dbdb5ec376f69f37f15f3f2316556b51d025 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 30 Jun 2026 16:56:58 +0600 Subject: [PATCH] Rename RichMessage -> RichTextInfo The Telegram type backing rich-formatted message info is RichMessage, but the class name collided conceptually with the in-progress rich-message builders. Rename the data class (and its file) to RichTextInfo and update all references (RawMessage, RichMessageContent, serialization test) plus the API dump. Co-Authored-By: Claude Opus 4.8 --- tgbotapi.core/api/tgbotapi.core.api | 70 +++++++++---------- .../inmo/tgbotapi/types/message/RawMessage.kt | 4 +- .../message/content/RichMessageContent.kt | 4 +- .../rich/{RichMessage.kt => RichTextInfo.kt} | 2 +- .../types/RichMessageSerializationTest.kt | 9 ++- 5 files changed, 44 insertions(+), 45 deletions(-) rename tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/{RichMessage.kt => RichTextInfo.kt} (94%) diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 670ae3c2b5..a87db69043 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -29207,14 +29207,14 @@ public final class dev/inmo/tgbotapi/types/message/content/ResendableContent$Def public final class dev/inmo/tgbotapi/types/message/content/RichMessageContent : dev/inmo/tgbotapi/types/message/content/MessageContent { public static final field Companion Ldev/inmo/tgbotapi/types/message/content/RichMessageContent$Companion; - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/rich/RichMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component3 ()Ldev/inmo/tgbotapi/types/rich/RichMessage; - public final fun copy-HkzWJnM (Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/rich/RichMessage;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent; - public static synthetic fun copy-HkzWJnM$default (Ldev/inmo/tgbotapi/types/message/content/RichMessageContent;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/rich/RichMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent; + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/rich/RichTextInfo;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component3 ()Ldev/inmo/tgbotapi/types/rich/RichTextInfo; + public final fun copy-HkzWJnM (Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/rich/RichTextInfo;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent; + public static synthetic fun copy-HkzWJnM$default (Ldev/inmo/tgbotapi/types/message/content/RichMessageContent;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/rich/RichTextInfo;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent; public fun createResend-QiyHKDI (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/MessageId;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;)Ldev/inmo/tgbotapi/requests/abstracts/Request; public fun createResend-eUDkMIk (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;)Ldev/inmo/tgbotapi/requests/abstracts/Request; public fun equals (Ljava/lang/Object;)Z - public final fun getRichMessage ()Ldev/inmo/tgbotapi/types/rich/RichMessage; + public final fun getRichMessage ()Ldev/inmo/tgbotapi/types/rich/RichTextInfo; public fun hashCode ()I public fun toString ()Ljava/lang/String; } @@ -35254,36 +35254,6 @@ public final class dev/inmo/tgbotapi/types/rich/RichBlockVoiceNote$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public final class dev/inmo/tgbotapi/types/rich/RichMessage { - public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichMessage$Companion; - public fun (Ljava/util/List;Ljava/lang/Boolean;)V - public synthetic fun (Ljava/util/List;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Ljava/util/List; - public final fun component2 ()Ljava/lang/Boolean; - public final fun copy (Ljava/util/List;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/rich/RichMessage; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichMessage;Ljava/util/List;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichMessage; - public fun equals (Ljava/lang/Object;)Z - public final fun getBlocks ()Ljava/util/List; - public fun hashCode ()I - public final fun isRtl ()Ljava/lang/Boolean; - public fun toString ()Ljava/lang/String; -} - -public final synthetic class dev/inmo/tgbotapi/types/rich/RichMessage$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichMessage$$serializer; - public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichMessage; - public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/rich/RichMessage;)V - public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V - public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; -} - -public final class dev/inmo/tgbotapi/types/rich/RichMessage$Companion { - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - public abstract interface class dev/inmo/tgbotapi/types/rich/RichText { public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichText$Companion; } @@ -35669,6 +35639,36 @@ public final class dev/inmo/tgbotapi/types/rich/RichTextHashtag$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/types/rich/RichTextInfo { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextInfo$Companion; + public fun (Ljava/util/List;Ljava/lang/Boolean;)V + public synthetic fun (Ljava/util/List;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Ljava/lang/Boolean; + public final fun copy (Ljava/util/List;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/rich/RichTextInfo; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextInfo;Ljava/util/List;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextInfo; + public fun equals (Ljava/lang/Object;)Z + public final fun getBlocks ()Ljava/util/List; + public fun hashCode ()I + public final fun isRtl ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextInfo$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextInfo$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextInfo; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/rich/RichTextInfo;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextInfo$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/types/rich/RichTextItalic : dev/inmo/tgbotapi/types/rich/RichTextEntity { public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextItalic$Companion; public static final field TYPE Ljava/lang/String; diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt index 9a55bfc893..bc0f49ec58 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt @@ -50,7 +50,7 @@ import dev.inmo.tgbotapi.types.polls.Poll import dev.inmo.tgbotapi.types.polls.PollOptionPersistentId import dev.inmo.tgbotapi.types.request.ChatShared import dev.inmo.tgbotapi.types.request.UsersShared -import dev.inmo.tgbotapi.types.rich.RichMessage +import dev.inmo.tgbotapi.types.rich.RichTextInfo import dev.inmo.tgbotapi.types.stories.Story import dev.inmo.tgbotapi.types.venue.Venue import dev.inmo.tgbotapi.utils.isFakeTelegramUser @@ -93,7 +93,7 @@ internal data class RawMessage( private val caption_entities: RawMessageEntities? = null, private val has_media_spoiler: Boolean? = null, private val story: Story? = null, - private val rich_message: RichMessage? = null, + private val rich_message: RichTextInfo? = null, private val audio: AudioFile? = null, private val document: DocumentFile? = null, private val paid_media: PaidMediaInfo? = null, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/RichMessageContent.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/RichMessageContent.kt index 8e53080231..5b918a96f2 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/RichMessageContent.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/RichMessageContent.kt @@ -8,14 +8,14 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup import dev.inmo.tgbotapi.types.chat.Chat import dev.inmo.tgbotapi.types.message.SuggestedPostParameters import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage -import dev.inmo.tgbotapi.types.rich.RichMessage +import dev.inmo.tgbotapi.types.rich.RichTextInfo import kotlinx.serialization.Serializable @Serializable data class RichMessageContent( private val chat: Chat, private val messageId: MessageId, - val richMessage: RichMessage + val richMessage: RichTextInfo ) : MessageContent { override fun createResend( chatId: ChatIdentifier, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichTextInfo.kt similarity index 94% rename from tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichMessage.kt rename to tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichTextInfo.kt index 55bb419788..8a9c0733a4 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichTextInfo.kt @@ -11,7 +11,7 @@ import kotlinx.serialization.Serializable * @see RichMessage */ @Serializable -data class RichMessage( +data class RichTextInfo( @SerialName(blocksField) val blocks: List, @SerialName(isRtlField) diff --git a/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/RichMessageSerializationTest.kt b/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/RichMessageSerializationTest.kt index b02008f1fc..774a996e72 100644 --- a/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/RichMessageSerializationTest.kt +++ b/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/RichMessageSerializationTest.kt @@ -2,7 +2,6 @@ package dev.inmo.tgbotapi.types import dev.inmo.tgbotapi.types.rich.* import kotlinx.serialization.json.Json -import kotlinx.serialization.encodeToString import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertTrue @@ -29,7 +28,7 @@ class RichMessageSerializationTest { } """.trimIndent() - val message = json.decodeFromString(RichMessage.serializer(), source) + val message = json.decodeFromString(RichTextInfo.serializer(), source) assertEquals(4, message.blocks.size) val paragraph = message.blocks[0] as RichBlockParagraph @@ -50,7 +49,7 @@ class RichMessageSerializationTest { @Test fun roundTripsRichMessage() { - val message = RichMessage( + val message = RichTextInfo( blocks = listOf( RichBlockParagraph( RichTextGroup( @@ -65,8 +64,8 @@ class RichMessageSerializationTest { ) ) - val encoded = json.encodeToString(RichMessage.serializer(), message) - val decoded = json.decodeFromString(RichMessage.serializer(), encoded) + val encoded = json.encodeToString(RichTextInfo.serializer(), message) + val decoded = json.decodeFromString(RichTextInfo.serializer(), encoded) assertEquals(message, decoded) } }