diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 3993926062..e8b64f95f8 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -10003,6 +10003,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field closingMinuteField Ljava/lang/String; public static final field colorField Ljava/lang/String; public static final field colorsField Ljava/lang/String; + public static final field commentField Ljava/lang/String; public static final field commissionPerMilleField Ljava/lang/String; public static final field completedByUserField Ljava/lang/String; public static final field completionDateField Ljava/lang/String; @@ -10272,6 +10273,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field premiumSubscriptionMonthCountField Ljava/lang/String; public static final field prepaidUpgradeStarCountField Ljava/lang/String; public static final field priceDependOnShipAddressField Ljava/lang/String; + public static final field priceField Ljava/lang/String; public static final field pricesField Ljava/lang/String; public static final field prizeDescriptionField Ljava/lang/String; public static final field prizeStarCountField Ljava/lang/String; @@ -10296,6 +10298,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field reactionField Ljava/lang/String; public static final field reactionTypeField Ljava/lang/String; public static final field reactionsField Ljava/lang/String; + public static final field reasonField Ljava/lang/String; public static final field receiverField Ljava/lang/String; public static final field regularPollType Ljava/lang/String; public static final field remainingCountField Ljava/lang/String; @@ -10338,6 +10341,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field secretTokenField Ljava/lang/String; public static final field secureDataField Ljava/lang/String; public static final field selfieField Ljava/lang/String; + public static final field sendDateField Ljava/lang/String; public static final field senderChatField Ljava/lang/String; public static final field senderChatIdField Ljava/lang/String; public static final field senderUserField Ljava/lang/String; @@ -10359,6 +10363,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field sortByPriceField Ljava/lang/String; public static final field sourceField Ljava/lang/String; public static final field sponsorUserField Ljava/lang/String; + public static final field starAmountField Ljava/lang/String; public static final field starCountField Ljava/lang/String; public static final field startDateField Ljava/lang/String; public static final field startParameterField Ljava/lang/String; @@ -10377,6 +10382,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field subscriptionExpirationDateField Ljava/lang/String; public static final field subscriptionPeriodField Ljava/lang/String; public static final field subscriptionPriceField Ljava/lang/String; + public static final field suggestedPostMessageField Ljava/lang/String; public static final field suggestedTipAmountsField Ljava/lang/String; public static final field supportInlineQueriesField Ljava/lang/String; public static final field supportStreamingField Ljava/lang/String; @@ -21841,6 +21847,243 @@ public final class dev/inmo/tgbotapi/types/message/ChatEvents/ProximityAlertTrig public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelDirectMessagesEvent { + public static final field Companion Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed$Companion; + public fun (Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ldev/inmo/tgbotapi/types/message/abstracts/Message;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ldev/inmo/tgbotapi/types/message/abstracts/Message;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public final fun copy (Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ldev/inmo/tgbotapi/types/message/abstracts/Message;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed; + public fun equals (Ljava/lang/Object;)Z + public final fun getPrice ()Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public final fun getSuggestedPostMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelDirectMessagesEvent { + public static final field Companion Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved$Companion; + public fun (Ldev/inmo/tgbotapi/types/TelegramDate;Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/TelegramDate;Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/TelegramDate; + public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public final fun component3 ()Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public final fun copy (Ldev/inmo/tgbotapi/types/TelegramDate;Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved;Ldev/inmo/tgbotapi/types/TelegramDate;Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved; + public fun equals (Ljava/lang/Object;)Z + public final fun getPrice ()Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public final fun getSendDate ()Ldev/inmo/tgbotapi/types/TelegramDate; + public final fun getSuggestedPostMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelDirectMessagesEvent { + public static final field Companion Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined$Companion; + public fun ()V + public fun (Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ljava/lang/String;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined;Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined; + public fun equals (Ljava/lang/Object;)Z + public final fun getComment ()Ljava/lang/String; + public final fun getSuggestedPostMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelDirectMessagesEvent, dev/inmo/tgbotapi/types/payments/abstracts/Currencied { + public static final field Companion Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Companion; + public abstract fun getAmount ()Ljava/lang/Long; + public abstract fun getStarAmount ()Ldev/inmo/tgbotapi/types/payments/stars/StarAmount; + public abstract fun getSuggestedPostMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Companion : kotlinx/serialization/KSerializer { + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid;)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/message/ChatEvents/SuggestedPostPaid$Other : dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid { + public static final field Companion Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Other$Companion; + public fun (Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ljava/lang/Long;Ldev/inmo/tgbotapi/types/payments/stars/StarAmount;)V + public synthetic fun (Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ljava/lang/Long;Ldev/inmo/tgbotapi/types/payments/stars/StarAmount;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public final fun component3 ()Ljava/lang/Long; + public final fun component4 ()Ldev/inmo/tgbotapi/types/payments/stars/StarAmount; + public final fun copy (Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ljava/lang/Long;Ldev/inmo/tgbotapi/types/payments/stars/StarAmount;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Other; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Other;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ljava/lang/Long;Ldev/inmo/tgbotapi/types/payments/stars/StarAmount;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Other; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Ljava/lang/Long; + public fun getCurrency ()Ljava/lang/String; + public fun getStarAmount ()Ldev/inmo/tgbotapi/types/payments/stars/StarAmount; + public fun getSuggestedPostMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Other$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Other$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Other; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Other;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$Other$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON : dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid { + public static final field Companion Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON$Companion; + public fun (JLdev/inmo/tgbotapi/types/message/abstracts/Message;)V + public synthetic fun (JLdev/inmo/tgbotapi/types/message/abstracts/Message;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()J + public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public final fun copy (JLdev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON;JLdev/inmo/tgbotapi/types/message/abstracts/Message;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Ljava/lang/Long; + public fun getCurrency ()Ljava/lang/String; + public fun getStarAmount ()Ldev/inmo/tgbotapi/types/payments/stars/StarAmount; + public fun getSuggestedPostMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$TON$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR : dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid { + public static final field Companion Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR$Companion; + public fun (Ldev/inmo/tgbotapi/types/payments/stars/StarAmount;Ldev/inmo/tgbotapi/types/message/abstracts/Message;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/payments/stars/StarAmount;Ldev/inmo/tgbotapi/types/message/abstracts/Message;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/payments/stars/StarAmount; + public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public final fun copy (Ldev/inmo/tgbotapi/types/payments/stars/StarAmount;Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR;Ldev/inmo/tgbotapi/types/payments/stars/StarAmount;Ldev/inmo/tgbotapi/types/message/abstracts/Message;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR; + public fun equals (Ljava/lang/Object;)Z + public fun getAmount ()Ljava/lang/Long; + public fun getCurrency ()Ljava/lang/String; + public fun getStarAmount ()Ldev/inmo/tgbotapi/types/payments/stars/StarAmount; + public fun getSuggestedPostMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid$XTR$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelDirectMessagesEvent { + public static final field Companion Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded$Companion; + public fun (Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/abstracts/Message;)V + public synthetic fun (Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/abstracts/Message;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public final fun copy (Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/abstracts/Message;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded; + public fun equals (Ljava/lang/Object;)Z + public final fun getReason ()Ljava/lang/String; + public final fun getSuggestedPostMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/types/message/ChatEvents/SupergroupChatCreated : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/SupergroupEvent { public fun (Ldev/inmo/tgbotapi/types/IdChatIdentifier;)V public final fun getMigratedFrom ()Ldev/inmo/tgbotapi/types/IdChatIdentifier; @@ -21886,6 +22129,9 @@ public final class dev/inmo/tgbotapi/types/message/ChatEvents/WebAppData$Compani public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public abstract interface class dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelDirectMessagesEvent : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/SupergroupEvent { +} + public abstract interface class dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelEvent : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent { } @@ -22881,6 +23127,140 @@ public final class dev/inmo/tgbotapi/types/message/RawMessageEntityKt { public static synthetic fun toRawMessageEntities$default (Ljava/util/List;IILjava/lang/Object;)Ljava/util/List; } +public final class dev/inmo/tgbotapi/types/message/SuggestedPostInfo { + public static final field Companion Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$Companion; + public fun (Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ljava/lang/Integer;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ljava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State; + public final fun component2 ()Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public final fun component3 ()Ljava/lang/Integer; + public final fun copy (Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ljava/lang/Integer;)Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo;Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ljava/lang/Integer;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo; + public fun equals (Ljava/lang/Object;)Z + public final fun getPrice ()Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public final fun getSendDate ()Ljava/lang/Integer; + public final fun getState ()Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/SuggestedPostInfo$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/SuggestedPostInfo$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State { + public static final field Companion Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Companion; + public abstract fun getName ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Approved : dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Approved; + public fun equals (Ljava/lang/Object;)Z + public fun getName ()Ljava/lang/String; + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Companion : kotlinx/serialization/KSerializer { + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State;)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/message/SuggestedPostInfo$State$Declined : dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Declined; + public fun equals (Ljava/lang/Object;)Z + public fun getName ()Ljava/lang/String; + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Pending : dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Pending; + public fun equals (Ljava/lang/Object;)Z + public fun getName ()Ljava/lang/String; + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Unknown : dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State { + public static final field Companion Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Unknown$Companion; + public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$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 getName ()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 synthetic class dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Unknown$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Unknown$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize-FPA7VNI (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize-4zEyElE (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/SuggestedPostInfo$State$Unknown$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/SuggestedPostParameters { + public static final field Companion Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters$Companion; + public fun ()V + public fun (Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ldev/inmo/tgbotapi/types/TelegramDate;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ldev/inmo/tgbotapi/types/TelegramDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public final fun component2 ()Ldev/inmo/tgbotapi/types/TelegramDate; + public final fun copy (Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ldev/inmo/tgbotapi/types/TelegramDate;)Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ldev/inmo/tgbotapi/types/TelegramDate;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters; + public fun equals (Ljava/lang/Object;)Z + public final fun getPrice ()Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public final fun getSendDate ()Ldev/inmo/tgbotapi/types/TelegramDate; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/SuggestedPostParameters$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/SuggestedPostParameters$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/types/message/UnconnectedFromChannelGroupContentMessageImpl : dev/inmo/tgbotapi/types/message/abstracts/UnconnectedFromChannelGroupContentMessage { public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;Ldev/inmo/tgbotapi/types/chat/PreviewChannelChat;JDLdev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;Ldev/inmo/tgbotapi/types/chat/PreviewChannelChat;JDLdev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -27407,6 +27787,36 @@ public final class dev/inmo/tgbotapi/types/payments/SuccessfulPayment$Companion public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/types/payments/SuggestedPostPrice : dev/inmo/tgbotapi/types/payments/abstracts/Amounted, dev/inmo/tgbotapi/types/payments/abstracts/Currencied { + public static final field Companion Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice$Companion; + public fun (Ljava/lang/String;J)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()J + public final fun copy (Ljava/lang/String;J)Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;Ljava/lang/String;JILjava/lang/Object;)Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public fun equals (Ljava/lang/Object;)Z + public fun getAdaptedMajorityTotalAmount ()D + public fun getAmount ()J + public fun getCurrency ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/payments/SuggestedPostPrice$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/payments/SuggestedPostPrice;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/payments/SuggestedPostPrice$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public abstract interface class dev/inmo/tgbotapi/types/payments/abstracts/Amounted { public fun getAdaptedMajorityTotalAmount ()D public abstract fun getAmount ()J @@ -27421,6 +27831,7 @@ public abstract interface class dev/inmo/tgbotapi/types/payments/abstracts/Curre } public final class dev/inmo/tgbotapi/types/payments/abstracts/CurrenciedKt { + public static final fun getTON (Lkotlin/jvm/internal/StringCompanionObject;)Ljava/lang/String; public static final fun getXTR (Lkotlin/jvm/internal/StringCompanionObject;)Ljava/lang/String; } 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 eea4e0fd5c..42792b923b 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 @@ -779,6 +779,13 @@ const val rawField = "raw" const val reactionTypeField = "reaction_type" +const val suggestedPostMessageField = "suggested_post_message" +const val priceField = "price" +const val sendDateField = "send_date" +const val commentField = "comment" +const val reasonField = "reason" +const val starAmountField = "star_amount" + const val isDarkField = "is_dark" const val isFlippedField = "is_flipped" const val temperatureField = "temperature" diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed.kt new file mode 100644 index 0000000000..fc87158ca6 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApprovalFailed.kt @@ -0,0 +1,20 @@ +package dev.inmo.tgbotapi.types.message.ChatEvents + +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelDirectMessagesEvent +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent +import dev.inmo.tgbotapi.types.message.abstracts.Message +import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer +import dev.inmo.tgbotapi.types.payments.SuggestedPostPrice +import dev.inmo.tgbotapi.types.suggestedPostMessageField +import dev.inmo.tgbotapi.types.priceField +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class SuggestedPostApprovalFailed( + @SerialName(priceField) // TODO::Test that this field will never be null + val price: SuggestedPostPrice, + @SerialName(suggestedPostMessageField) + @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) + val suggestedPostMessage: Message? = null, +) : ChannelDirectMessagesEvent diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved.kt new file mode 100644 index 0000000000..c33150144e --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostApproved.kt @@ -0,0 +1,24 @@ +package dev.inmo.tgbotapi.types.message.ChatEvents + +import dev.inmo.tgbotapi.types.TelegramDate +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelDirectMessagesEvent +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent +import dev.inmo.tgbotapi.types.message.abstracts.Message +import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer +import dev.inmo.tgbotapi.types.payments.SuggestedPostPrice +import dev.inmo.tgbotapi.types.suggestedPostMessageField +import dev.inmo.tgbotapi.types.priceField +import dev.inmo.tgbotapi.types.sendDateField +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class SuggestedPostApproved( + @SerialName(sendDateField) + val sendDate: TelegramDate, + @SerialName(suggestedPostMessageField) + @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) + val suggestedPostMessage: Message? = null, + @SerialName(priceField) + val price: SuggestedPostPrice? = null, +) : ChannelDirectMessagesEvent diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined.kt new file mode 100644 index 0000000000..ebaa259a21 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostDeclined.kt @@ -0,0 +1,19 @@ +package dev.inmo.tgbotapi.types.message.ChatEvents + +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent +import dev.inmo.tgbotapi.types.message.abstracts.Message +import dev.inmo.tgbotapi.types.suggestedPostMessageField +import dev.inmo.tgbotapi.types.commentField +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelDirectMessagesEvent +import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class SuggestedPostDeclined( + @SerialName(suggestedPostMessageField) + @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) + val suggestedPostMessage: Message? = null, + @SerialName(commentField) + val comment: String? = null +) : ChannelDirectMessagesEvent diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid.kt new file mode 100644 index 0000000000..add7012ed5 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostPaid.kt @@ -0,0 +1,102 @@ +package dev.inmo.tgbotapi.types.message.ChatEvents + +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent +import dev.inmo.tgbotapi.types.message.abstracts.Message +import dev.inmo.tgbotapi.types.payments.stars.StarAmount +import dev.inmo.tgbotapi.types.suggestedPostMessageField +import dev.inmo.tgbotapi.types.currencyField +import dev.inmo.tgbotapi.types.amountField +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelDirectMessagesEvent +import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass +import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer +import dev.inmo.tgbotapi.types.payments.abstracts.Currencied +import dev.inmo.tgbotapi.types.payments.abstracts.Currency +import dev.inmo.tgbotapi.types.payments.abstracts.TON +import dev.inmo.tgbotapi.types.payments.abstracts.XTR +import dev.inmo.tgbotapi.types.starAmountField +import kotlinx.serialization.EncodeDefault +import kotlinx.serialization.KSerializer +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.descriptors.SerialDescriptor +import kotlinx.serialization.encoding.Decoder +import kotlinx.serialization.encoding.Encoder + +@Serializable(SuggestedPostPaid.Companion::class) +sealed interface SuggestedPostPaid : Currencied, ChannelDirectMessagesEvent { + val amount: Long? + val starAmount: StarAmount? + val suggestedPostMessage: Message? + + @Serializable + data class XTR( + @SerialName(starAmountField) + override val starAmount: StarAmount, + @SerialName(suggestedPostMessageField) + @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) + override val suggestedPostMessage: Message? = null, + ) : SuggestedPostPaid { + override val amount: Long? + get() = null + @EncodeDefault + override val currency: Currency = Currency.XTR + } + @Serializable + data class TON( + @SerialName(amountField) + override val amount: Long, + @SerialName(suggestedPostMessageField) + @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) + override val suggestedPostMessage: Message? = null + ) : SuggestedPostPaid { + override val starAmount: StarAmount? + get() = null + @EncodeDefault + override val currency: Currency = Currency.TON + } + @Serializable + data class Other( + @SerialName(currencyField) + override val currency: Currency, + @SerialName(suggestedPostMessageField) + @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) + override val suggestedPostMessage: Message? = null, + @SerialName(amountField) + override val amount: Long? = null, + @SerialName(starAmountField) + override val starAmount: StarAmount? = null + ) : SuggestedPostPaid + + companion object : KSerializer { + override val descriptor: SerialDescriptor + get() = Other.serializer().descriptor + + override fun serialize( + encoder: Encoder, + value: SuggestedPostPaid + ) { + val asOther = value as? Other ?: Other( + currency = value.currency, + amount = value.amount, + starAmount = value.starAmount, + suggestedPostMessage = value.suggestedPostMessage + ) + return Other.serializer().serialize(encoder, asOther) + } + + override fun deserialize(decoder: Decoder): SuggestedPostPaid { + val asOther = Other.serializer().deserialize(decoder) + return when (asOther.currency) { + Currency.TON -> TON( + amount = asOther.amount ?: return asOther, + suggestedPostMessage = asOther.suggestedPostMessage + ) + Currency.XTR -> XTR( + starAmount = asOther.starAmount ?: return asOther, + suggestedPostMessage = asOther.suggestedPostMessage + ) + else -> asOther + } + } + } +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded.kt new file mode 100644 index 0000000000..85dffe5459 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/SuggestedPostRefunded.kt @@ -0,0 +1,19 @@ +package dev.inmo.tgbotapi.types.message.ChatEvents + +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelDirectMessagesEvent +import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent +import dev.inmo.tgbotapi.types.message.abstracts.Message +import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer +import dev.inmo.tgbotapi.types.suggestedPostMessageField +import dev.inmo.tgbotapi.types.reasonField +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class SuggestedPostRefunded( + @SerialName(reasonField) + val reason: String, + @SerialName(suggestedPostMessageField) + @Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class) + val suggestedPostMessage: Message? = null +) : ChannelDirectMessagesEvent diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelDirectMessagesEvent.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelDirectMessagesEvent.kt new file mode 100644 index 0000000000..e8073cf95d --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelDirectMessagesEvent.kt @@ -0,0 +1,3 @@ +package dev.inmo.tgbotapi.types.message.ChatEvents.abstracts + +interface ChannelDirectMessagesEvent : SupergroupEvent diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/SuggestedPostInfo.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/SuggestedPostInfo.kt new file mode 100644 index 0000000000..80868b68dc --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/SuggestedPostInfo.kt @@ -0,0 +1,56 @@ +package dev.inmo.tgbotapi.types.message + +import dev.inmo.tgbotapi.types.payments.SuggestedPostPrice +import dev.inmo.tgbotapi.types.stateField +import dev.inmo.tgbotapi.types.priceField +import dev.inmo.tgbotapi.types.sendDateField +import kotlinx.serialization.KSerializer +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor +import kotlinx.serialization.descriptors.SerialDescriptor +import kotlinx.serialization.encoding.Decoder +import kotlinx.serialization.encoding.Encoder +import kotlin.jvm.JvmInline + +@Serializable +data class SuggestedPostInfo( + @SerialName(stateField) + val state: State, + @SerialName(priceField) + val price: SuggestedPostPrice? = null, + @SerialName(sendDateField) + val sendDate: Int? = null +) { + @Serializable(State.Companion::class) + sealed interface State { + val name: String + @Serializable + data object Pending: State { override val name: String = "pending" } + @Serializable + data object Approved: State { override val name: String = "approved" } + @Serializable + data object Declined: State { override val name: String = "declined" } + @Serializable + @JvmInline + value class Unknown(override val name: String) : State + + companion object : KSerializer { + override val descriptor: SerialDescriptor = + PrimitiveSerialDescriptor("SuggestedPostInfo.State", kotlinx.serialization.descriptors.PrimitiveKind.STRING) + + override fun serialize(encoder: Encoder, value: State) { + encoder.encodeString(value.name) + } + + override fun deserialize(decoder: Decoder): State { + return when (val name = decoder.decodeString()) { + Pending.name -> Pending + Approved.name -> Approved + Declined.name -> Declined + else -> Unknown(name) + } + } + } + } +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/SuggestedPostParameters.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/SuggestedPostParameters.kt new file mode 100644 index 0000000000..12b6fedc11 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/SuggestedPostParameters.kt @@ -0,0 +1,16 @@ +package dev.inmo.tgbotapi.types.message + +import dev.inmo.tgbotapi.types.TelegramDate +import dev.inmo.tgbotapi.types.payments.SuggestedPostPrice +import dev.inmo.tgbotapi.types.priceField +import dev.inmo.tgbotapi.types.sendDateField +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class SuggestedPostParameters( + @SerialName(priceField) + val price: SuggestedPostPrice? = null, + @SerialName(sendDateField) + val sendDate: TelegramDate? = null +) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/SuggestedPostPrice.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/SuggestedPostPrice.kt new file mode 100644 index 0000000000..185c4aeaa4 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/SuggestedPostPrice.kt @@ -0,0 +1,17 @@ +package dev.inmo.tgbotapi.types.payments + +import dev.inmo.tgbotapi.types.amountField +import dev.inmo.tgbotapi.types.currencyField +import dev.inmo.tgbotapi.types.payments.abstracts.Amounted +import dev.inmo.tgbotapi.types.payments.abstracts.Currencied +import dev.inmo.tgbotapi.types.payments.abstracts.Currency +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class SuggestedPostPrice( + @SerialName(currencyField) + override val currency: Currency, + @SerialName(amountField) + override val amount: Long +) : Amounted, Currencied diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/abstracts/Currencied.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/abstracts/Currencied.kt index 2677da9834..995d6d909e 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/abstracts/Currencied.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/payments/abstracts/Currencied.kt @@ -5,6 +5,9 @@ typealias Currency = String val String.Companion.XTR get() = "XTR" +val String.Companion.TON + get() = "TOM" + interface Currencied { val currency: Currency }