From a2ae4f71dea27a92558d7333f1204d2a82d97dfd Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Fri, 15 Jan 2021 16:27:22 +0600 Subject: [PATCH] new PassportMessage type --- .../inmo/tgbotapi/types/message/PassportMessage.kt | 14 ++++++++++++++ .../dev/inmo/tgbotapi/types/message/RawMessage.kt | 10 +++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/PassportMessage.kt diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/PassportMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/PassportMessage.kt new file mode 100644 index 0000000000..2b5f74788d --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/PassportMessage.kt @@ -0,0 +1,14 @@ +package dev.inmo.tgbotapi.types.message + +import com.soywiz.klock.DateTime +import dev.inmo.tgbotapi.types.MessageIdentifier +import dev.inmo.tgbotapi.types.chat.abstracts.Chat +import dev.inmo.tgbotapi.types.message.abstracts.Message +import dev.inmo.tgbotapi.types.passport.PassportData + +data class PassportMessage( + override val messageId: MessageIdentifier, + override val chat: Chat, + override val date: DateTime, + val passportData: PassportData +) : Message 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 a51e011d8a..699bf39381 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 @@ -18,6 +18,7 @@ import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent import dev.inmo.tgbotapi.types.message.content.media.* import dev.inmo.tgbotapi.types.message.payments.InvoiceContent import dev.inmo.tgbotapi.types.message.payments.SuccessfulPaymentInfo +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 @@ -84,7 +85,7 @@ internal data class RawMessage( private val connected_website: String? = null, // passport property - private val passport_data: Unit? = null, + private val passport_data: PassportData? = null, private val proximity_alert_triggered: ProximityAlertTriggered? = null, private val reply_markup: InlineKeyboardMarkup? = null @@ -324,6 +325,13 @@ internal data class RawMessage( ) else -> error("Unknown type of chat: $chat") } + } ?: passport_data ?.let{ + PassportMessage( + messageId, + chat, + date.asDate, + passport_data + ) } ?: error("Was not found supported type of data") } catch (e: Exception) { UnknownMessageType(