From 6f4b5810e9fcc4ca6dc34f156cdbeb5e4fe38190 Mon Sep 17 00:00:00 2001 From: madhead Date: Fri, 3 Feb 2023 22:38:59 +0100 Subject: [PATCH] Add `UserShared` / `ChatShared` types --- .../kotlin/dev/inmo/tgbotapi/types/Common.kt | 2 ++ .../inmo/tgbotapi/types/message/RawMessage.kt | 4 ++++ .../dev/inmo/tgbotapi/types/shared/ChatShared.kt | 16 ++++++++++++++++ .../dev/inmo/tgbotapi/types/shared/UserShared.kt | 16 ++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/shared/ChatShared.kt create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/shared/UserShared.kt diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt index 8a3d8b8d85..273b4322a1 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt @@ -524,3 +524,5 @@ const val temporaryRegistrationField = "temporary_registration" const val buttonTextField = "button_text" const val webAppField = "web_app" const val menuButtonField = "menu_button" + +const val requestIdField = "request_id" 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 c5c6277daa..8f475c28ac 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 @@ -29,6 +29,8 @@ import dev.inmo.tgbotapi.types.passport.PassportData import dev.inmo.tgbotapi.types.payments.Invoice import dev.inmo.tgbotapi.types.payments.SuccessfulPayment import dev.inmo.tgbotapi.types.polls.Poll +import dev.inmo.tgbotapi.types.shared.ChatShared +import dev.inmo.tgbotapi.types.shared.UserShared import dev.inmo.tgbotapi.types.venue.Venue import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -92,6 +94,8 @@ internal data class RawMessage( private val invoice: Invoice? = null, private val dice: Dice? = null, private val successful_payment: SuccessfulPayment? = null, + private val user_shared: UserShared? = null, + private val chat_shared: ChatShared? = null, // Voice Chat Service Messages private val video_chat_scheduled: VideoChatScheduled? = null, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/shared/ChatShared.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/shared/ChatShared.kt new file mode 100644 index 0000000000..e75132892e --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/shared/ChatShared.kt @@ -0,0 +1,16 @@ +package dev.inmo.tgbotapi.types.shared + +import dev.inmo.tgbotapi.types.Identifier +import dev.inmo.tgbotapi.types.chatIdField +import dev.inmo.tgbotapi.types.requestIdField +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class ChatShared( + @SerialName(requestIdField) + val requestId: Identifier, + + @SerialName(chatIdField) + val chatId: Identifier, +) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/shared/UserShared.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/shared/UserShared.kt new file mode 100644 index 0000000000..cb05b5a6c9 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/shared/UserShared.kt @@ -0,0 +1,16 @@ +package dev.inmo.tgbotapi.types.shared + +import dev.inmo.tgbotapi.types.Identifier +import dev.inmo.tgbotapi.types.requestIdField +import dev.inmo.tgbotapi.types.userIdField +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class UserShared( + @SerialName(requestIdField) + val requestId: Identifier, + + @SerialName(userIdField) + val userId: Identifier, +)