From 3285b2812e23fceaa270e89cc878e5d299ab909c Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Sat, 17 Aug 2019 22:48:18 +0600 Subject: [PATCH] RawMessageEntity is internal --- CHANGELOG.md | 2 ++ .../types/MessageEntity/RawMessageEntity.kt | 6 ++-- .../TelegramBotAPI/types/games/Game.kt | 35 ++++++++++++++----- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd15a12aba..bd6b0586b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ * Update of description * `RawUpdate` now is internal and not available outside of library * `RawChatMember` now is internal and not available outside of library +* Make `Game` object a little bit more standartizated +* `RawMessageEntity` now is internal ## 0.17.0 diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/RawMessageEntity.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/RawMessageEntity.kt index be32fee1bb..489531935c 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/RawMessageEntity.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/RawMessageEntity.kt @@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.internal.ArrayListSerializer @Serializable -data class RawMessageEntity( +internal data class RawMessageEntity( val type: String, val offset: Int, val length: Int, @@ -34,8 +34,8 @@ data class RawMessageEntity( } } -typealias RawMessageEntities = List +internal typealias RawMessageEntities = List -object RawMessageEntitiesSerializer : KSerializer> by ArrayListSerializer( +internal object RawMessageEntitiesSerializer : KSerializer> by ArrayListSerializer( RawMessageEntity.serializer() ) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/games/Game.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/games/Game.kt index c531d0e3c3..bab1244719 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/games/Game.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/games/Game.kt @@ -1,31 +1,48 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.games +import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity.* import com.github.insanusmokrassar.TelegramBotAPI.types.files.* import kotlinx.serialization.* @Serializable -data class Game( +data class Game internal constructor( @SerialName(titleField) - val title: String, + override val title: String, @SerialName(descriptionField) val description: String, @Serializable(PhotoSerializer::class) @SerialName(photoField) val photo: Photo, @SerialName(textField) - val text: String? = null, + override val caption: String? = null, @Serializable(RawMessageEntitiesSerializer::class) @SerialName(textEntitiesField) - private val textEntitiesRaw: RawMessageEntities? = null, + private val rawEntities: RawMessageEntities? = null, @SerialName(animationField) val animation: AnimationFile? = null -) { +) : Titled, CaptionedInput { @Transient - val textEntities: List? = text ?.let { - textEntitiesRaw ?.map { - it.asMessageEntity(text) + override val captionEntities: List = caption ?.let { + rawEntities ?.map { + it.asMessageEntity(caption) } - } + } ?: emptyList() + + @Deprecated( + "Missinterfaced field", + ReplaceWith("caption") + ) + @Transient + val text: String? + get() = caption + + @Deprecated( + "Missinterfaced field", + ReplaceWith("captionEntities") + ) + @Transient + val textEntities: List? + get() = captionEntities }