diff --git a/tgbotapi.api/api/tgbotapi.api.api b/tgbotapi.api/api/tgbotapi.api.api index f93d8c3549..b9fc8fdb6a 100644 --- a/tgbotapi.api/api/tgbotapi.api.api +++ b/tgbotapi.api/api/tgbotapi.api.api @@ -2365,6 +2365,13 @@ public final class dev/inmo/tgbotapi/extensions/api/stickers/UploadStickerFileKt public static final fun uploadStickerFile-4iNBclM (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/requests/abstracts/MultipartFile;Ldev/inmo/tgbotapi/types/StickerFormat;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } +public final class dev/inmo/tgbotapi/extensions/api/stories/DeleteStoryKt { + public static final fun deleteStory (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;Ldev/inmo/tgbotapi/types/stories/Story;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun deleteStory-8HGAsC4 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun deleteStory-CF6AVbg (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;JLkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun deleteStory-wC12z2M (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/Story;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + public final class dev/inmo/tgbotapi/extensions/api/thumbs/SetCustomEmojiStickerSetThumbKt { public static final fun setCustomEmojiStickerSetThumbnail-FMh0B1w (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/stickers/StickerSet;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun setCustomEmojiStickerSetThumbnail-KofBPHw (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/stories/DeleteStory.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/stories/DeleteStory.kt new file mode 100644 index 0000000000..2acb659eeb --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/stories/DeleteStory.kt @@ -0,0 +1,42 @@ +package dev.inmo.tgbotapi.extensions.api.stories + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.stories.DeleteStory +import dev.inmo.tgbotapi.types.StoryId +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage +import dev.inmo.tgbotapi.types.stories.Story + +/** + * Deletes a story from a business account + */ +public suspend fun TelegramBot.deleteStory( + businessConnectionId: BusinessConnectionId, + storyId: StoryId +): Boolean = execute( + DeleteStory( + businessConnectionId = businessConnectionId, + storyId = storyId + ) +) + +public suspend fun TelegramBot.deleteStory( + message: BusinessContentMessage<*>, + storyId: StoryId +): Boolean = deleteStory( + businessConnectionId = with(message) {message.businessConnectionId}, storyId = storyId +) + +public suspend fun TelegramBot.deleteStory( + businessConnectionId: BusinessConnectionId, + story: Story +): Boolean = deleteStory( + businessConnectionId = businessConnectionId, storyId = with(story) {story.id} +) + +public suspend fun TelegramBot.deleteStory( + message: BusinessContentMessage<*>, + story: Story +): Boolean = deleteStory( + message = message, storyId = with(story) {story.id} +) diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 35325b2d54..80cca3dada 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -8120,6 +8120,38 @@ public final class dev/inmo/tgbotapi/requests/stickers/abstracts/StickerSetActio public static fun getResultDeserializer (Ldev/inmo/tgbotapi/requests/stickers/abstracts/StickerSetAction;)Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/requests/stories/DeleteStory : dev/inmo/tgbotapi/abstracts/types/WithBusinessConnectionId, dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { + public static final field Companion Ldev/inmo/tgbotapi/requests/stories/DeleteStory$Companion; + public synthetic fun (Ljava/lang/String;JLkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-T-_HSQI ()Ljava/lang/String; + public final fun component2-zjviAWM ()J + public final fun copy-Ly3Y4iU (Ljava/lang/String;J)Ldev/inmo/tgbotapi/requests/stories/DeleteStory; + public static synthetic fun copy-Ly3Y4iU$default (Ldev/inmo/tgbotapi/requests/stories/DeleteStory;Ljava/lang/String;JILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/stories/DeleteStory; + public fun equals (Ljava/lang/Object;)Z + public fun getBusinessConnectionId-T-_HSQI ()Ljava/lang/String; + public synthetic fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public final fun getStoryId-zjviAWM ()J + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public synthetic class dev/inmo/tgbotapi/requests/stories/DeleteStory$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/stories/DeleteStory$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/stories/DeleteStory; + 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/stories/DeleteStory;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class dev/inmo/tgbotapi/requests/stories/DeleteStory$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/requests/verifications/RemoveChatVerification : dev/inmo/tgbotapi/abstracts/types/ChatRequest, dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { public static final field Companion Ldev/inmo/tgbotapi/requests/verifications/RemoveChatVerification$Companion; public fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;)V @@ -9704,6 +9736,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field stickerSetNameFullField Ljava/lang/String; public static final field stickerTypeField Ljava/lang/String; public static final field stickersField Ljava/lang/String; + public static final field storyIdField Ljava/lang/String; public static final field streetField Ljava/lang/String; public static final field subscriptionExpirationDateField Ljava/lang/String; public static final field subscriptionPeriodField Ljava/lang/String; diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/stories/DeleteStory.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/stories/DeleteStory.kt new file mode 100644 index 0000000000..60a1781fde --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/stories/DeleteStory.kt @@ -0,0 +1,29 @@ +package dev.inmo.tgbotapi.requests.stories + +import dev.inmo.tgbotapi.abstracts.types.WithBusinessConnectionId +import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest +import dev.inmo.tgbotapi.types.StoryId +import dev.inmo.tgbotapi.types.businessConnectionIdField +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.messageIdField +import dev.inmo.tgbotapi.types.storyIdField +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationStrategy +import kotlinx.serialization.builtins.serializer + +@Serializable +data class DeleteStory( + @SerialName(businessConnectionIdField) + override val businessConnectionId: BusinessConnectionId, + @SerialName(storyIdField) + val storyId: StoryId, +) : SimpleRequest, WithBusinessConnectionId { + override fun method(): String = "deleteStory" + + override val requestSerializer: SerializationStrategy<*> + get() = serializer() + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() +}