diff --git a/CHANGELOG.md b/CHANGELOG.md index 185bcdc1a3..0c6e884507 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,11 @@ * `TextMentionMessageEntity` now accept `PrivateChat` instead of `User` in main constructor * `TextMentionMessageEntity` now contains not user, but contains `PrivateChat` * Fixeed: `TextMentionMessageEntity#asHtmlSource` previously worked incorrect +* Abstraction `TextSource` + * `MessageEntity` now extends `TextSource` + * `createFormattedText` method now accept `List` + * `createHtmlText` method now accept `List` + * `createMarkdownText` method now accept `List` ## 0.19.0 ImplicitReflection removing diff --git a/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/CommonAbstracts/TextSource.kt b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/CommonAbstracts/TextSource.kt new file mode 100644 index 0000000000..6a40155809 --- /dev/null +++ b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/CommonAbstracts/TextSource.kt @@ -0,0 +1,6 @@ +package com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts + +interface TextSource { + val asMarkdownSource: String + val asHtmlSource: String +} \ No newline at end of file diff --git a/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/MessageEntity.kt b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/MessageEntity.kt index 5b85448cec..79a68f9997 100644 --- a/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/MessageEntity.kt +++ b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/MessageEntity.kt @@ -1,10 +1,9 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity -interface MessageEntity { +import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.TextSource + +interface MessageEntity : TextSource { val offset: Int val length: Int val sourceString: String - - val asMarkdownSource: String - val asHtmlSource: String } diff --git a/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/Captions.kt b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/Captions.kt index 2a4584a44a..5eca85548f 100644 --- a/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/Captions.kt +++ b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/Captions.kt @@ -1,6 +1,7 @@ package com.github.insanusmokrassar.TelegramBotAPI.utils import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.CaptionedInput +import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.TextSource import com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity.MessageEntity import com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity.RegularTextMessageEntity import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.* @@ -37,7 +38,7 @@ fun convertToFullMessageEntityList( } fun createFormattedText( - entities: List, + entities: List, partLength: Int = 4096, mode: ParseMode = MarkdownParseMode ): List { diff --git a/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/HtmlCaptionSourcer.kt b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/HtmlCaptionSourcer.kt index 7a8bc212ce..a36b52bee5 100644 --- a/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/HtmlCaptionSourcer.kt +++ b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/HtmlCaptionSourcer.kt @@ -1,6 +1,7 @@ package com.github.insanusmokrassar.TelegramBotAPI.utils import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.CaptionedInput +import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.TextSource import com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity.MessageEntity import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.HTMLParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.captionLength @@ -8,7 +9,7 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.TextCont import com.github.insanusmokrassar.TelegramBotAPI.types.textLength fun createHtmlText( - entities: List, + entities: List, partLength: Int = 4096 ): List = createFormattedText(entities, partLength, HTMLParseMode) diff --git a/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/MarkdownCaptionSourcer.kt b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/MarkdownCaptionSourcer.kt index 30d32aa32e..c506670702 100644 --- a/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/MarkdownCaptionSourcer.kt +++ b/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/MarkdownCaptionSourcer.kt @@ -1,6 +1,7 @@ package com.github.insanusmokrassar.TelegramBotAPI.utils import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.CaptionedInput +import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.TextSource import com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity.MessageEntity import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.MarkdownParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.captionLength @@ -8,7 +9,7 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.TextCont import com.github.insanusmokrassar.TelegramBotAPI.types.textLength fun createMarkdownText( - entities: List, + entities: List, partLength: Int = 4096 ): List = createFormattedText(entities, partLength, MarkdownParseMode)