1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-03 00:15:27 +00:00
tgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/CommonAbstracts/Texted.kt

37 lines
1.1 KiB
Kotlin
Raw Normal View History

package dev.inmo.tgbotapi.CommonAbstracts
import dev.inmo.tgbotapi.types.MessageEntity.textsources.TextSource
import dev.inmo.tgbotapi.types.ParseMode.ParseMode
interface Texted {
val text: String?
}
2021-04-29 05:52:38 +00:00
interface TextedWithTextSources : Texted {
/**
* Full list of [TextSource] built from source[TextedInput.textEntities]
*/
val textSources: List<dev.inmo.tgbotapi.types.MessageEntity.textsources.TextSource>?
2021-04-29 05:52:38 +00:00
}
interface ParsableOutput : Texted {
val parseMode: ParseMode?
}
2021-04-29 05:52:38 +00:00
interface EntitiesOutput : TextedWithTextSources {
val entities: List<dev.inmo.tgbotapi.types.MessageEntity.textsources.TextSource>?
2021-04-29 05:52:38 +00:00
get() = textSources
}
interface TextedOutput : ParsableOutput, EntitiesOutput
2021-04-29 05:52:38 +00:00
interface TextedInput : TextedWithTextSources {
override val textSources: List<TextSource>
/**
2021-01-06 17:06:48 +00:00
* Here must be full list of entities. This list must contains [TextPart]s with
* [dev.inmo.tgbotapi.types.MessageEntity.textsources.RegularTextSource] in case if source text contains parts of
* regular text
*/
val textEntities: List<TextPart>
2021-04-27 10:08:36 +00:00
get() = textSources.toTextParts()
}