1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-09-03 15:19:30 +00:00

add support of general changes

This commit is contained in:
2025-07-07 21:48:23 +06:00
parent b8530f14ca
commit c990d987f5
13 changed files with 265 additions and 1 deletions

View File

@@ -1737,6 +1737,14 @@ public final class dev/inmo/tgbotapi/requests/bot/GetMyShortDescription$Companio
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/requests/bot/GetMyStarBalance : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest {
public static final field INSTANCE Ldev/inmo/tgbotapi/requests/bot/GetMyStarBalance;
public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy;
public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy;
public fun method ()Ljava/lang/String;
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public abstract interface class dev/inmo/tgbotapi/requests/bot/MyCommandsRequest : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest, dev/inmo/tgbotapi/types/abstracts/WithOptionalLanguageCode {
public abstract fun getScope ()Ldev/inmo/tgbotapi/types/commands/BotCommandScope;
}
@@ -9378,6 +9386,62 @@ public final class dev/inmo/tgbotapi/types/CallbackQueryId$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public abstract interface class dev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChannelEvent {
public static final field Companion Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Companion;
public abstract fun getCost ()Ljava/lang/Integer;
public abstract fun getEnabled ()Z
}
public final class dev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Companion : kotlinx/serialization/KSerializer {
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged;
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/ChannelDirectMessagesConfigurationChanged;)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/ChannelDirectMessagesConfigurationChanged$Disabled : dev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Disabled;
public fun getCost ()Ljava/lang/Integer;
public fun getEnabled ()Z
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Free : dev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Free;
public fun getCost ()Ljava/lang/Integer;
public fun getEnabled ()Z
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Paid : dev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged {
public static final field Companion Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Paid$Companion;
public fun <init> (I)V
public final fun component1 ()I
public final fun copy (I)Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Paid;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Paid;IILjava/lang/Object;)Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Paid;
public fun equals (Ljava/lang/Object;)Z
public fun getCost ()Ljava/lang/Integer;
public fun getEnabled ()Z
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
public synthetic class dev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Paid$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Paid$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Paid;
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/ChannelDirectMessagesConfigurationChanged$Paid;)V
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
}
public final class dev/inmo/tgbotapi/types/ChannelDirectMessagesConfigurationChanged$Paid$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/ChatId : dev/inmo/tgbotapi/types/IdChatIdentifier {
public static final field Companion Ldev/inmo/tgbotapi/types/ChatId$Companion;
public static final synthetic fun box-impl (J)Ldev/inmo/tgbotapi/types/ChatId;

View File

@@ -0,0 +1,15 @@
package dev.inmo.tgbotapi.requests.bot
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.chat.ExtendedBot
import dev.inmo.tgbotapi.types.payments.stars.StarAmount
import kotlinx.serialization.*
@Serializable
object GetMyStarBalance : SimpleRequest<StarAmount> {
override fun method(): String = "getMyStarBalance"
override val resultDeserializer: DeserializationStrategy<StarAmount>
get() = StarAmount.serializer()
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -71,7 +71,7 @@ val invoicePayloadBytesLimit = 1 until 128
val pollOptionTextLength = 1 .. 100
val pollQuestionTextLength = 1 .. 300
val pollOptionsLimit = 2 .. 10
val pollOptionsLimit = 2 .. 12
val livePeriodLimit = 60 .. LiveLocation.INDEFINITE_LIVE_PERIOD

View File

@@ -0,0 +1,71 @@
package dev.inmo.tgbotapi.types
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelEvent
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
@Serializable
sealed interface ChannelDirectMessagesConfigurationChanged : ChannelEvent {
val enabled: Boolean
val cost: Int?
@Serializable
object Disabled : ChannelDirectMessagesConfigurationChanged {
override val enabled: Boolean
get() = false
override val cost: Int?
get() = null
}
@Serializable
object Free : ChannelDirectMessagesConfigurationChanged {
override val enabled: Boolean
get() = true
override val cost: Int
get() = 0
}
@Serializable
data class Paid(
override val cost: Int
) : ChannelDirectMessagesConfigurationChanged {
override val enabled: Boolean
get() = true
}
companion object : KSerializer<ChannelDirectMessagesConfigurationChanged> {
@Serializable
private data class RawDirectMessagePriceChanged(
val are_direct_messages_enabled: Boolean = false,
val direct_message_star_count: Int? = null
)
override val descriptor: SerialDescriptor
get() = RawDirectMessagePriceChanged.serializer().descriptor
override fun serialize(
encoder: Encoder,
value: ChannelDirectMessagesConfigurationChanged
) {
RawDirectMessagePriceChanged.serializer().serialize(
encoder,
RawDirectMessagePriceChanged(
value.enabled,
value.cost
)
)
}
override fun deserialize(decoder: Decoder): ChannelDirectMessagesConfigurationChanged {
val raw = RawDirectMessagePriceChanged.serializer().deserialize(decoder)
return when {
raw.are_direct_messages_enabled == false -> Disabled
raw.direct_message_star_count == null || raw.direct_message_star_count == 0 -> Free
else -> Paid(
raw.direct_message_star_count
)
}
}
}
}

View File

@@ -171,6 +171,9 @@ internal data class RawMessage(
private val checklist_tasks_done: ChecklistTasksDone? = null,
private val checklist_tasks_added: ChecklistTasksAdded? = null,
// Channel direct messages
private val direct_message_price_changed: ChannelDirectMessagesConfigurationChanged? = null,
// Gifts
private val gift: GiftSentOrReceived.Regular? = null,
private val unique_gift: GiftSentOrReceived.Unique? = null,
@@ -301,6 +304,7 @@ internal data class RawMessage(
unique_gift != null -> unique_gift
checklist_tasks_done != null -> checklist_tasks_done
checklist_tasks_added != null -> checklist_tasks_added
direct_message_price_changed != null -> direct_message_price_changed
else -> null
}
}