2021-05-29 08:23:25 +00:00
|
|
|
package dev.inmo.tgbotapi.types.buttons
|
|
|
|
|
2022-07-10 19:43:04 +00:00
|
|
|
import dev.inmo.tgbotapi.types.*
|
2021-05-29 08:23:25 +00:00
|
|
|
import kotlinx.serialization.*
|
|
|
|
|
|
|
|
@Serializable
|
|
|
|
data class ReplyForce(
|
2021-06-25 19:48:41 +00:00
|
|
|
val selective: Boolean? = null,
|
|
|
|
@SerialName(inputFieldPlaceholderField)
|
|
|
|
val inputFieldPlaceholder: String? = null
|
2021-05-29 08:23:25 +00:00
|
|
|
) : KeyboardMarkup {
|
2022-07-10 19:43:04 +00:00
|
|
|
@SerialName(forceReplyField)
|
2021-05-29 08:23:25 +00:00
|
|
|
@Required
|
|
|
|
val forceReply: Boolean = true
|
|
|
|
|
|
|
|
companion object {
|
2022-07-10 19:27:28 +00:00
|
|
|
fun Selective(inputFieldPlaceholder: String? = null) = ReplyForce(true, inputFieldPlaceholder)
|
|
|
|
fun NonSelective(inputFieldPlaceholder: String? = null) = ReplyForce(false, inputFieldPlaceholder)
|
|
|
|
val Selective = Selective()
|
|
|
|
val NonSelective = NonSelective()
|
|
|
|
val Default = ReplyForce()
|
2021-05-29 08:23:25 +00:00
|
|
|
}
|
2021-06-25 19:48:41 +00:00
|
|
|
|
|
|
|
init {
|
|
|
|
if (inputFieldPlaceholder != null && inputFieldPlaceholder.length !in inputFieldPlaceholderLimit) {
|
|
|
|
error("Field $inputFieldPlaceholderField length must be in $inputFieldPlaceholderLimit, but was ${inputFieldPlaceholder.length}")
|
|
|
|
}
|
|
|
|
}
|
2021-05-29 08:23:25 +00:00
|
|
|
}
|