mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-22 08:13:47 +00:00
updates in caption and text lengths
This commit is contained in:
parent
7cd5666e88
commit
ab9ceba41c
@ -52,8 +52,7 @@
|
|||||||
### 0.27.5
|
### 0.27.5
|
||||||
|
|
||||||
* `TelegramotAPI`:
|
* `TelegramotAPI`:
|
||||||
* Fix: `SendTextMessage` will correctly check the length of incoming text
|
* Fix: for sending requests caption and text lengths limits were updated
|
||||||
* Constant `maxTextLength` was added
|
|
||||||
|
|
||||||
### 0.27.4
|
### 0.27.4
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.TextContent
|
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.TextContent
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.utils.throwRangeError
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|
||||||
internal val TextContentMessageResultDeserializer: DeserializationStrategy<ContentMessage<TextContent>>
|
internal val TextContentMessageResultDeserializer: DeserializationStrategy<ContentMessage<TextContent>>
|
||||||
@ -36,8 +37,8 @@ data class SendTextMessage(
|
|||||||
DisableWebPagePreview
|
DisableWebPagePreview
|
||||||
{
|
{
|
||||||
init {
|
init {
|
||||||
if (text.length > maxTextLength) {
|
if (text.length !in textLength) {
|
||||||
throw IllegalArgumentException("Text length must be less than $maxTextLength, but was ${text.length}")
|
throwRangeError("Text length", textLength, text.length)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,9 +26,8 @@ typealias LongSeconds = Long
|
|||||||
|
|
||||||
val getUpdatesLimit = 1 .. 100
|
val getUpdatesLimit = 1 .. 100
|
||||||
val callbackQueryAnswerLength = 0 until 200
|
val callbackQueryAnswerLength = 0 until 200
|
||||||
val captionLength = 0 until 1024
|
val captionLength = 0 .. 1024
|
||||||
val textLength = 0 until 4096
|
val textLength = 1 .. 4096
|
||||||
val maxTextLength = textLength.last + 1
|
|
||||||
val userProfilePhotosRequestLimit = 0 .. 100
|
val userProfilePhotosRequestLimit = 0 .. 100
|
||||||
val chatTitleLength = 1 until 255
|
val chatTitleLength = 1 until 255
|
||||||
val chatDescriptionLength = 0 until 256
|
val chatDescriptionLength = 0 until 256
|
||||||
|
@ -8,7 +8,7 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.fullEnti
|
|||||||
|
|
||||||
fun createFormattedText(
|
fun createFormattedText(
|
||||||
entities: FullTextSourcesList,
|
entities: FullTextSourcesList,
|
||||||
partLength: Int = maxTextLength,
|
partLength: Int = textLength.last,
|
||||||
mode: ParseMode = MarkdownParseMode
|
mode: ParseMode = MarkdownParseMode
|
||||||
): List<String> {
|
): List<String> {
|
||||||
val texts = mutableListOf<String>()
|
val texts = mutableListOf<String>()
|
||||||
@ -49,7 +49,7 @@ fun createFormattedText(
|
|||||||
|
|
||||||
fun createMarkdownText(
|
fun createMarkdownText(
|
||||||
entities: FullTextSourcesList,
|
entities: FullTextSourcesList,
|
||||||
partLength: Int = maxTextLength
|
partLength: Int = textLength.last
|
||||||
): List<String> = createFormattedText(entities, partLength, MarkdownParseMode)
|
): List<String> = createFormattedText(entities, partLength, MarkdownParseMode)
|
||||||
|
|
||||||
fun FullTextSourcesList.toMarkdownCaptions(): List<String> = createMarkdownText(
|
fun FullTextSourcesList.toMarkdownCaptions(): List<String> = createMarkdownText(
|
||||||
@ -60,7 +60,7 @@ fun CaptionedInput.toMarkdownCaptions(): List<String> = fullEntitiesList().toMar
|
|||||||
|
|
||||||
fun FullTextSourcesList.toMarkdownTexts(): List<String> = createMarkdownText(
|
fun FullTextSourcesList.toMarkdownTexts(): List<String> = createMarkdownText(
|
||||||
this,
|
this,
|
||||||
maxTextLength
|
textLength.last
|
||||||
)
|
)
|
||||||
fun TextContent.toMarkdownTexts(): List<String> = fullEntitiesList().toMarkdownTexts()
|
fun TextContent.toMarkdownTexts(): List<String> = fullEntitiesList().toMarkdownTexts()
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ fun ExplainedInput.toMarkdownExplanations(): List<String> = fullEntitiesList().t
|
|||||||
|
|
||||||
fun createMarkdownV2Text(
|
fun createMarkdownV2Text(
|
||||||
entities: FullTextSourcesList,
|
entities: FullTextSourcesList,
|
||||||
partLength: Int = maxTextLength
|
partLength: Int = textLength.last
|
||||||
): List<String> = createFormattedText(entities, partLength, MarkdownV2ParseMode)
|
): List<String> = createFormattedText(entities, partLength, MarkdownV2ParseMode)
|
||||||
|
|
||||||
fun FullTextSourcesList.toMarkdownV2Captions(): List<String> = createMarkdownV2Text(
|
fun FullTextSourcesList.toMarkdownV2Captions(): List<String> = createMarkdownV2Text(
|
||||||
@ -84,7 +84,7 @@ fun CaptionedInput.toMarkdownV2Captions(): List<String> = fullEntitiesList().toM
|
|||||||
|
|
||||||
fun FullTextSourcesList.toMarkdownV2Texts(): List<String> = createMarkdownV2Text(
|
fun FullTextSourcesList.toMarkdownV2Texts(): List<String> = createMarkdownV2Text(
|
||||||
this,
|
this,
|
||||||
maxTextLength
|
textLength.last
|
||||||
)
|
)
|
||||||
fun TextContent.toMarkdownV2Texts(): List<String> = fullEntitiesList().toMarkdownV2Texts()
|
fun TextContent.toMarkdownV2Texts(): List<String> = fullEntitiesList().toMarkdownV2Texts()
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ fun CaptionedInput.toHtmlCaptions(): List<String> = fullEntitiesList().toHtmlCap
|
|||||||
|
|
||||||
fun FullTextSourcesList.toHtmlTexts(): List<String> = createHtmlText(
|
fun FullTextSourcesList.toHtmlTexts(): List<String> = createHtmlText(
|
||||||
this,
|
this,
|
||||||
maxTextLength
|
textLength.last
|
||||||
)
|
)
|
||||||
fun TextContent.toHtmlTexts(): List<String> = fullEntitiesList().toHtmlTexts()
|
fun TextContent.toHtmlTexts(): List<String> = fullEntitiesList().toHtmlTexts()
|
||||||
|
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
package com.github.insanusmokrassar.TelegramBotAPI.utils
|
||||||
|
|
||||||
|
internal fun throwRangeError(
|
||||||
|
valueName: String,
|
||||||
|
range: IntRange,
|
||||||
|
actualValue: Int
|
||||||
|
): Nothing = error("$valueName must be in range $range, but was $actualValue")
|
Loading…
Reference in New Issue
Block a user