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

fixes in stories

This commit is contained in:
2025-06-01 20:23:38 +06:00
parent 44f92e8d6c
commit 824d3862e3
4 changed files with 112 additions and 13 deletions

View File

@@ -2419,7 +2419,9 @@ public final class dev/inmo/tgbotapi/extensions/api/stories/PostStoryKt {
public static final fun postStory-TVoEmL0 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;Ljava/util/List;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun postStory-TVoEmL0 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;Ljava/util/List;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun postStory-TVoEmL0$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;Ljava/util/List;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static synthetic fun postStory-TVoEmL0$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;Ljava/util/List;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public static final fun postStory-rseRIdU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun postStory-rseRIdU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static final fun postStory-rseRIdU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;ZZLdev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public static synthetic fun postStory-rseRIdU$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static synthetic fun postStory-rseRIdU$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
public static synthetic fun postStory-rseRIdU$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;ZZLdev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
} }
public final class dev/inmo/tgbotapi/extensions/api/thumbs/SetCustomEmojiStickerSetThumbKt { public final class dev/inmo/tgbotapi/extensions/api/thumbs/SetCustomEmojiStickerSetThumbKt {

View File

@@ -9,6 +9,8 @@ import dev.inmo.tgbotapi.types.message.textsources.TextSource
import dev.inmo.tgbotapi.types.stories.InputStoryContent import dev.inmo.tgbotapi.types.stories.InputStoryContent
import dev.inmo.tgbotapi.types.stories.Story import dev.inmo.tgbotapi.types.stories.Story
import dev.inmo.tgbotapi.types.stories.StoryArea import dev.inmo.tgbotapi.types.stories.StoryArea
import dev.inmo.tgbotapi.utils.EntitiesBuilderBody
import dev.inmo.tgbotapi.utils.buildEntities
public suspend fun TelegramBot.postStory( public suspend fun TelegramBot.postStory(
businessConnectionId: BusinessConnectionId, businessConnectionId: BusinessConnectionId,
@@ -30,6 +32,27 @@ public suspend fun TelegramBot.postStory(
) )
) )
public suspend fun TelegramBot.postStory(
businessConnectionId: BusinessConnectionId,
content: InputStoryContent,
activePeriod: Seconds,
areas: List<StoryArea> = emptyList(),
postToChatPage: Boolean = false,
protectContent: Boolean = false,
separator: TextSource? = null,
textBuilder: EntitiesBuilderBody
): Story = execute(
PostStory(
businessConnectionId = businessConnectionId,
content = content,
activePeriod = activePeriod,
textSources = buildEntities(separator, textBuilder),
areas = areas,
postToChatPage = postToChatPage,
protectContent = protectContent
)
)
public suspend fun TelegramBot.postStory( public suspend fun TelegramBot.postStory(
businessConnectionId: BusinessConnectionId, businessConnectionId: BusinessConnectionId,
content: InputStoryContent, content: InputStoryContent,

View File

@@ -28201,7 +28201,8 @@ public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Photo : dev
public fun equals (Ljava/lang/Object;)Z public fun equals (Ljava/lang/Object;)Z
public fun getMedia ()Lkotlin/Pair; public fun getMedia ()Lkotlin/Pair;
public final fun getPhoto ()Ldev/inmo/tgbotapi/requests/abstracts/MultipartFile; public final fun getPhoto ()Ldev/inmo/tgbotapi/requests/abstracts/MultipartFile;
public fun getType ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Type; public fun getType ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Photo$Type;
public synthetic fun getType ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Type;
public fun hashCode ()I public fun hashCode ()I
public fun toString ()Ljava/lang/String; public fun toString ()Ljava/lang/String;
} }
@@ -28216,15 +28217,59 @@ public synthetic class dev/inmo/tgbotapi/types/stories/InputStoryContent$Photo$$
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
} }
public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Photo$Companion : dev/inmo/tgbotapi/types/stories/InputStoryContent$Type { public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Photo$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Photo$Type : dev/inmo/tgbotapi/types/stories/InputStoryContent$Type {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Photo$Type;
public fun getName ()Ljava/lang/String; public fun getName ()Ljava/lang/String;
public final fun serializer ()Lkotlinx/serialization/KSerializer; public final fun serializer ()Lkotlinx/serialization/KSerializer;
} }
public abstract interface class dev/inmo/tgbotapi/types/stories/InputStoryContent$Type { public abstract interface class dev/inmo/tgbotapi/types/stories/InputStoryContent$Type {
public static final field Companion Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Type$Companion;
public abstract fun getName ()Ljava/lang/String; public abstract fun getName ()Ljava/lang/String;
} }
public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Type$Companion : kotlinx/serialization/KSerializer {
public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Type;
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/stories/InputStoryContent$Type;)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/stories/InputStoryContent$Type$Companion$Unknown : dev/inmo/tgbotapi/types/stories/InputStoryContent$Type {
public static final field Companion Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Type$Companion$Unknown$Companion;
public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Type$Companion$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 synthetic class dev/inmo/tgbotapi/types/stories/InputStoryContent$Type$Companion$Unknown$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Type$Companion$Unknown$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public final fun deserialize-Nkg-lXw (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-QzjOhRc (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V
}
public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Type$Companion$Unknown$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Video : dev/inmo/tgbotapi/types/stories/InputStoryContent { public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Video : dev/inmo/tgbotapi/types/stories/InputStoryContent {
public static final field Companion Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Video$Companion; public static final field Companion Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Video$Companion;
public fun <init> (Ldev/inmo/tgbotapi/requests/abstracts/MultipartFile;Ljava/lang/Double;Ljava/lang/Double;Z)V public fun <init> (Ldev/inmo/tgbotapi/requests/abstracts/MultipartFile;Ljava/lang/Double;Ljava/lang/Double;Z)V
@@ -28239,7 +28284,8 @@ public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Video : dev
public final fun getCoverFrameTimeStamp ()Ljava/lang/Double; public final fun getCoverFrameTimeStamp ()Ljava/lang/Double;
public final fun getDuration ()Ljava/lang/Double; public final fun getDuration ()Ljava/lang/Double;
public fun getMedia ()Lkotlin/Pair; public fun getMedia ()Lkotlin/Pair;
public fun getType ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Type; public synthetic fun getType ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Type;
public fun getType ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Video$Type;
public final fun getVideo ()Ldev/inmo/tgbotapi/requests/abstracts/MultipartFile; public final fun getVideo ()Ldev/inmo/tgbotapi/requests/abstracts/MultipartFile;
public fun hashCode ()I public fun hashCode ()I
public final fun isAnimation ()Z public final fun isAnimation ()Z
@@ -28256,7 +28302,12 @@ public synthetic class dev/inmo/tgbotapi/types/stories/InputStoryContent$Video$$
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
} }
public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Video$Companion : dev/inmo/tgbotapi/types/stories/InputStoryContent$Type { public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Video$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/stories/InputStoryContent$Video$Type : dev/inmo/tgbotapi/types/stories/InputStoryContent$Type {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/stories/InputStoryContent$Video$Type;
public fun getName ()Ljava/lang/String; public fun getName ()Ljava/lang/String;
public final fun serializer ()Lkotlinx/serialization/KSerializer; public final fun serializer ()Lkotlinx/serialization/KSerializer;
} }

View File

@@ -12,11 +12,31 @@ import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder import kotlinx.serialization.encoding.Encoder
import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonObject
import kotlin.jvm.JvmInline
@Serializable @Serializable(InputStoryContent.Companion::class)
sealed interface InputStoryContent { sealed interface InputStoryContent {
@Serializable(Type.Companion::class)
sealed interface Type { sealed interface Type {
val name: String val name: String
companion object : KSerializer<Type> {
@Serializable
@JvmInline
value class Unknown(override val name: String) : Type
override val descriptor: SerialDescriptor
get() = String.serializer().descriptor
override fun serialize(encoder: Encoder, value: Type) { encoder.encodeString(value.name) }
override fun deserialize(decoder: Decoder): Type {
val name = decoder.decodeString()
return when (name) {
Photo.Type.name -> Photo.Type
Video.Type.name -> Video.Type
else -> Unknown(name)
}
}
}
} }
val type : Type val type : Type
val media: Pair<String, MultipartFile> val media: Pair<String, MultipartFile>
@@ -27,13 +47,14 @@ sealed interface InputStoryContent {
val photo: MultipartFile val photo: MultipartFile
) : InputStoryContent { ) : InputStoryContent {
@EncodeDefault @EncodeDefault
override val type: Type = Companion override val type: Type = Type
override val media: Pair<String, MultipartFile> override val media: Pair<String, MultipartFile>
get() = photo.fileId to photo get() = photo.fileId to photo
companion object : Type { @Serializable(InputStoryContent.Type.Companion::class)
override val name: String object Type : InputStoryContent.Type {
get() = "photo" @EncodeDefault
override val name: String = "photo"
} }
} }
@Serializable @Serializable
@@ -48,14 +69,16 @@ sealed interface InputStoryContent {
val isAnimation: Boolean = false val isAnimation: Boolean = false
) : InputStoryContent { ) : InputStoryContent {
@EncodeDefault @EncodeDefault
override val type: Type = Companion override val type: Type = Type
override val media: Pair<String, MultipartFile> override val media: Pair<String, MultipartFile>
get() = video.fileId to video get() = video.fileId to video
companion object : Type { @Serializable(InputStoryContent.Type.Companion::class)
override val name: String object Type : InputStoryContent.Type {
get() = "video" @EncodeDefault
override val name: String = "video"
} }
} }
companion object : KSerializer<InputStoryContent> { companion object : KSerializer<InputStoryContent> {