30 lines
1005 B
Kotlin
30 lines
1005 B
Kotlin
package dev.inmo.tgbotapi.types.buttons
|
|
|
|
import dev.inmo.tgbotapi.types.*
|
|
import kotlinx.serialization.*
|
|
|
|
@Serializable
|
|
data class ReplyForce(
|
|
val selective: Boolean? = null,
|
|
@SerialName(inputFieldPlaceholderField)
|
|
val inputFieldPlaceholder: String? = null
|
|
) : KeyboardMarkup {
|
|
@SerialName(forceReplyField)
|
|
@Required
|
|
val forceReply: Boolean = true
|
|
|
|
companion object {
|
|
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()
|
|
}
|
|
|
|
init {
|
|
if (inputFieldPlaceholder != null && inputFieldPlaceholder.length !in inputFieldPlaceholderLimit) {
|
|
error("Field $inputFieldPlaceholderField length must be in $inputFieldPlaceholderLimit, but was ${inputFieldPlaceholder.length}")
|
|
}
|
|
}
|
|
}
|