From ac05fa0fe354dfb3d47f8f8261e8d886d2f14142 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 17 Feb 2026 22:05:38 +0600 Subject: [PATCH] add support of SetMyProfilePhoto and RemoveMyProfilePhoto --- gradle.properties | 2 +- tgbotapi.api/api/tgbotapi.api.api | 8 ++++ .../api/bot/RemoveMyProfilePhoto.kt | 6 +++ .../extensions/api/bot/SetMyProfilePhoto.kt | 9 ++++ tgbotapi.core/api/tgbotapi.core.api | 41 +++++++++++++++++++ .../requests/bot/RemoveMyProfilePhoto.kt | 16 ++++++++ .../requests/bot/SetMyProfilePhoto.kt | 29 +++++++++++++ 7 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/bot/RemoveMyProfilePhoto.kt create mode 100644 tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/bot/SetMyProfilePhoto.kt create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/bot/RemoveMyProfilePhoto.kt create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto.kt diff --git a/gradle.properties b/gradle.properties index f2dc6a3c72..67efefc681 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,4 +6,4 @@ kotlin.incremental=true kotlin.incremental.js=true library_group=dev.inmo -library_version=31.0.0 +library_version=31.0.0-t8 diff --git a/tgbotapi.api/api/tgbotapi.api.api b/tgbotapi.api/api/tgbotapi.api.api index 862da31edc..3e3180eb2f 100644 --- a/tgbotapi.api/api/tgbotapi.api.api +++ b/tgbotapi.api/api/tgbotapi.api.api @@ -297,6 +297,10 @@ public final class dev/inmo/tgbotapi/extensions/api/bot/GetMyStarBalanceKt { public static final fun getMyStarBalance (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } +public final class dev/inmo/tgbotapi/extensions/api/bot/RemoveMyProfilePhotoKt { + public static final fun removeMyProfilePhoto (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + public final class dev/inmo/tgbotapi/extensions/api/bot/SetMyCommandsKt { public static final fun setMyCommands (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/util/List;Ldev/inmo/tgbotapi/types/commands/BotCommandScope;Ldev/inmo/micro_utils/language_codes/IetfLang;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun setMyCommands (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/util/List;Ldev/inmo/tgbotapi/types/commands/BotCommandScope;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -327,6 +331,10 @@ public final class dev/inmo/tgbotapi/extensions/api/bot/SetMyNameKt { public static synthetic fun setMyName$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/micro_utils/language_codes/IetfLang;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; } +public final class dev/inmo/tgbotapi/extensions/api/bot/SetMyProfilePhotoKt { + public static final fun setMyProfilePhoto (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + public final class dev/inmo/tgbotapi/extensions/api/bot/SetMyShortDescriptionKt { public static final fun setMyShortDescription (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/micro_utils/language_codes/IetfLang;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun setMyShortDescription (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/bot/RemoveMyProfilePhoto.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/bot/RemoveMyProfilePhoto.kt new file mode 100644 index 0000000000..e7e5c13cae --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/bot/RemoveMyProfilePhoto.kt @@ -0,0 +1,6 @@ +package dev.inmo.tgbotapi.extensions.api.bot + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.bot.RemoveMyProfilePhoto + +public suspend fun TelegramBot.removeMyProfilePhoto(): Boolean = execute(RemoveMyProfilePhoto) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/bot/SetMyProfilePhoto.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/bot/SetMyProfilePhoto.kt new file mode 100644 index 0000000000..5c34541b31 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/bot/SetMyProfilePhoto.kt @@ -0,0 +1,9 @@ +package dev.inmo.tgbotapi.extensions.api.bot + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.bot.SetMyProfilePhoto +import dev.inmo.tgbotapi.requests.business_connection.InputProfilePhoto + +public suspend fun TelegramBot.setMyProfilePhoto( + photo: InputProfilePhoto +): Boolean = execute(SetMyProfilePhoto(photo)) diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index fc26d3f870..66d492fdeb 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -1799,6 +1799,14 @@ public final class dev/inmo/tgbotapi/requests/bot/MyCommandsRequest$DefaultImpls public static fun getLanguageCode (Ldev/inmo/tgbotapi/requests/bot/MyCommandsRequest;)Ljava/lang/String; } +public final class dev/inmo/tgbotapi/requests/bot/RemoveMyProfilePhoto : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/bot/RemoveMyProfilePhoto; + 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 final class dev/inmo/tgbotapi/requests/bot/SetMyCommands : dev/inmo/tgbotapi/requests/bot/MyCommandsRequest { public static final field Companion Ldev/inmo/tgbotapi/requests/bot/SetMyCommands$Companion; public fun (Ljava/util/List;Ldev/inmo/tgbotapi/types/commands/BotCommandScope;Ldev/inmo/micro_utils/language_codes/IetfLang;)V @@ -1911,6 +1919,39 @@ public final class dev/inmo/tgbotapi/requests/bot/SetMyName$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto : dev/inmo/tgbotapi/requests/abstracts/MultipartRequest$Common { + public static final field Companion Ldev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto$Companion; + public fun (Ldev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto;)V + public final fun component1 ()Ldev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto; + public final fun copy (Ldev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto;)Ldev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto;Ldev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto; + public fun equals (Ljava/lang/Object;)Z + public fun getData ()Ldev/inmo/tgbotapi/requests/abstracts/SimpleRequest; + public fun getMediaMap ()Ljava/util/Map; + public fun getParamsJson ()Lkotlinx/serialization/json/JsonObject; + public final fun getPhoto ()Ldev/inmo/tgbotapi/requests/business_connection/InputProfilePhoto; + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto; + 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/requests/bot/SetMyProfilePhoto;)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/requests/bot/SetMyProfilePhoto$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/requests/bot/SetMyShortDescription : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest, dev/inmo/tgbotapi/types/abstracts/WithOptionalLanguageCode { public static final field Companion Ldev/inmo/tgbotapi/requests/bot/SetMyShortDescription$Companion; public fun ()V diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/bot/RemoveMyProfilePhoto.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/bot/RemoveMyProfilePhoto.kt new file mode 100644 index 0000000000..6a9cb13aa4 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/bot/RemoveMyProfilePhoto.kt @@ -0,0 +1,16 @@ +package dev.inmo.tgbotapi.requests.bot + +import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationStrategy +import kotlinx.serialization.builtins.serializer + +@Serializable +object RemoveMyProfilePhoto : SimpleRequest { + override fun method(): String = "removeMyProfilePhoto" + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto.kt new file mode 100644 index 0000000000..7a00d05bf4 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/bot/SetMyProfilePhoto.kt @@ -0,0 +1,29 @@ +package dev.inmo.tgbotapi.requests.bot + +import dev.inmo.tgbotapi.requests.abstracts.* +import dev.inmo.tgbotapi.requests.business_connection.InputProfilePhoto +import dev.inmo.tgbotapi.types.photoField +import kotlinx.serialization.* +import kotlinx.serialization.builtins.serializer +import kotlinx.serialization.json.JsonObject + +@Serializable +data class SetMyProfilePhoto( + @SerialName(photoField) + val photo: InputProfilePhoto +) : MultipartRequest.Common { + override fun method(): String = "setMyProfilePhoto" + + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() + override val requestSerializer: SerializationStrategy<*> + get() = serializer() + + override val data: SimpleRequest + get() = this + + @Suppress("SERIALIZER_TYPE_INCOMPATIBLE") + override val mediaMap: Map = mapOf( + photo.mediaPair + ) +}