1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-03 00:15:27 +00:00
tgbotapi/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/games/Game.kt

49 lines
1.4 KiB
Kotlin
Raw Normal View History

2018-12-26 08:07:24 +00:00
package com.github.insanusmokrassar.TelegramBotAPI.types.games
2019-08-17 16:48:18 +00:00
import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.*
2018-12-26 08:07:24 +00:00
import com.github.insanusmokrassar.TelegramBotAPI.types.*
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity.*
import com.github.insanusmokrassar.TelegramBotAPI.types.files.*
import kotlinx.serialization.*
@Serializable
2019-08-17 16:48:18 +00:00
data class Game internal constructor(
2018-12-26 08:07:24 +00:00
@SerialName(titleField)
2019-08-17 16:48:18 +00:00
override val title: String,
2018-12-26 08:07:24 +00:00
@SerialName(descriptionField)
val description: String,
@Serializable(PhotoSerializer::class)
@SerialName(photoField)
val photo: Photo,
@SerialName(textField)
2019-08-17 16:48:18 +00:00
override val caption: String? = null,
2018-12-26 08:07:24 +00:00
@Serializable(RawMessageEntitiesSerializer::class)
@SerialName(textEntitiesField)
2019-08-17 16:48:18 +00:00
private val rawEntities: RawMessageEntities? = null,
2018-12-26 08:07:24 +00:00
@SerialName(animationField)
val animation: AnimationFile? = null
2019-08-17 16:48:18 +00:00
) : Titled, CaptionedInput {
2018-12-26 08:07:24 +00:00
@Transient
2019-08-17 16:48:18 +00:00
override val captionEntities: List<MessageEntity> = caption ?.let {
rawEntities ?.map {
it.asMessageEntity(caption)
2018-12-26 08:07:24 +00:00
}
2019-08-17 16:48:18 +00:00
} ?: emptyList()
@Deprecated(
"Missinterfaced field",
ReplaceWith("caption")
)
@Transient
val text: String?
get() = caption
@Deprecated(
"Missinterfaced field",
ReplaceWith("captionEntities")
)
@Transient
val textEntities: List<MessageEntity>?
get() = captionEntities
2018-12-26 08:07:24 +00:00
}