2020-10-04 11:06:30 +00:00
|
|
|
package dev.inmo.tgbotapi.CommonAbstracts
|
2019-12-11 07:49:17 +00:00
|
|
|
|
2021-05-29 08:23:25 +00:00
|
|
|
import dev.inmo.tgbotapi.types.MessageEntity.textsources.*
|
|
|
|
import dev.inmo.tgbotapi.types.MessageEntity.textsources.MultilevelTextSource
|
|
|
|
import dev.inmo.tgbotapi.types.MessageEntity.textsources.TextSource
|
|
|
|
import dev.inmo.tgbotapi.types.MessageEntity.textsources.TextSourcesList
|
|
|
|
import dev.inmo.tgbotapi.types.MessageEntity.textsources.separateForCaption
|
|
|
|
import dev.inmo.tgbotapi.types.MessageEntity.textsources.separateForMessage
|
|
|
|
import dev.inmo.tgbotapi.types.MessageEntity.textsources.separateForText
|
2021-05-29 09:34:14 +00:00
|
|
|
import dev.inmo.tgbotapi.types.captionLength
|
|
|
|
import dev.inmo.tgbotapi.types.textLength
|
2021-06-28 18:01:40 +00:00
|
|
|
import dev.inmo.tgbotapi.utils.extensions.makeString
|
2020-11-06 06:59:55 +00:00
|
|
|
|
2021-05-29 08:23:25 +00:00
|
|
|
const val DirectInvocationOfTextSourceConstructor =
|
|
|
|
"It is strongly not recommended to use constructors directly instead of factory methods"
|
2020-11-06 12:52:59 +00:00
|
|
|
|
2021-05-29 08:23:25 +00:00
|
|
|
@Deprecated(
|
|
|
|
"Replaced",
|
|
|
|
ReplaceWith("TextSourcesList", "dev.inmo.tgbotapi.types.MessageEntity.textsources.TextSourcesList")
|
|
|
|
)
|
|
|
|
typealias TextSourcesList = TextSourcesList
|
2021-04-12 17:23:18 +00:00
|
|
|
|
2021-05-29 08:23:25 +00:00
|
|
|
@Deprecated("Replaced", ReplaceWith("TextSource", "dev.inmo.tgbotapi.types.MessageEntity.textsources.TextSource"))
|
2021-05-29 10:02:55 +00:00
|
|
|
typealias TextSource = TextSource
|
2020-01-05 13:24:17 +00:00
|
|
|
|
2020-11-06 12:52:59 +00:00
|
|
|
@Suppress("NOTHING_TO_INLINE")
|
2021-05-29 08:23:25 +00:00
|
|
|
@Deprecated("Replaced", ReplaceWith("plus", "dev.inmo.tgbotapi.types.MessageEntity.textsources.plus"))
|
2021-05-29 10:02:55 +00:00
|
|
|
inline operator fun TextSource.plus(other: TextSource) =
|
2021-05-29 08:23:25 +00:00
|
|
|
listOf(this, other)
|
|
|
|
|
2020-11-06 12:52:59 +00:00
|
|
|
@Suppress("NOTHING_TO_INLINE")
|
2021-05-29 08:23:25 +00:00
|
|
|
@Deprecated("Replaced", ReplaceWith("plus", "dev.inmo.tgbotapi.types.MessageEntity.textsources.plus"))
|
2021-05-29 10:02:55 +00:00
|
|
|
inline operator fun TextSource.plus(other: List<TextSource>) =
|
2021-05-29 08:23:25 +00:00
|
|
|
listOf(this) + other
|
2020-01-05 13:24:17 +00:00
|
|
|
|
2021-05-29 08:23:25 +00:00
|
|
|
@Suppress("NOTHING_TO_INLINE")
|
|
|
|
@Deprecated("Replaced", ReplaceWith("plus", "dev.inmo.tgbotapi.types.MessageEntity.textsources.plus"))
|
2021-05-29 10:02:55 +00:00
|
|
|
inline operator fun TextSource.plus(text: String) =
|
2021-05-29 08:23:25 +00:00
|
|
|
listOf(this, regular(text))
|
2021-04-12 17:23:18 +00:00
|
|
|
|
2021-05-29 08:23:25 +00:00
|
|
|
@Suppress("NOTHING_TO_INLINE")
|
|
|
|
@Deprecated("Replaced", ReplaceWith("plus", "dev.inmo.tgbotapi.types.MessageEntity.textsources.plus"))
|
2021-05-29 09:34:14 +00:00
|
|
|
inline operator fun List<TextSource>.plus(text: String) = this + regular(text)
|
2020-01-05 13:24:17 +00:00
|
|
|
|
2021-05-29 08:23:25 +00:00
|
|
|
@Deprecated(
|
|
|
|
"Replaced",
|
|
|
|
ReplaceWith("MultilevelTextSource", "dev.inmo.tgbotapi.types.MessageEntity.textsources.MultilevelTextSource")
|
2020-01-05 13:24:17 +00:00
|
|
|
)
|
2021-05-29 08:23:25 +00:00
|
|
|
typealias MultilevelTextSource = MultilevelTextSource
|
2020-04-24 12:46:26 +00:00
|
|
|
|
2021-06-28 18:01:40 +00:00
|
|
|
@Deprecated("Replaced", ReplaceWith("makeString()", "dev.inmo.tgbotapi.utils.extensions.makeString"))
|
2021-05-29 09:34:14 +00:00
|
|
|
fun List<TextSource>.makeString() = makeString()
|
2021-04-28 13:54:57 +00:00
|
|
|
|
2021-05-29 08:23:25 +00:00
|
|
|
@Deprecated(
|
|
|
|
"Replaced",
|
|
|
|
ReplaceWith("separateForMessage", "dev.inmo.tgbotapi.types.MessageEntity.textsources.separateForMessage")
|
|
|
|
)
|
2021-05-29 09:34:14 +00:00
|
|
|
fun List<TextSource>.separateForMessage(limit: IntRange, numberOfParts: Int? = null) =
|
2021-05-29 08:23:25 +00:00
|
|
|
separateForMessage(limit, numberOfParts)
|
2020-11-06 06:59:55 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* This method will prepare [TextSource]s list for messages. Remember, that first part will be separated with
|
|
|
|
* [captionLength] and all others with
|
|
|
|
*/
|
2021-05-29 08:23:25 +00:00
|
|
|
@Deprecated(
|
|
|
|
"Replaced",
|
|
|
|
ReplaceWith("separateForCaption", "dev.inmo.tgbotapi.types.MessageEntity.textsources.separateForCaption")
|
|
|
|
)
|
2021-05-29 08:31:44 +00:00
|
|
|
fun List<TextSource>.separateForCaption() = separateForCaption()
|
2020-11-06 06:59:55 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* This method will prepare [TextSource]s list for messages with [textLength]
|
|
|
|
*/
|
|
|
|
@Suppress("NOTHING_TO_INLINE")
|
2021-05-29 08:23:25 +00:00
|
|
|
@Deprecated(
|
|
|
|
"Replaced",
|
|
|
|
ReplaceWith("separateForText", "dev.inmo.tgbotapi.types.MessageEntity.textsources.separateForText")
|
|
|
|
)
|
|
|
|
inline fun List<TextSource>.separateForText() = separateForText()
|