diff --git a/tgbotapi.api/api/tgbotapi.api.api b/tgbotapi.api/api/tgbotapi.api.api index 43fca9d0e5..181c28e7e9 100644 --- a/tgbotapi.api/api/tgbotapi.api.api +++ b/tgbotapi.api/api/tgbotapi.api.api @@ -1088,23 +1088,33 @@ public final class dev/inmo/tgbotapi/extensions/api/gifts/GetAvailableGiftsKt { public static final fun getAvailableGifts (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } -public final class dev/inmo/tgbotapi/extensions/api/gifts/SendGiftKt { +public final class dev/inmo/tgbotapi/extensions/api/gifts/SendGiftGeneratedVariationKt { + public static final fun sendGift (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun sendGift (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun sendGift (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/util/List;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun sendGift$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun sendGift$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/util/List;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static final fun sendGift-0SDnvgk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun sendGift-0SDnvgk$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun sendGift-GROm3fU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun sendGift-VjR9mJc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun sendGift-ySMgKnk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class dev/inmo/tgbotapi/extensions/api/gifts/SendGiftKt { public static final fun sendGift-1FWvrZc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun sendGift-1FWvrZc$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static final fun sendGift-CrS58cM (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun sendGift-CrS58cM$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static final fun sendGift-GROm3fU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun sendGift-GROm3fU$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static final fun sendGift-VjR9mJc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun sendGift-VjR9mJc$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static final fun sendGift-ySMgKnk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/gifts/Gift;Ljava/util/List;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun sendGift-ySMgKnk$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/gifts/Gift;Ljava/util/List;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun sendGiftToChat-0SDnvgk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun sendGiftToChat-0SDnvgk$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun sendGiftToChat-GROm3fU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun sendGiftToChat-GROm3fU$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class dev/inmo/tgbotapi/extensions/api/gifts/SendGiftToChatGeneratedVariationKt { + public static final fun sendGiftToChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun sendGiftToChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun sendGiftToChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun sendGiftToChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun sendGiftToChat-0SDnvgk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun sendGiftToChat-GROm3fU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } public final class dev/inmo/tgbotapi/extensions/api/inline/SavePreparedInlineMessageKt { diff --git a/tgbotapi.api/build.gradle b/tgbotapi.api/build.gradle index fe20b4d6bb..c5ef46f015 100644 --- a/tgbotapi.api/build.gradle +++ b/tgbotapi.api/build.gradle @@ -2,6 +2,7 @@ plugins { id "org.jetbrains.kotlin.multiplatform" id "org.jetbrains.kotlin.plugin.serialization" id "org.jetbrains.dokka" + id "com.google.devtools.ksp" } project.description = "API extensions with \"Telegram Bot API\"-like extensions for TelegramBot and RequestsExecutor" @@ -14,6 +15,7 @@ kotlin { commonMain { dependencies { api project(":tgbotapi.core") + api libs.microutils.ksp.variations } } configureEach { @@ -22,3 +24,8 @@ kotlin { } explicitApi() } + +dependencies { + add("kspCommonMainMetadata", libs.microutils.ksp.variations.generator) +} + diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGift.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGift.kt index b86457fa70..bdce832604 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGift.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGift.kt @@ -1,22 +1,37 @@ package dev.inmo.tgbotapi.extensions.api.gifts +import dev.inmo.micro_utils.ksp.variations.GenerateVariations +import dev.inmo.micro_utils.ksp.variations.GenerationVariant import dev.inmo.tgbotapi.bot.TelegramBot import dev.inmo.tgbotapi.requests.gifts.SendGift +import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.GiftId import dev.inmo.tgbotapi.types.UserId +import dev.inmo.tgbotapi.types.chat.PublicChat import dev.inmo.tgbotapi.types.chat.User import dev.inmo.tgbotapi.types.gifts.Gift import dev.inmo.tgbotapi.types.message.ParseMode import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList +@GenerateVariations public suspend fun TelegramBot.sendGift( + @GenerationVariant( + User::class, + "id", + "user" + ) userId: UserId, + @GenerationVariant( + Gift::class, + "id", + "gift" + ) giftId: GiftId, text: String, parseMode: ParseMode?, upgradableToUnique: Boolean = false ): Boolean = execute( - SendGift( + SendGift.toUser( userId = userId, giftId = giftId, text = text, @@ -25,13 +40,51 @@ public suspend fun TelegramBot.sendGift( ) ) +@GenerateVariations +public suspend fun TelegramBot.sendGiftToChat( + @GenerationVariant( + PublicChat::class, + "id", + "chat" + ) + chatId: ChatIdentifier, + @GenerationVariant( + Gift::class, + "id", + "gift" + ) + giftId: GiftId, + text: String, + parseMode: ParseMode?, + upgradableToUnique: Boolean = false +): Boolean = execute( + SendGift.toChat( + chatId = chatId, + giftId = giftId, + text = text, + parseMode = parseMode, + upgradableToUnique = upgradableToUnique + ) +) + +@GenerateVariations public suspend fun TelegramBot.sendGift( + @GenerationVariant( + User::class, + "id", + "user" + ) userId: UserId, + @GenerationVariant( + Gift::class, + "id", + "gift" + ) giftId: GiftId, textSources: TextSourcesList, upgradableToUnique: Boolean = false, ): Boolean = execute( - SendGift( + SendGift.toUser( userId = userId, giftId = giftId, textSources = textSources, @@ -39,81 +92,27 @@ public suspend fun TelegramBot.sendGift( ) ) -public suspend fun TelegramBot.sendGift( - user: User, - giftId: GiftId, - text: String, - parseMode: ParseMode?, - upgradableToUnique: Boolean = false -): Boolean = sendGift( - userId = user.id, - giftId = giftId, - text = text, - parseMode = parseMode, - upgradableToUnique = upgradableToUnique -) - -public suspend fun TelegramBot.sendGift( - user: User, +@GenerateVariations +public suspend fun TelegramBot.sendGiftToChat( + @GenerationVariant( + PublicChat::class, + "id", + "chat" + ) + chatId: ChatIdentifier, + @GenerationVariant( + Gift::class, + "id", + "gift" + ) giftId: GiftId, textSources: TextSourcesList, upgradableToUnique: Boolean = false, -): Boolean = sendGift( - userId = user.id, - giftId = giftId, - textSources = textSources, - upgradableToUnique = upgradableToUnique -) - -public suspend fun TelegramBot.sendGift( - user: UserId, - gift: Gift, - text: String, - parseMode: ParseMode?, - upgradableToUnique: Boolean = false -): Boolean = sendGift( - userId = user, - giftId = gift.id, - text = text, - parseMode = parseMode, - upgradableToUnique = upgradableToUnique -) - -public suspend fun TelegramBot.sendGift( - user: UserId, - gift: Gift, - textSources: TextSourcesList, - upgradableToUnique: Boolean = false, -): Boolean = sendGift( - userId = user, - giftId = gift.id, - textSources = textSources, - upgradableToUnique = upgradableToUnique -) - - -public suspend fun TelegramBot.sendGift( - user: User, - gift: Gift, - text: String, - parseMode: ParseMode?, - upgradableToUnique: Boolean = false -): Boolean = sendGift( - userId = user.id, - giftId = gift.id, - text = text, - parseMode = parseMode, - upgradableToUnique = upgradableToUnique -) - -public suspend fun TelegramBot.sendGift( - user: User, - gift: Gift, - textSources: TextSourcesList, - upgradableToUnique: Boolean = false, -): Boolean = sendGift( - userId = user.id, - giftId = gift.id, - textSources = textSources, - upgradableToUnique = upgradableToUnique +): Boolean = execute( + SendGift.toChat( + chatId = chatId, + giftId = giftId, + textSources = textSources, + upgradableToUnique = upgradableToUnique + ) ) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGiftGeneratedVariation.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGiftGeneratedVariation.kt new file mode 100644 index 0000000000..9340e8ef2d --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGiftGeneratedVariation.kt @@ -0,0 +1,73 @@ +// THIS CODE HAVE BEEN GENERATED AUTOMATICALLY +// TO REGENERATE IT JUST DELETE FILE +// ORIGINAL FILE: SendGift.kt +package dev.inmo.tgbotapi.extensions.api.gifts + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.types.GiftId +import dev.inmo.tgbotapi.types.UserId +import dev.inmo.tgbotapi.types.chat.User +import dev.inmo.tgbotapi.types.gifts.Gift +import dev.inmo.tgbotapi.types.message.ParseMode +import kotlin.Boolean +import kotlin.String + +public suspend fun TelegramBot.sendGift( + user: User, + giftId: GiftId, + text: String, + parseMode: ParseMode?, +): Boolean = sendGift( + userId = with(user) {id}, giftId = giftId, text = text, parseMode = parseMode +) + +public suspend fun TelegramBot.sendGift( + user: User, + giftId: GiftId, + text: String, + parseMode: ParseMode?, + upgradableToUnique: Boolean, +): Boolean = sendGift( + userId = with(user) {id}, giftId = giftId, text = text, parseMode = parseMode, + upgradableToUnique = upgradableToUnique +) + +public suspend fun TelegramBot.sendGift( + userId: UserId, + gift: Gift, + text: String, + parseMode: ParseMode?, +): Boolean = sendGift( + userId = userId, giftId = with(gift) {id}, text = text, parseMode = parseMode +) + +public suspend fun TelegramBot.sendGift( + userId: UserId, + gift: Gift, + text: String, + parseMode: ParseMode?, + upgradableToUnique: Boolean, +): Boolean = sendGift( + userId = userId, giftId = with(gift) {id}, text = text, parseMode = parseMode, + upgradableToUnique = upgradableToUnique +) + +public suspend fun TelegramBot.sendGift( + user: User, + gift: Gift, + text: String, + parseMode: ParseMode?, +): Boolean = sendGift( + user = user, giftId = with(gift) {id}, text = text, parseMode = parseMode +) + +public suspend fun TelegramBot.sendGift( + user: User, + gift: Gift, + text: String, + parseMode: ParseMode?, + upgradableToUnique: Boolean, +): Boolean = sendGift( + user = user, giftId = with(gift) {id}, text = text, parseMode = parseMode, upgradableToUnique = + upgradableToUnique +) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGiftToChatGeneratedVariation.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGiftToChatGeneratedVariation.kt new file mode 100644 index 0000000000..9761fdd0fd --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/gifts/SendGiftToChatGeneratedVariation.kt @@ -0,0 +1,73 @@ +// THIS CODE HAVE BEEN GENERATED AUTOMATICALLY +// TO REGENERATE IT JUST DELETE FILE +// ORIGINAL FILE: SendGift.kt +package dev.inmo.tgbotapi.extensions.api.gifts + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.types.ChatIdentifier +import dev.inmo.tgbotapi.types.GiftId +import dev.inmo.tgbotapi.types.chat.PublicChat +import dev.inmo.tgbotapi.types.gifts.Gift +import dev.inmo.tgbotapi.types.message.ParseMode +import kotlin.Boolean +import kotlin.String + +public suspend fun TelegramBot.sendGiftToChat( + chat: PublicChat, + giftId: GiftId, + text: String, + parseMode: ParseMode?, +): Boolean = sendGiftToChat( + chatId = with(chat) {id}, giftId = giftId, text = text, parseMode = parseMode +) + +public suspend fun TelegramBot.sendGiftToChat( + chat: PublicChat, + giftId: GiftId, + text: String, + parseMode: ParseMode?, + upgradableToUnique: Boolean, +): Boolean = sendGiftToChat( + chatId = with(chat) {id}, giftId = giftId, text = text, parseMode = parseMode, + upgradableToUnique = upgradableToUnique +) + +public suspend fun TelegramBot.sendGiftToChat( + chatId: ChatIdentifier, + gift: Gift, + text: String, + parseMode: ParseMode?, +): Boolean = sendGiftToChat( + chatId = chatId, giftId = with(gift) {id}, text = text, parseMode = parseMode +) + +public suspend fun TelegramBot.sendGiftToChat( + chatId: ChatIdentifier, + gift: Gift, + text: String, + parseMode: ParseMode?, + upgradableToUnique: Boolean, +): Boolean = sendGiftToChat( + chatId = chatId, giftId = with(gift) {id}, text = text, parseMode = parseMode, + upgradableToUnique = upgradableToUnique +) + +public suspend fun TelegramBot.sendGiftToChat( + chat: PublicChat, + gift: Gift, + text: String, + parseMode: ParseMode?, +): Boolean = sendGiftToChat( + chat = chat, giftId = with(gift) {id}, text = text, parseMode = parseMode +) + +public suspend fun TelegramBot.sendGiftToChat( + chat: PublicChat, + gift: Gift, + text: String, + parseMode: ParseMode?, + upgradableToUnique: Boolean, +): Boolean = sendGiftToChat( + chat = chat, giftId = with(gift) {id}, text = text, parseMode = parseMode, upgradableToUnique = + upgradableToUnique +) diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 208be29828..315172b119 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -4570,19 +4570,21 @@ public final class dev/inmo/tgbotapi/requests/gifts/GetAvailableGifts : dev/inmo public final class dev/inmo/tgbotapi/requests/gifts/SendGift : dev/inmo/tgbotapi/abstracts/TextedOutput, dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { public static final field Companion Ldev/inmo/tgbotapi/requests/gifts/SendGift$Companion; - public synthetic fun (JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (JLjava/lang/String;Ljava/util/List;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (JLjava/lang/String;Ljava/util/List;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1-tHkBKVM ()J - public final fun component2-OyCYJok ()Ljava/lang/String; - public final fun component3 ()Ljava/lang/String; - public final fun component4 ()Ldev/inmo/tgbotapi/types/message/ParseMode; - public final fun component6 ()Z - public final fun copy-ekxNoiw (JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Z)Ldev/inmo/tgbotapi/requests/gifts/SendGift; - public static synthetic fun copy-ekxNoiw$default (Ldev/inmo/tgbotapi/requests/gifts/SendGift;JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/gifts/SendGift; + public synthetic fun (Ldev/inmo/tgbotapi/types/ChatId;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-_eYXl24 ()Ldev/inmo/tgbotapi/types/ChatId; + public final fun component2 ()Ldev/inmo/tgbotapi/types/ChatIdentifier; + public final fun component3-OyCYJok ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Ldev/inmo/tgbotapi/types/message/ParseMode; + public final fun component7 ()Z + public final fun copy-xmxulwY (Ldev/inmo/tgbotapi/types/ChatId;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Z)Ldev/inmo/tgbotapi/requests/gifts/SendGift; + public static synthetic fun copy-xmxulwY$default (Ldev/inmo/tgbotapi/requests/gifts/SendGift;Ldev/inmo/tgbotapi/types/ChatId;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/gifts/SendGift; public fun equals (Ljava/lang/Object;)Z + public final fun getChatId ()Ldev/inmo/tgbotapi/types/ChatIdentifier; public fun getEntities ()Ljava/util/List; public final fun getGiftId-OyCYJok ()Ljava/lang/String; public fun getParseMode ()Ldev/inmo/tgbotapi/types/message/ParseMode; @@ -4591,7 +4593,7 @@ public final class dev/inmo/tgbotapi/requests/gifts/SendGift : dev/inmo/tgbotapi public fun getText ()Ljava/lang/String; public fun getTextSources ()Ljava/util/List; public final fun getUpgradableToUnique ()Z - public final fun getUserId-tHkBKVM ()J + public final fun getUserId-_eYXl24 ()Ldev/inmo/tgbotapi/types/ChatId; public fun hashCode ()I public fun method ()Ljava/lang/String; public fun toString ()Ljava/lang/String; @@ -4609,6 +4611,14 @@ public synthetic class dev/inmo/tgbotapi/requests/gifts/SendGift$$serializer : k public final class dev/inmo/tgbotapi/requests/gifts/SendGift$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; + public final fun toChat-A6CMM0Q (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/util/List;Z)Ldev/inmo/tgbotapi/requests/gifts/SendGift; + public static synthetic fun toChat-A6CMM0Q$default (Ldev/inmo/tgbotapi/requests/gifts/SendGift$Companion;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/util/List;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/gifts/SendGift; + public final fun toChat-MXj3T_8 (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Z)Ldev/inmo/tgbotapi/requests/gifts/SendGift; + public static synthetic fun toChat-MXj3T_8$default (Ldev/inmo/tgbotapi/requests/gifts/SendGift$Companion;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/gifts/SendGift; + public final fun toUser-IEl38uo (JLjava/lang/String;Ljava/util/List;Z)Ldev/inmo/tgbotapi/requests/gifts/SendGift; + public static synthetic fun toUser-IEl38uo$default (Ldev/inmo/tgbotapi/requests/gifts/SendGift$Companion;JLjava/lang/String;Ljava/util/List;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/gifts/SendGift; + public final fun toUser-LbrZz8c (JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Z)Ldev/inmo/tgbotapi/requests/gifts/SendGift; + public static synthetic fun toUser-LbrZz8c$default (Ldev/inmo/tgbotapi/requests/gifts/SendGift$Companion;JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/gifts/SendGift; } public final class dev/inmo/tgbotapi/requests/inline/SavePreparedInlineMessage : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/gifts/SendGift.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/gifts/SendGift.kt index 82801bc110..585ea49d90 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/gifts/SendGift.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/gifts/SendGift.kt @@ -19,11 +19,13 @@ import kotlinx.serialization.builtins.serializer @Serializable data class SendGift internal constructor( @SerialName(userIdField) - val userId: UserId, + val userId: UserId? = null, + @SerialName(chatIdField) + val chatId: ChatIdentifier? = null, @SerialName(giftIdField) val giftId: GiftId, @SerialName(textField) - override val text: String, + override val text: String? = null, @SerialName(textParseModeField) override val parseMode: ParseMode?, @SerialName(textEntitiesField) @@ -32,7 +34,11 @@ data class SendGift internal constructor( val upgradableToUnique: Boolean = false ) : SimpleRequest, TextedOutput { override val textSources: TextSourcesList? by lazy { - rawEntities ?.asTextSources(text) + rawEntities ?.let { + text ?.let { _ -> + it.asTextSources(text) + } + } } override fun method(): String = "sendGift" @@ -44,6 +50,7 @@ data class SendGift internal constructor( override val resultDeserializer: DeserializationStrategy get() = Boolean.serializer() + @Deprecated("Use factory function `toUser` instead", ReplaceWith("toUser(userId, giftId, text, parseMode, upgradableToUnique)")) constructor( userId: UserId, giftId: GiftId, @@ -59,17 +66,75 @@ data class SendGift internal constructor( upgradableToUnique = upgradableToUnique ) + @Deprecated("Use factory function `toUser` instead", ReplaceWith("toUser(userId, giftId, textSources, upgradableToUnique)")) constructor( userId: UserId, giftId: GiftId, - textSources: TextSourcesList, + textSources: TextSourcesList? = null, upgradableToUnique: Boolean = false, ) : this( userId = userId, giftId = giftId, - text = textSources.makeSourceString(), + text = textSources ?.makeSourceString(), parseMode = null, - rawEntities = textSources.toRawMessageEntities(), + rawEntities = textSources ?.toRawMessageEntities(), upgradableToUnique = upgradableToUnique ) + + companion object { + fun toUser( + userId: UserId, + giftId: GiftId, + text: String, + parseMode: ParseMode?, + upgradableToUnique: Boolean = false + ) = SendGift( + userId = userId, + giftId = giftId, + text = text, + parseMode = parseMode, + rawEntities = null, + upgradableToUnique = upgradableToUnique + ) + fun toUser( + userId: UserId, + giftId: GiftId, + textSources: TextSourcesList? = null, + upgradableToUnique: Boolean = false, + ) = SendGift( + userId = userId, + giftId = giftId, + text = textSources ?.makeSourceString(), + parseMode = null, + rawEntities = textSources ?.toRawMessageEntities(), + upgradableToUnique = upgradableToUnique + ) + fun toChat( + chatId: ChatIdentifier, + giftId: GiftId, + text: String, + parseMode: ParseMode?, + upgradableToUnique: Boolean = false + ) = SendGift( + chatId = chatId, + giftId = giftId, + text = text, + parseMode = parseMode, + rawEntities = null, + upgradableToUnique = upgradableToUnique + ) + fun toChat( + chatId: ChatIdentifier, + giftId: GiftId, + textSources: TextSourcesList? = null, + upgradableToUnique: Boolean = false, + ) = SendGift( + chatId = chatId, + giftId = giftId, + text = textSources ?.makeSourceString(), + parseMode = null, + rawEntities = textSources ?.toRawMessageEntities(), + upgradableToUnique = upgradableToUnique + ) + } }