mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-09-03 15:19:30 +00:00
add support of PostStory and EditStory
This commit is contained in:
@@ -8340,6 +8340,114 @@ public final class dev/inmo/tgbotapi/requests/stories/DeleteStory$Companion {
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/requests/stories/EditStory : dev/inmo/tgbotapi/abstracts/TextedOutput, dev/inmo/tgbotapi/requests/abstracts/BusinessRequest$Multipart {
|
||||
public static final field Companion Ldev/inmo/tgbotapi/requests/stories/EditStory$Companion;
|
||||
public synthetic fun <init> (Ljava/lang/String;JLdev/inmo/tgbotapi/types/stories/InputStoryContent;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;JLdev/inmo/tgbotapi/types/stories/InputStoryContent;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;JLdev/inmo/tgbotapi/types/stories/InputStoryContent;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;JLdev/inmo/tgbotapi/types/stories/InputStoryContent;Ljava/util/List;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;JLdev/inmo/tgbotapi/types/stories/InputStoryContent;Ljava/util/List;Ljava/util/List;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;JLdev/inmo/tgbotapi/types/stories/InputStoryContent;Ljava/util/List;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public final fun component1-T-_HSQI ()Ljava/lang/String;
|
||||
public final fun component2-zjviAWM ()J
|
||||
public final fun component3 ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent;
|
||||
public final fun component4 ()Ljava/lang/String;
|
||||
public final fun component5 ()Ldev/inmo/tgbotapi/types/message/ParseMode;
|
||||
public final fun component7 ()Ljava/util/List;
|
||||
public final fun copy-isQzPXY (Ljava/lang/String;JLdev/inmo/tgbotapi/types/stories/InputStoryContent;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Ljava/util/List;)Ldev/inmo/tgbotapi/requests/stories/EditStory;
|
||||
public static synthetic fun copy-isQzPXY$default (Ldev/inmo/tgbotapi/requests/stories/EditStory;Ljava/lang/String;JLdev/inmo/tgbotapi/types/stories/InputStoryContent;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/stories/EditStory;
|
||||
public fun equals (Ljava/lang/Object;)Z
|
||||
public final fun getAreas ()Ljava/util/List;
|
||||
public fun getBusinessConnectionId-T-_HSQI ()Ljava/lang/String;
|
||||
public synthetic fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String;
|
||||
public final fun getContent ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent;
|
||||
public fun getData ()Ldev/inmo/tgbotapi/requests/abstracts/SimpleRequest;
|
||||
public fun getEntities ()Ljava/util/List;
|
||||
public fun getMediaMap ()Ljava/util/Map;
|
||||
public fun getParamsJson ()Lkotlinx/serialization/json/JsonObject;
|
||||
public fun getParseMode ()Ldev/inmo/tgbotapi/types/message/ParseMode;
|
||||
public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy;
|
||||
public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy;
|
||||
public final fun getStoryId-zjviAWM ()J
|
||||
public fun getText ()Ljava/lang/String;
|
||||
public fun getTextSources ()Ljava/util/List;
|
||||
public fun hashCode ()I
|
||||
public fun method ()Ljava/lang/String;
|
||||
public fun toString ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public synthetic class dev/inmo/tgbotapi/requests/stories/EditStory$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
|
||||
public static final field INSTANCE Ldev/inmo/tgbotapi/requests/stories/EditStory$$serializer;
|
||||
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/stories/EditStory;
|
||||
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/EditStory;)V
|
||||
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/requests/stories/EditStory$Companion {
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/requests/stories/PostStory : dev/inmo/tgbotapi/abstracts/TextedOutput, dev/inmo/tgbotapi/requests/abstracts/BusinessRequest$Multipart {
|
||||
public static final field ACTIVE_PERIOD_12_HOURS I
|
||||
public static final field ACTIVE_PERIOD_24_HOURS I
|
||||
public static final field ACTIVE_PERIOD_48_HOURS I
|
||||
public static final field ACTIVE_PERIOD_6_HOURS I
|
||||
public static final field Companion Ldev/inmo/tgbotapi/requests/stories/PostStory$Companion;
|
||||
public synthetic fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;ZZLkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;Ljava/util/List;ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;Ljava/util/List;ZZLkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;ZZILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public synthetic fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/util/List;ZZLkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
public final fun component1-T-_HSQI ()Ljava/lang/String;
|
||||
public final fun component2 ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent;
|
||||
public final fun component3 ()I
|
||||
public final fun component4 ()Ljava/lang/String;
|
||||
public final fun component5 ()Ldev/inmo/tgbotapi/types/message/ParseMode;
|
||||
public final fun component7 ()Ljava/util/List;
|
||||
public final fun component8 ()Z
|
||||
public final fun component9 ()Z
|
||||
public final fun copy-beo5bKg (Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Ljava/util/List;ZZ)Ldev/inmo/tgbotapi/requests/stories/PostStory;
|
||||
public static synthetic fun copy-beo5bKg$default (Ldev/inmo/tgbotapi/requests/stories/PostStory;Ljava/lang/String;Ldev/inmo/tgbotapi/types/stories/InputStoryContent;ILjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Ljava/util/List;ZZILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/stories/PostStory;
|
||||
public fun equals (Ljava/lang/Object;)Z
|
||||
public final fun getActivePeriod ()I
|
||||
public final fun getAreas ()Ljava/util/List;
|
||||
public fun getBusinessConnectionId-T-_HSQI ()Ljava/lang/String;
|
||||
public synthetic fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String;
|
||||
public final fun getContent ()Ldev/inmo/tgbotapi/types/stories/InputStoryContent;
|
||||
public fun getData ()Ldev/inmo/tgbotapi/requests/abstracts/SimpleRequest;
|
||||
public fun getEntities ()Ljava/util/List;
|
||||
public fun getMediaMap ()Ljava/util/Map;
|
||||
public fun getParamsJson ()Lkotlinx/serialization/json/JsonObject;
|
||||
public fun getParseMode ()Ldev/inmo/tgbotapi/types/message/ParseMode;
|
||||
public final fun getPostToChatPage ()Z
|
||||
public final fun getProtectContent ()Z
|
||||
public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy;
|
||||
public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy;
|
||||
public fun getText ()Ljava/lang/String;
|
||||
public fun getTextSources ()Ljava/util/List;
|
||||
public fun hashCode ()I
|
||||
public fun method ()Ljava/lang/String;
|
||||
public fun toString ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public synthetic class dev/inmo/tgbotapi/requests/stories/PostStory$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
|
||||
public static final field INSTANCE Ldev/inmo/tgbotapi/requests/stories/PostStory$$serializer;
|
||||
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/stories/PostStory;
|
||||
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/PostStory;)V
|
||||
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/requests/stories/PostStory$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 <init> (Ldev/inmo/tgbotapi/types/ChatIdentifier;)V
|
||||
@@ -9459,6 +9567,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt {
|
||||
public static final field accentColorIdField Ljava/lang/String;
|
||||
public static final field acceptedGiftTypesField Ljava/lang/String;
|
||||
public static final field actionField Ljava/lang/String;
|
||||
public static final field activePeriodField Ljava/lang/String;
|
||||
public static final field activeUsernamesField Ljava/lang/String;
|
||||
public static final field actorChatField Ljava/lang/String;
|
||||
public static final field addDateField Ljava/lang/String;
|
||||
@@ -9479,6 +9588,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt {
|
||||
public static final field allowsWriteToPMField Ljava/lang/String;
|
||||
public static final field amountField Ljava/lang/String;
|
||||
public static final field animationField Ljava/lang/String;
|
||||
public static final field areasField Ljava/lang/String;
|
||||
public static final field audioDurationField Ljava/lang/String;
|
||||
public static final field audioField Ljava/lang/String;
|
||||
public static final field audioFileIdField Ljava/lang/String;
|
||||
@@ -9581,6 +9691,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt {
|
||||
public static final field colorsField Ljava/lang/String;
|
||||
public static final field commissionPerMilleField Ljava/lang/String;
|
||||
public static final field containsMasksField Ljava/lang/String;
|
||||
public static final field contentField Ljava/lang/String;
|
||||
public static final field convertStarCountField Ljava/lang/String;
|
||||
public static final field copyTextField Ljava/lang/String;
|
||||
public static final field cornerRadiusPercentageField Ljava/lang/String;
|
||||
@@ -9829,6 +9940,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt {
|
||||
public static final field pollIdField Ljava/lang/String;
|
||||
public static final field positionField Ljava/lang/String;
|
||||
public static final field postCodeField Ljava/lang/String;
|
||||
public static final field postToChatPageField Ljava/lang/String;
|
||||
public static final field preCheckoutQueryIdField Ljava/lang/String;
|
||||
public static final field preferLargeMediaField Ljava/lang/String;
|
||||
public static final field preferSmallMediaField Ljava/lang/String;
|
||||
@@ -28389,9 +28501,14 @@ public final class dev/inmo/tgbotapi/types/stories/StoryAreaType$SuggestedReacti
|
||||
}
|
||||
|
||||
public abstract interface class dev/inmo/tgbotapi/types/stories/StoryAreaType$Type {
|
||||
public static final field Companion Ldev/inmo/tgbotapi/types/stories/StoryAreaType$Type$Companion;
|
||||
public abstract fun getName ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/stories/StoryAreaType$Type$Companion {
|
||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||
}
|
||||
|
||||
public final class dev/inmo/tgbotapi/types/stories/StoryAreaType$UniqueGift : dev/inmo/tgbotapi/types/stories/StoryAreaType {
|
||||
public static final field Companion Ldev/inmo/tgbotapi/types/stories/StoryAreaType$UniqueGift$Companion;
|
||||
public fun <init> (Ljava/lang/String;)V
|
||||
|
@@ -0,0 +1,108 @@
|
||||
package dev.inmo.tgbotapi.requests.stories
|
||||
|
||||
import dev.inmo.tgbotapi.abstracts.TextedOutput
|
||||
import dev.inmo.tgbotapi.requests.abstracts.BusinessRequest
|
||||
import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
|
||||
import dev.inmo.tgbotapi.requests.stories.PostStory
|
||||
import dev.inmo.tgbotapi.types.Seconds
|
||||
import dev.inmo.tgbotapi.types.StoryId
|
||||
import dev.inmo.tgbotapi.types.activePeriodField
|
||||
import dev.inmo.tgbotapi.types.areasField
|
||||
import dev.inmo.tgbotapi.types.businessConnectionIdField
|
||||
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import dev.inmo.tgbotapi.types.captionEntitiesField
|
||||
import dev.inmo.tgbotapi.types.captionField
|
||||
import dev.inmo.tgbotapi.types.contentField
|
||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||
import dev.inmo.tgbotapi.types.message.RawMessageEntity
|
||||
import dev.inmo.tgbotapi.types.message.asTextSources
|
||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
||||
import dev.inmo.tgbotapi.types.message.toRawMessageEntities
|
||||
import dev.inmo.tgbotapi.types.postToChatPageField
|
||||
import dev.inmo.tgbotapi.types.protectContentField
|
||||
import dev.inmo.tgbotapi.types.stories.InputStoryContent
|
||||
import dev.inmo.tgbotapi.types.stories.Story
|
||||
import dev.inmo.tgbotapi.types.stories.StoryArea
|
||||
import dev.inmo.tgbotapi.types.storyIdField
|
||||
import dev.inmo.tgbotapi.utils.extensions.makeString
|
||||
import kotlinx.serialization.DeserializationStrategy
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.SerializationStrategy
|
||||
|
||||
@Serializable
|
||||
data class EditStory private constructor(
|
||||
@SerialName(businessConnectionIdField)
|
||||
override val businessConnectionId: BusinessConnectionId,
|
||||
@SerialName(storyIdField)
|
||||
val storyId: StoryId,
|
||||
@SerialName(contentField)
|
||||
val content: InputStoryContent,
|
||||
@SerialName(captionField)
|
||||
override val text: String? = null,
|
||||
@SerialName(parseModeField)
|
||||
override val parseMode: ParseMode? = null,
|
||||
@SerialName(captionEntitiesField)
|
||||
private val textEntities: List<RawMessageEntity>? = null,
|
||||
@SerialName(areasField)
|
||||
val areas: List<StoryArea> = emptyList(),
|
||||
) : BusinessRequest.Multipart<Story>, TextedOutput {
|
||||
override val textSources: List<TextSource>? by lazy {
|
||||
textEntities ?.asTextSources(text ?: return@lazy null)
|
||||
}
|
||||
|
||||
override val resultDeserializer: DeserializationStrategy<Story>
|
||||
get() = Story.serializer()
|
||||
override val mediaMap: Map<String, MultipartFile>
|
||||
get() = mapOf(content.media)
|
||||
override val requestSerializer: SerializationStrategy<*>
|
||||
get() = serializer()
|
||||
|
||||
constructor(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
storyId: StoryId,
|
||||
content: InputStoryContent,
|
||||
textSources: List<TextSource>,
|
||||
areas: List<StoryArea> = emptyList(),
|
||||
) : this(
|
||||
businessConnectionId = businessConnectionId,
|
||||
storyId = storyId,
|
||||
content = content,
|
||||
text = textSources.makeString(),
|
||||
parseMode = null,
|
||||
textEntities = textSources.toRawMessageEntities(),
|
||||
areas = areas,
|
||||
)
|
||||
constructor(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
storyId: StoryId,
|
||||
content: InputStoryContent,
|
||||
text: String,
|
||||
parseMode: ParseMode? = null,
|
||||
areas: List<StoryArea> = emptyList(),
|
||||
) : this(
|
||||
businessConnectionId = businessConnectionId,
|
||||
storyId = storyId,
|
||||
content = content,
|
||||
text = text,
|
||||
parseMode = parseMode,
|
||||
textEntities = null,
|
||||
areas = areas,
|
||||
)
|
||||
constructor(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
storyId: StoryId,
|
||||
content: InputStoryContent,
|
||||
areas: List<StoryArea> = emptyList(),
|
||||
) : this(
|
||||
businessConnectionId = businessConnectionId,
|
||||
storyId = storyId,
|
||||
content = content,
|
||||
text = null,
|
||||
parseMode = null,
|
||||
textEntities = null,
|
||||
areas = areas,
|
||||
)
|
||||
override fun method(): String = "editStory"
|
||||
}
|
@@ -0,0 +1,129 @@
|
||||
package dev.inmo.tgbotapi.requests.stories
|
||||
|
||||
import dev.inmo.tgbotapi.abstracts.TextedOutput
|
||||
import dev.inmo.tgbotapi.requests.abstracts.BusinessRequest
|
||||
import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
|
||||
import dev.inmo.tgbotapi.types.Seconds
|
||||
import dev.inmo.tgbotapi.types.activePeriodField
|
||||
import dev.inmo.tgbotapi.types.areasField
|
||||
import dev.inmo.tgbotapi.types.businessConnectionIdField
|
||||
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import dev.inmo.tgbotapi.types.captionEntitiesField
|
||||
import dev.inmo.tgbotapi.types.captionField
|
||||
import dev.inmo.tgbotapi.types.contentField
|
||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||
import dev.inmo.tgbotapi.types.message.RawMessageEntity
|
||||
import dev.inmo.tgbotapi.types.message.asTextSources
|
||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
||||
import dev.inmo.tgbotapi.types.message.toRawMessageEntities
|
||||
import dev.inmo.tgbotapi.types.postToChatPageField
|
||||
import dev.inmo.tgbotapi.types.protectContentField
|
||||
import dev.inmo.tgbotapi.types.stories.InputStoryContent
|
||||
import dev.inmo.tgbotapi.types.stories.Story
|
||||
import dev.inmo.tgbotapi.types.stories.StoryArea
|
||||
import dev.inmo.tgbotapi.utils.extensions.makeString
|
||||
import kotlinx.serialization.DeserializationStrategy
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.SerializationStrategy
|
||||
|
||||
@Serializable
|
||||
data class PostStory private constructor(
|
||||
@SerialName(businessConnectionIdField)
|
||||
override val businessConnectionId: BusinessConnectionId,
|
||||
@SerialName(contentField)
|
||||
val content: InputStoryContent,
|
||||
@SerialName(activePeriodField)
|
||||
val activePeriod: Seconds,
|
||||
@SerialName(captionField)
|
||||
override val text: String? = null,
|
||||
@SerialName(parseModeField)
|
||||
override val parseMode: ParseMode? = null,
|
||||
@SerialName(captionEntitiesField)
|
||||
private val textEntities: List<RawMessageEntity>? = null,
|
||||
@SerialName(areasField)
|
||||
val areas: List<StoryArea> = emptyList(),
|
||||
@SerialName(postToChatPageField)
|
||||
val postToChatPage: Boolean = false,
|
||||
@SerialName(protectContentField)
|
||||
val protectContent: Boolean = false,
|
||||
) : BusinessRequest.Multipart<Story>, TextedOutput {
|
||||
override val textSources: List<TextSource>? by lazy {
|
||||
textEntities ?.asTextSources(text ?: return@lazy null)
|
||||
}
|
||||
|
||||
override val resultDeserializer: DeserializationStrategy<Story>
|
||||
get() = Story.serializer()
|
||||
override val mediaMap: Map<String, MultipartFile>
|
||||
get() = mapOf(content.media)
|
||||
override val requestSerializer: SerializationStrategy<*>
|
||||
get() = serializer()
|
||||
|
||||
constructor(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
content: InputStoryContent,
|
||||
activePeriod: Seconds,
|
||||
textSources: List<TextSource>,
|
||||
areas: List<StoryArea> = emptyList(),
|
||||
postToChatPage: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
) : this(
|
||||
businessConnectionId = businessConnectionId,
|
||||
content = content,
|
||||
activePeriod = activePeriod,
|
||||
text = textSources.makeString(),
|
||||
parseMode = null,
|
||||
textEntities = textSources.toRawMessageEntities(),
|
||||
areas = areas,
|
||||
postToChatPage = postToChatPage,
|
||||
protectContent = protectContent
|
||||
)
|
||||
constructor(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
content: InputStoryContent,
|
||||
activePeriod: Seconds,
|
||||
text: String,
|
||||
parseMode: ParseMode? = null,
|
||||
areas: List<StoryArea> = emptyList(),
|
||||
postToChatPage: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
) : this(
|
||||
businessConnectionId = businessConnectionId,
|
||||
content = content,
|
||||
activePeriod = activePeriod,
|
||||
text = text,
|
||||
parseMode = parseMode,
|
||||
textEntities = null,
|
||||
areas = areas,
|
||||
postToChatPage = postToChatPage,
|
||||
protectContent = protectContent
|
||||
)
|
||||
constructor(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
content: InputStoryContent,
|
||||
activePeriod: Seconds,
|
||||
areas: List<StoryArea> = emptyList(),
|
||||
postToChatPage: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
) : this(
|
||||
businessConnectionId = businessConnectionId,
|
||||
content = content,
|
||||
activePeriod = activePeriod,
|
||||
text = null,
|
||||
parseMode = null,
|
||||
textEntities = null,
|
||||
areas = areas,
|
||||
postToChatPage = postToChatPage,
|
||||
protectContent = protectContent
|
||||
)
|
||||
|
||||
override fun method(): String = "postStory"
|
||||
|
||||
companion object {
|
||||
const val ACTIVE_PERIOD_6_HOURS: Seconds = 6 * 3600
|
||||
const val ACTIVE_PERIOD_12_HOURS: Seconds = 12 * 3600
|
||||
const val ACTIVE_PERIOD_24_HOURS: Seconds = 24 * 3600 // 86400
|
||||
const val ACTIVE_PERIOD_48_HOURS: Seconds = 48 * 3600 // 2 * 86400
|
||||
}
|
||||
}
|
@@ -744,6 +744,10 @@ const val colorsField = "colors"
|
||||
const val topColorField = "top_color"
|
||||
const val bottomColorField = "bottom_color"
|
||||
const val rotationAngleField = "rotation_angle"
|
||||
const val contentField = "content"
|
||||
const val activePeriodField = "active_period"
|
||||
const val areasField = "areas"
|
||||
const val postToChatPageField = "post_to_chat_page"
|
||||
|
||||
const val fillField = "fill"
|
||||
const val darkThemeDimmingField = "dark_theme_dimming"
|
||||
|
@@ -6,6 +6,8 @@ import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class StoryArea(
|
||||
@SerialName(positionField)
|
||||
val position: StoryAreaPosition,
|
||||
@SerialName(typeField)
|
||||
val type: StoryAreaType
|
||||
)
|
||||
|
@@ -8,6 +8,7 @@ import dev.inmo.tgbotapi.utils.IntRGB24HEXAColorSerializer
|
||||
import dev.inmo.tgbotapi.utils.LongRGBAFromHEXAColorSerializer
|
||||
import dev.inmo.tgbotapi.utils.decodeDataAndJson
|
||||
import kotlinx.serialization.*
|
||||
import kotlinx.serialization.builtins.serializer
|
||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||
import kotlinx.serialization.encoding.Decoder
|
||||
import kotlinx.serialization.encoding.Encoder
|
||||
@@ -18,6 +19,7 @@ import kotlin.jvm.JvmInline
|
||||
sealed interface StoryAreaType {
|
||||
val type: Type
|
||||
|
||||
@Serializable(TypeSerializer::class)
|
||||
sealed interface Type {
|
||||
val name: String
|
||||
}
|
||||
@@ -113,6 +115,26 @@ sealed interface StoryAreaType {
|
||||
}
|
||||
|
||||
companion object : KSerializer<StoryAreaType> {
|
||||
private object TypeSerializer : KSerializer<Type> {
|
||||
override val descriptor: SerialDescriptor
|
||||
get() = String.serializer().descriptor
|
||||
|
||||
override fun deserialize(decoder: Decoder): Type {
|
||||
val raw = decoder.decodeString()
|
||||
return when (raw) {
|
||||
Location.name -> Location
|
||||
SuggestedReaction.name -> SuggestedReaction
|
||||
Link.name -> Link
|
||||
Weather.name -> Weather
|
||||
UniqueGift.name -> UniqueGift
|
||||
else -> Unknown.Custom(raw)
|
||||
}
|
||||
}
|
||||
|
||||
override fun serialize(encoder: Encoder, value: Type) {
|
||||
encoder.encodeString(value.name)
|
||||
}
|
||||
}
|
||||
@Serializable
|
||||
data class Surrogate(
|
||||
@SerialName(typeField)
|
||||
|
Reference in New Issue
Block a user