diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 15d1cc1d36..90261b7374 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -29808,6 +29808,8 @@ public final class dev/inmo/tgbotapi/utils/extensions/StringKt { public static final fun escapeMarkdownV2Common (Ljava/lang/String;)Ljava/lang/String; public static final fun escapeMarkdownV2Link (Ljava/lang/String;)Ljava/lang/String; public static final fun escapeMarkdownV2PreAndCode (Ljava/lang/String;)Ljava/lang/String; + public static final fun splitForCaption (Ljava/lang/String;)Ljava/util/List; + public static final fun splitForText (Ljava/lang/String;)Ljava/util/List; public static final fun toHtml (Ljava/lang/String;)Ljava/lang/String; public static final fun toMarkdown (Ljava/lang/String;)Ljava/lang/String; } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt index 9357318d56..d099c46b47 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt @@ -55,7 +55,7 @@ val horizontalAccuracyLimit = 0F .. 1500F val getUpdatesLimit = 1 .. 100 val callbackQueryAnswerLength = 0 until 200 -val captionLength = 0 .. 1024 +val captionLength = 0 .. 2048 val textLength = 1 .. 4096 val userProfilePhotosRequestLimit = 0 .. 100 val chatTitleLength = 1 until 255 diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/String.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/String.kt index 4ead2814d8..869c922192 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/String.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/String.kt @@ -1,5 +1,8 @@ package dev.inmo.tgbotapi.utils.extensions +import dev.inmo.tgbotapi.types.captionLength +import dev.inmo.tgbotapi.types.textLength + fun String.toMarkdown(): String { return replace( "*", @@ -53,3 +56,6 @@ fun String.toHtml(): String = replace( "&", "&" ) + +fun String.splitForText() = chunked(textLength.last) +fun String.splitForCaption() = chunked(captionLength.last)