From 6d8693a0033843b004029be24ced9fb16769e3b5 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 7 Jul 2025 22:18:16 +0600 Subject: [PATCH] add typed origin, nextTransferDate and last_resale_star_count in GiftSentOrReceived --- tgbotapi.core/api/tgbotapi.core.api | 111 +++++++++++--- .../kotlin/dev/inmo/tgbotapi/types/Common.kt | 2 + .../types/gifts/GiftSentOrReceived.kt | 140 +++++++++++++++--- 3 files changed, 218 insertions(+), 35 deletions(-) diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 9c1aae9a31..b7cdca387c 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -10032,6 +10032,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field lastErrorDateField Ljava/lang/String; public static final field lastErrorMessageField Ljava/lang/String; public static final field lastNameField Ljava/lang/String; + public static final field lastResaleStarCountField Ljava/lang/String; public static final field lastSynchronizationErrorDateField Ljava/lang/String; public static final field latitudeField Ljava/lang/String; public static final field lengthField Ljava/lang/String; @@ -10078,6 +10079,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field newOwnerChatIdField Ljava/lang/String; public static final field newReactionField Ljava/lang/String; public static final field nextOffsetField Ljava/lang/String; + public static final field nextTransferDateField Ljava/lang/String; public static final field nonceField Ljava/lang/String; public static final field numberField Ljava/lang/String; public static final field offsetField Ljava/lang/String; @@ -19862,6 +19864,7 @@ public final class dev/inmo/tgbotapi/types/gifts/Gift$Unique$Companion { public abstract interface class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/CommonEvent { public static final field Companion Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Companion; public abstract fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift; + public abstract fun getNextTransferDate ()Ldev/inmo/tgbotapi/types/TelegramDate; public abstract fun getOwnedGiftId-FhTg01o ()Ljava/lang/String; } @@ -19889,21 +19892,23 @@ public abstract interface class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Common : dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular { public static final field Companion Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Common$Companion; - public fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;Z)V - public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZLdev/inmo/tgbotapi/types/TelegramDate;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZLdev/inmo/tgbotapi/types/TelegramDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/gifts/Gift$Regular; public final fun component2 ()Ljava/lang/Integer; public final fun component3 ()Ljava/lang/Integer; public final fun component4 ()Z public final fun component5 ()Ljava/lang/String; public final fun component7 ()Z - public final fun copy (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;Z)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Common; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Common;Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Common; + public final fun component8 ()Ldev/inmo/tgbotapi/types/TelegramDate; + public final fun copy (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZLdev/inmo/tgbotapi/types/TelegramDate;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Common; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Common;Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZLdev/inmo/tgbotapi/types/TelegramDate;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Common; public fun equals (Ljava/lang/Object;)Z public fun getCanBeUpgraded ()Z public fun getConvertStarCount ()Ljava/lang/Integer; public fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift$Regular; public synthetic fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift; + public fun getNextTransferDate ()Ldev/inmo/tgbotapi/types/TelegramDate; public fun getOwnedGiftId-FhTg01o ()Ljava/lang/String; public fun getPrepaidUpgradeStarCount ()Ljava/lang/Integer; public fun getText ()Ljava/lang/String; @@ -19940,8 +19945,8 @@ public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Comp public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$ReceivedInBusinessAccount : dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$ReceivedInBusinessAccount, dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular { public static final field Companion Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$ReceivedInBusinessAccount$Companion; - public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZLdev/inmo/tgbotapi/types/TelegramDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZLdev/inmo/tgbotapi/types/TelegramDate;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/gifts/Gift$Regular; public final fun component2-OyCYJok ()Ljava/lang/String; public final fun component3 ()Ljava/lang/Integer; @@ -19949,13 +19954,15 @@ public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Rece public final fun component5 ()Z public final fun component6 ()Ljava/lang/String; public final fun component8 ()Z - public final fun copy-xVLKMpc (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;Z)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$ReceivedInBusinessAccount; - public static synthetic fun copy-xVLKMpc$default (Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$ReceivedInBusinessAccount;Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$ReceivedInBusinessAccount; + public final fun component9 ()Ldev/inmo/tgbotapi/types/TelegramDate; + public final fun copy-3gWu8WQ (Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZLdev/inmo/tgbotapi/types/TelegramDate;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$ReceivedInBusinessAccount; + public static synthetic fun copy-3gWu8WQ$default (Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$ReceivedInBusinessAccount;Ldev/inmo/tgbotapi/types/gifts/Gift$Regular;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;ZLjava/lang/String;Ljava/util/List;ZLdev/inmo/tgbotapi/types/TelegramDate;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$ReceivedInBusinessAccount; public fun equals (Ljava/lang/Object;)Z public fun getCanBeUpgraded ()Z public fun getConvertStarCount ()Ljava/lang/Integer; public fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift$Regular; public synthetic fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift; + public fun getNextTransferDate ()Ldev/inmo/tgbotapi/types/TelegramDate; public synthetic fun getOwnedGiftId-FhTg01o ()Ljava/lang/String; public fun getOwnedGiftId-OyCYJok ()Ljava/lang/String; public fun getPrepaidUpgradeStarCount ()Ljava/lang/Integer; @@ -19983,23 +19990,32 @@ public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Regular$Rece public abstract interface class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique : dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived { public static final field Companion Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Companion; public abstract fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift$Unique; + public abstract fun getLastResaleStarCount ()Ljava/lang/Integer; public abstract fun getOrigin ()Ljava/lang/String; + public abstract fun getOriginTyped ()Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin; public abstract fun getTransferStarCount ()Ljava/lang/Integer; } public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Common : dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique { public static final field Companion Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Common$Companion; - public fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/Integer;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/gifts/Gift$Unique; - public final fun component2 ()Ljava/lang/String; + public final fun component2 ()Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin; public final fun component3 ()Ljava/lang/Integer; - public final fun copy (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/Integer;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Common; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Common;Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/Integer;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Common; + public final fun component4 ()Ljava/lang/Integer; + public final fun component5 ()Ldev/inmo/tgbotapi/types/TelegramDate; + public final fun copy (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Common; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Common;Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Common; public fun equals (Ljava/lang/Object;)Z public fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift$Unique; public synthetic fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift; + public fun getLastResaleStarCount ()Ljava/lang/Integer; + public fun getNextTransferDate ()Ldev/inmo/tgbotapi/types/TelegramDate; public fun getOrigin ()Ljava/lang/String; + public fun getOriginTyped ()Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin; public fun getOwnedGiftId-FhTg01o ()Ljava/lang/String; public fun getTransferStarCount ()Ljava/lang/Integer; public fun hashCode ()I @@ -20031,20 +20047,79 @@ public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Compa public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public abstract interface class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin { + public static final field Companion Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Companion; + public abstract fun getString ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Companion : kotlinx/serialization/KSerializer { + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun fromString (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Resale : dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Resale; + public fun getString ()Ljava/lang/String; + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Transfer : dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Transfer; + public fun getString ()Ljava/lang/String; + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Unknown : dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin { + public static final field Companion Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Unknown$Companion; + public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Unknown; + public static fun constructor-impl (Ljava/lang/String;)Ljava/lang/String; + public fun equals (Ljava/lang/Object;)Z + public static fun equals-impl (Ljava/lang/String;Ljava/lang/Object;)Z + public static final fun equals-impl0 (Ljava/lang/String;Ljava/lang/String;)Z + public fun getString ()Ljava/lang/String; + public fun hashCode ()I + public static fun hashCode-impl (Ljava/lang/String;)I + public fun toString ()Ljava/lang/String; + public static fun toString-impl (Ljava/lang/String;)Ljava/lang/String; + public final synthetic fun unbox-impl ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Unknown$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Upgrade : dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin$Upgrade; + public fun getString ()Ljava/lang/String; + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$ReceivedInBusinessAccount : dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$ReceivedInBusinessAccount, dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique { public static final field Companion Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$ReceivedInBusinessAccount$Companion; - public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/gifts/Gift$Unique; public final fun component2-OyCYJok ()Ljava/lang/String; - public final fun component3 ()Ljava/lang/String; + public final fun component3 ()Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin; public final fun component4 ()Ljava/lang/Integer; - public final fun copy-A6CMM0Q (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$ReceivedInBusinessAccount; - public static synthetic fun copy-A6CMM0Q$default (Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$ReceivedInBusinessAccount;Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$ReceivedInBusinessAccount; + public final fun component5 ()Ljava/lang/Integer; + public final fun component6 ()Ldev/inmo/tgbotapi/types/TelegramDate; + public final fun copy-gWCrhmI (Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$ReceivedInBusinessAccount; + public static synthetic fun copy-gWCrhmI$default (Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$ReceivedInBusinessAccount;Ldev/inmo/tgbotapi/types/gifts/Gift$Unique;Ljava/lang/String;Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/TelegramDate;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$ReceivedInBusinessAccount; public fun equals (Ljava/lang/Object;)Z public fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift$Unique; public synthetic fun getGift ()Ldev/inmo/tgbotapi/types/gifts/Gift; + public fun getLastResaleStarCount ()Ljava/lang/Integer; + public fun getNextTransferDate ()Ldev/inmo/tgbotapi/types/TelegramDate; public fun getOrigin ()Ljava/lang/String; + public fun getOriginTyped ()Ldev/inmo/tgbotapi/types/gifts/GiftSentOrReceived$Unique$Origin; public synthetic fun getOwnedGiftId-FhTg01o ()Ljava/lang/String; public fun getOwnedGiftId-OyCYJok ()Ljava/lang/String; public fun getTransferStarCount ()Ljava/lang/Integer; 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 68b97f7d7e..7f4831a1a6 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 @@ -534,7 +534,9 @@ const val convertStarCountField = "convert_star_count" const val prepaidUpgradeStarCountField = "prepaid_upgrade_star_count" const val canBeUpgradedField = "can_be_upgraded" const val isPrivateField = "is_private" +const val nextTransferDateField = "next_transfer_date" const val transferStarCountField = "transfer_star_count" +const val lastResaleStarCountField = "last_resale_star_count" const val newOwnerChatIdField = "new_owner_chat_id" const val pointField = "point" diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived.kt index 8ae20fae10..1ec9385b03 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/gifts/GiftSentOrReceived.kt @@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.gifts import dev.inmo.tgbotapi.abstracts.TextedInput import dev.inmo.tgbotapi.types.* +import dev.inmo.tgbotapi.types.gifts.GiftSentOrReceived.Unique.Common import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent import dev.inmo.tgbotapi.types.message.RawMessageEntities import dev.inmo.tgbotapi.types.message.asTextSources @@ -9,17 +10,21 @@ import dev.inmo.tgbotapi.types.message.textsources.TextSource import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList import dev.inmo.tgbotapi.types.message.toRawMessageEntities import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded +import kotlinx.serialization.EncodeDefault import kotlinx.serialization.KSerializer import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient +import kotlinx.serialization.builtins.serializer import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder +import kotlin.jvm.JvmInline import kotlin.jvm.JvmName /** - * Represent Telegram Bots API abstraction [GiftInfo](https://core.telegram.org/bots/api#giftinfo) and + * Represent Telegram Bots API abstraction [OwnedGiftUnique](https://core.telegram.org/bots/api#giftinfo) and * [UniqueGiftInfo](https://core.telegram.org/bots/api#uniquegiftinfo) * * @see ReceivedInBusinessAccount @@ -32,6 +37,7 @@ import kotlin.jvm.JvmName sealed interface GiftSentOrReceived : CommonEvent { val ownedGiftId: GiftId? val gift: Gift + val nextTransferDate: TelegramDate? @Serializable sealed interface ReceivedInBusinessAccount : GiftSentOrReceived { @@ -61,7 +67,9 @@ sealed interface GiftSentOrReceived : CommonEvent { @SerialName(entitiesField) private val entities: RawMessageEntities? = null, @SerialName(isPrivateField) - override val isPrivate: Boolean = false + override val isPrivate: Boolean = false, + @SerialName(nextTransferDateField) + override val nextTransferDate: TelegramDate? = null ) : Regular { override val textSources: List by lazy { entities ?.asTextSources(text ?: return@lazy emptyList()) ?: emptyList() @@ -87,7 +95,9 @@ sealed interface GiftSentOrReceived : CommonEvent { @SerialName(entitiesField) private val entities: RawMessageEntities? = null, @SerialName(isPrivateField) - override val isPrivate: Boolean = false + override val isPrivate: Boolean = false, + @SerialName(nextTransferDateField) + override val nextTransferDate: TelegramDate? = null ) : Regular, GiftSentOrReceived.ReceivedInBusinessAccount { override val textSources: List by lazy { entities ?.asTextSources(text ?: return@lazy emptyList()) ?: emptyList() @@ -112,7 +122,9 @@ sealed interface GiftSentOrReceived : CommonEvent { @SerialName(entitiesField) val entities: RawMessageEntities? = null, @SerialName(isPrivateField) - val isPrivate: Boolean = false + val isPrivate: Boolean = false, + @SerialName(nextTransferDateField) + val nextTransferDate: TelegramDate? = null ) override val descriptor: SerialDescriptor @@ -137,7 +149,8 @@ sealed interface GiftSentOrReceived : CommonEvent { canBeUpgraded = surrogate.canBeUpgraded, text = surrogate.text, entities = surrogate.entities, - isPrivate = surrogate.isPrivate + isPrivate = surrogate.isPrivate, + nextTransferDate = surrogate.nextTransferDate ) } else -> { @@ -149,7 +162,8 @@ sealed interface GiftSentOrReceived : CommonEvent { canBeUpgraded = surrogate.canBeUpgraded, text = surrogate.text, entities = surrogate.entities, - isPrivate = surrogate.isPrivate + isPrivate = surrogate.isPrivate, + nextTransferDate = surrogate.nextTransferDate ) } } @@ -192,19 +206,80 @@ sealed interface GiftSentOrReceived : CommonEvent { sealed interface Unique : GiftSentOrReceived { override val gift: Gift.Unique val origin: String? + val originTyped: Origin? + val lastResaleStarCount: Int? val transferStarCount: Int? + @Suppress("SERIALIZER_TYPE_INCOMPATIBLE") + @Serializable(Origin.Companion::class) + sealed interface Origin { + val string: String + @Serializable(Origin.Companion::class) + object Upgrade : Origin { override val string: String = "upgrade" } + @Serializable(Origin.Companion::class) + object Transfer : Origin { override val string: String = "transfer" } + @Serializable(Origin.Companion::class) + object Resale : Origin { override val string: String = "resale" } + @Serializable(Origin.Companion::class) + @JvmInline + value class Unknown(override val string: String) : Origin + + companion object : KSerializer { + override val descriptor: SerialDescriptor = String.serializer().descriptor + + fun fromString(value: String): Origin = when (value) { + Upgrade.string -> Upgrade + Transfer.string -> Transfer + Resale.string -> Resale + else -> Unknown(value) + } + + override fun deserialize(decoder: Decoder): Origin { + val value = decoder.decodeString() + return fromString(value) + } + + override fun serialize( + encoder: Encoder, + value: Origin + ) { + encoder.encodeString(value.string) + } + } + } + @Serializable data class Common( @SerialName(giftField) override val gift: Gift.Unique, @SerialName(originField) - override val origin: String? = null, + override val originTyped: Origin? = null, + @SerialName(lastResaleStarCountField) + override val lastResaleStarCount: Int? = null, @SerialName(transferStarCountField) - override val transferStarCount: Int? = null + override val transferStarCount: Int? = null, + @SerialName(nextTransferDateField) + override val nextTransferDate: TelegramDate? = null ) : Unique { override val ownedGiftId: GiftId? get() = null + + @Transient + override val origin: String? = originTyped ?.string + + constructor( + gift: Gift.Unique, + origin: String?, + lastResaleStarCount: Int? = null, + transferStarCount: Int? = null, + nextTransferDate: TelegramDate? = null + ) : this( + gift, + origin ?.let { Origin.fromString(it) }, + lastResaleStarCount, + transferStarCount, + nextTransferDate + ) } @Serializable @@ -214,10 +289,33 @@ sealed interface GiftSentOrReceived : CommonEvent { @SerialName(ownedGiftIdField) override val ownedGiftId: GiftId, @SerialName(originField) - override val origin: String? = null, + override val originTyped: Origin? = null, + @SerialName(lastResaleStarCountField) + override val lastResaleStarCount: Int? = null, @SerialName(transferStarCountField) - override val transferStarCount: Int? = null - ) : Unique, GiftSentOrReceived.ReceivedInBusinessAccount + override val transferStarCount: Int? = null, + @SerialName(nextTransferDateField) + override val nextTransferDate: TelegramDate? = null + ) : Unique, GiftSentOrReceived.ReceivedInBusinessAccount { + @Transient + override val origin: String? = originTyped ?.string + + constructor( + gift: Gift.Unique, + ownedGiftId: GiftId, + origin: String? = null, + lastResaleStarCount: Int? = null, + transferStarCount: Int? = null, + nextTransferDate: TelegramDate? = null + ) : this( + gift = gift, + ownedGiftId = ownedGiftId, + originTyped = origin ?.let { Origin.fromString(it) }, + lastResaleStarCount = lastResaleStarCount, + transferStarCount = transferStarCount, + nextTransferDate = nextTransferDate + ) + } companion object : KSerializer { @Serializable @@ -227,9 +325,13 @@ sealed interface GiftSentOrReceived : CommonEvent { @SerialName(ownedGiftIdField) val ownedGiftId: GiftId? = null, @SerialName(originField) - val origin: String? = null, + val origin: Origin? = null, + @SerialName(lastResaleStarCountField) + val lastResaleStarCount: Int? = null, @SerialName(transferStarCountField) - val transferStarCount: Int? = null + val transferStarCount: Int? = null, + @SerialName(nextTransferDateField) + val nextTransferDate: TelegramDate? = null ) override val descriptor: SerialDescriptor @@ -249,16 +351,20 @@ sealed interface GiftSentOrReceived : CommonEvent { surrogate.ownedGiftId == null -> { Common( gift = surrogate.gift, - origin = surrogate.origin, - transferStarCount = surrogate.transferStarCount + originTyped = surrogate.origin, + lastResaleStarCount = surrogate.lastResaleStarCount, + transferStarCount = surrogate.transferStarCount, + nextTransferDate = surrogate.nextTransferDate ) } else -> { ReceivedInBusinessAccount( gift = surrogate.gift, ownedGiftId = surrogate.ownedGiftId, - origin = surrogate.origin, - transferStarCount = surrogate.transferStarCount + originTyped = surrogate.origin, + lastResaleStarCount = surrogate.lastResaleStarCount, + transferStarCount = surrogate.transferStarCount, + nextTransferDate = surrogate.nextTransferDate ) } }