From 4f920abb61ea89e7ba3cd52abb174033785fe9cd Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 30 Jun 2021 11:26:31 +0600 Subject: [PATCH] upfixes --- CHANGELOG.md | 1 + .../ChosenInlineResult/BaseChosenInlineResult.kt | 4 ++++ .../InlineQueries/ChosenInlineResult/ChosenInlineResult.kt | 4 ++-- .../ChosenInlineResult/LocationChosenInlineResult.kt | 4 ++++ .../InlineQueries/ChosenInlineResult/RawChosenInlineResult.kt | 2 +- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1555b1efa0..db9552b996 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * New extensions `TextSourcesList#make*String` for all parse modes * All `MessageContent` subclasses now serializable * `ChosenInlineResult` was replaced and modified to be sealed + * `ChosenInlineResult` now extends `FromUser` * Added `Update#sourceUser` method * More types assumed as sent by user types now implements `FromUser` interface * Added `Any#whenFromUser`, `Any#asFromUser` and`Any#requireFromUser` extensions diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/BaseChosenInlineResult.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/BaseChosenInlineResult.kt index 2594985fb1..bf85756e09 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/BaseChosenInlineResult.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/BaseChosenInlineResult.kt @@ -1,9 +1,13 @@ package dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult import dev.inmo.tgbotapi.types.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +@Serializable data class BaseChosenInlineResult( override val resultId: InlineQueryIdentifier, + @SerialName(fromField) override val user: User, override val inlineMessageId: InlineMessageIdentifier?, override val query: String diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/ChosenInlineResult.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/ChosenInlineResult.kt index fee3f1df51..2f2b594a7b 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/ChosenInlineResult.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/ChosenInlineResult.kt @@ -1,10 +1,10 @@ package dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult +import dev.inmo.tgbotapi.CommonAbstracts.FromUser import dev.inmo.tgbotapi.types.* -sealed interface ChosenInlineResult { +sealed interface ChosenInlineResult : FromUser { val resultId: InlineQueryIdentifier //chosen temporary, can be changed - val user: User val inlineMessageId: InlineMessageIdentifier? val query: String } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/LocationChosenInlineResult.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/LocationChosenInlineResult.kt index 3d1e201983..30388e7e6f 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/LocationChosenInlineResult.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/LocationChosenInlineResult.kt @@ -2,9 +2,13 @@ package dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.location.StaticLocation +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +@Serializable data class LocationChosenInlineResult( override val resultId: InlineQueryIdentifier, + @SerialName(fromField) override val user: User, val location: StaticLocation, override val inlineMessageId: InlineMessageIdentifier?, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/RawChosenInlineResult.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/RawChosenInlineResult.kt index 0bdfedfe6c..c16c87b3df 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/RawChosenInlineResult.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/ChosenInlineResult/RawChosenInlineResult.kt @@ -19,7 +19,7 @@ internal data class RawChosenInlineResult( val inlineMessageId: InlineMessageIdentifier? = null ) { val asChosenInlineResult: ChosenInlineResult by lazy { - location?.let { + location ?.let { LocationChosenInlineResult(resultId, user, location, inlineMessageId, query) } ?: BaseChosenInlineResult(resultId, user, inlineMessageId, query) }