mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2026-09-09 17:44:51 +00:00
Add Bot API 10.3 Reply markup support
This commit is contained in:
@@ -2,6 +2,14 @@
|
|||||||
|
|
||||||
## 37.0.0
|
## 37.0.0
|
||||||
|
|
||||||
|
**THIS UPDATE CONTAINS SUPPORT OF [TELEGRAM BOTS API 10.3](https://core.telegram.org/bots/api-changelog#august-24-2026)**
|
||||||
|
|
||||||
|
* `Core`:
|
||||||
|
* (`Reply markup`) Added `DisabledButton`/`DisabledInlineKeyboardButton` support for disabled inline buttons
|
||||||
|
* (`Reply markup`) Added `forceReply` support to `InlineKeyboardMarkup` and `ReplyKeyboardMarkup`
|
||||||
|
* `Utils`:
|
||||||
|
* (`Reply markup`) Added disabled inline-button shortcuts and `forceReply` parameters to inline/reply keyboard builders
|
||||||
|
|
||||||
## 36.1.0
|
## 36.1.0
|
||||||
|
|
||||||
* `Dependencies`:
|
* `Dependencies`:
|
||||||
|
|||||||
@@ -11654,6 +11654,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt {
|
|||||||
public static final field disableEditMessageField Ljava/lang/String;
|
public static final field disableEditMessageField Ljava/lang/String;
|
||||||
public static final field disableNotificationField Ljava/lang/String;
|
public static final field disableNotificationField Ljava/lang/String;
|
||||||
public static final field disableWebPagePreviewField Ljava/lang/String;
|
public static final field disableWebPagePreviewField Ljava/lang/String;
|
||||||
|
public static final field disabledField Ljava/lang/String;
|
||||||
public static final field documentField Ljava/lang/String;
|
public static final field documentField Ljava/lang/String;
|
||||||
public static final field documentFileIdField Ljava/lang/String;
|
public static final field documentFileIdField Ljava/lang/String;
|
||||||
public static final field documentUrlField Ljava/lang/String;
|
public static final field documentUrlField Ljava/lang/String;
|
||||||
@@ -17118,6 +17119,46 @@ public final class dev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CopyTex
|
|||||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledButton {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledButton;
|
||||||
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public fun hashCode ()I
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
public fun toString ()Ljava/lang/String;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton : dev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton {
|
||||||
|
public static final field Companion Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton$Companion;
|
||||||
|
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||||
|
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||||
|
public final fun component1 ()Ljava/lang/String;
|
||||||
|
public final fun component2-GbmMWyQ ()Ljava/lang/String;
|
||||||
|
public final fun component3 ()Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;
|
||||||
|
public final fun copy-A-saiJc (Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton;
|
||||||
|
public static synthetic fun copy-A-saiJc$default (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton;
|
||||||
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public fun getIconCustomEmojiId-GbmMWyQ ()Ljava/lang/String;
|
||||||
|
public fun getStyle ()Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;
|
||||||
|
public fun getText ()Ljava/lang/String;
|
||||||
|
public fun hashCode ()I
|
||||||
|
public fun toString ()Ljava/lang/String;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final synthetic class dev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton$$serializer;
|
||||||
|
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||||
|
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton;
|
||||||
|
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
|
||||||
|
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
|
||||||
|
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton;)V
|
||||||
|
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
|
||||||
|
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton$Companion {
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
}
|
||||||
|
|
||||||
public abstract interface class dev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton {
|
public abstract interface class dev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton {
|
||||||
public static final field Companion Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton$Companion;
|
public static final field Companion Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton$Companion;
|
||||||
public abstract fun getIconCustomEmojiId-GbmMWyQ ()Ljava/lang/String;
|
public abstract fun getIconCustomEmojiId-GbmMWyQ ()Ljava/lang/String;
|
||||||
@@ -17443,11 +17484,14 @@ public final class dev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/WebAppI
|
|||||||
|
|
||||||
public final class dev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup : dev/inmo/tgbotapi/types/buttons/KeyboardMarkup {
|
public final class dev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup : dev/inmo/tgbotapi/types/buttons/KeyboardMarkup {
|
||||||
public static final field Companion Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup$Companion;
|
public static final field Companion Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup$Companion;
|
||||||
public fun <init> (Ljava/util/List;)V
|
public fun <init> (Ljava/util/List;Ljava/lang/Boolean;)V
|
||||||
|
public synthetic fun <init> (Ljava/util/List;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||||
public final fun component1 ()Ljava/util/List;
|
public final fun component1 ()Ljava/util/List;
|
||||||
public final fun copy (Ljava/util/List;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
public final fun component2 ()Ljava/lang/Boolean;
|
||||||
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
public final fun copy (Ljava/util/List;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
|
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ljava/util/List;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
public fun equals (Ljava/lang/Object;)Z
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public final fun getForceReply ()Ljava/lang/Boolean;
|
||||||
public final fun getKeyboard ()Ljava/util/List;
|
public final fun getKeyboard ()Ljava/util/List;
|
||||||
public fun hashCode ()I
|
public fun hashCode ()I
|
||||||
public final fun minus (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
public final fun minus (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
@@ -17918,8 +17962,8 @@ public final class dev/inmo/tgbotapi/types/buttons/ReplyForce$Companion {
|
|||||||
|
|
||||||
public final class dev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup : dev/inmo/tgbotapi/types/buttons/KeyboardMarkup {
|
public final class dev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup : dev/inmo/tgbotapi/types/buttons/KeyboardMarkup {
|
||||||
public static final field Companion Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup$Companion;
|
public static final field Companion Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup$Companion;
|
||||||
public fun <init> (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
|
public fun <init> (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
|
||||||
public synthetic fun <init> (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
public synthetic fun <init> (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||||
public final fun add (Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public final fun add (Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public static synthetic fun add$default (Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public static synthetic fun add$default (Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public final fun component1 ()Ljava/util/List;
|
public final fun component1 ()Ljava/util/List;
|
||||||
@@ -17928,9 +17972,11 @@ public final class dev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup : dev/inm
|
|||||||
public final fun component4 ()Ljava/lang/String;
|
public final fun component4 ()Ljava/lang/String;
|
||||||
public final fun component5 ()Ljava/lang/Boolean;
|
public final fun component5 ()Ljava/lang/Boolean;
|
||||||
public final fun component6 ()Ljava/lang/Boolean;
|
public final fun component6 ()Ljava/lang/Boolean;
|
||||||
public final fun copy (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public final fun component7 ()Ljava/lang/Boolean;
|
||||||
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public final fun copy (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
|
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public fun equals (Ljava/lang/Object;)Z
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public final fun getForceReply ()Ljava/lang/Boolean;
|
||||||
public final fun getInputFieldPlaceholder ()Ljava/lang/String;
|
public final fun getInputFieldPlaceholder ()Ljava/lang/String;
|
||||||
public final fun getKeyboard ()Ljava/util/List;
|
public final fun getKeyboard ()Ljava/util/List;
|
||||||
public final fun getOneTimeKeyboard ()Ljava/lang/Boolean;
|
public final fun getOneTimeKeyboard ()Ljava/lang/Boolean;
|
||||||
@@ -18311,6 +18357,8 @@ public final class dev/inmo/tgbotapi/types/buttons/inline/InlineKeyboardButtonsS
|
|||||||
public static synthetic fun copyTextButton-peVxY-Q$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CopyTextButton;
|
public static synthetic fun copyTextButton-peVxY-Q$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CopyTextButton;
|
||||||
public static final fun dataInlineButton-peVxY-Q (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackDataInlineKeyboardButton;
|
public static final fun dataInlineButton-peVxY-Q (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackDataInlineKeyboardButton;
|
||||||
public static synthetic fun dataInlineButton-peVxY-Q$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackDataInlineKeyboardButton;
|
public static synthetic fun dataInlineButton-peVxY-Q$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackDataInlineKeyboardButton;
|
||||||
|
public static final fun disabledInlineButton-A-saiJc (Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton;
|
||||||
|
public static synthetic fun disabledInlineButton-A-saiJc$default (Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton;
|
||||||
public static final fun gameInlineButton-A-saiJc (Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackGameInlineKeyboardButton;
|
public static final fun gameInlineButton-A-saiJc (Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackGameInlineKeyboardButton;
|
||||||
public static synthetic fun gameInlineButton-A-saiJc$default (Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackGameInlineKeyboardButton;
|
public static synthetic fun gameInlineButton-A-saiJc$default (Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackGameInlineKeyboardButton;
|
||||||
public static final fun inlineQueryInAnyCurrentChatInlineButton-peVxY-Q (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/SwitchInlineQueryChosenChatInlineKeyboardButton;
|
public static final fun inlineQueryInAnyCurrentChatInlineButton-peVxY-Q (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/SwitchInlineQueryChosenChatInlineKeyboardButton;
|
||||||
|
|||||||
@@ -776,6 +776,7 @@ const val disableEditMessageField = "disable_edit_message"
|
|||||||
const val scoreField = "score"
|
const val scoreField = "score"
|
||||||
const val forceField = "force"
|
const val forceField = "force"
|
||||||
const val forceReplyField = "force_reply"
|
const val forceReplyField = "force_reply"
|
||||||
|
const val disabledField = "disabled"
|
||||||
|
|
||||||
const val regularPollType = "regular"
|
const val regularPollType = "regular"
|
||||||
const val quizPollType = "quiz"
|
const val quizPollType = "quiz"
|
||||||
|
|||||||
@@ -24,6 +24,34 @@ sealed interface InlineKeyboardButton {
|
|||||||
val iconCustomEmojiId: CustomEmojiId?
|
val iconCustomEmojiId: CustomEmojiId?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A disabled inline keyboard button action. Telegram Bot API currently defines no fields for this object.
|
||||||
|
*
|
||||||
|
* @see DisabledInlineKeyboardButton
|
||||||
|
* @see https://core.telegram.org/bots/api#disabledbutton
|
||||||
|
*/
|
||||||
|
@Serializable
|
||||||
|
data object DisabledButton
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An inline keyboard button which does nothing when pressed.
|
||||||
|
*
|
||||||
|
* @see https://core.telegram.org/bots/api#inlinekeyboardbutton
|
||||||
|
*/
|
||||||
|
@Serializable
|
||||||
|
data class DisabledInlineKeyboardButton(
|
||||||
|
@SerialName(textField)
|
||||||
|
override val text: String,
|
||||||
|
@SerialName(iconCustomEmojiIdField)
|
||||||
|
override val iconCustomEmojiId: CustomEmojiId? = null,
|
||||||
|
@SerialName(styleField)
|
||||||
|
override val style: KeyboardButtonStyle? = null
|
||||||
|
) : InlineKeyboardButton {
|
||||||
|
@SerialName(disabledField)
|
||||||
|
@EncodeDefault
|
||||||
|
private val disabled = DisabledButton
|
||||||
|
}
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
data class UnknownInlineKeyboardButton (
|
data class UnknownInlineKeyboardButton (
|
||||||
val rawData: JsonElement
|
val rawData: JsonElement
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ object InlineKeyboardButtonSerializer : KSerializer<InlineKeyboardButton> {
|
|||||||
|
|
||||||
private fun resolveSerializer(json: JsonObject): KSerializer<out InlineKeyboardButton>? {
|
private fun resolveSerializer(json: JsonObject): KSerializer<out InlineKeyboardButton>? {
|
||||||
return when {
|
return when {
|
||||||
|
json[disabledField] != null -> DisabledInlineKeyboardButton.serializer()
|
||||||
json[callbackDataField] != null -> CallbackDataInlineKeyboardButton.serializer()
|
json[callbackDataField] != null -> CallbackDataInlineKeyboardButton.serializer()
|
||||||
json[callbackGameField] != null -> CallbackGameInlineKeyboardButton.serializer()
|
json[callbackGameField] != null -> CallbackGameInlineKeyboardButton.serializer()
|
||||||
json[loginUrlField] != null -> LoginURLInlineKeyboardButton.serializer()
|
json[loginUrlField] != null -> LoginURLInlineKeyboardButton.serializer()
|
||||||
@@ -47,6 +48,7 @@ object InlineKeyboardButtonSerializer : KSerializer<InlineKeyboardButton> {
|
|||||||
|
|
||||||
override fun serialize(encoder: Encoder, value: InlineKeyboardButton) {
|
override fun serialize(encoder: Encoder, value: InlineKeyboardButton) {
|
||||||
when (value) {
|
when (value) {
|
||||||
|
is DisabledInlineKeyboardButton -> DisabledInlineKeyboardButton.serializer().serialize(encoder, value)
|
||||||
is CallbackDataInlineKeyboardButton -> CallbackDataInlineKeyboardButton.serializer().serialize(encoder, value)
|
is CallbackDataInlineKeyboardButton -> CallbackDataInlineKeyboardButton.serializer().serialize(encoder, value)
|
||||||
is LoginURLInlineKeyboardButton -> LoginURLInlineKeyboardButton.serializer().serialize(encoder, value)
|
is LoginURLInlineKeyboardButton -> LoginURLInlineKeyboardButton.serializer().serialize(encoder, value)
|
||||||
is PayInlineKeyboardButton -> PayInlineKeyboardButton.serializer().serialize(encoder, value)
|
is PayInlineKeyboardButton -> PayInlineKeyboardButton.serializer().serialize(encoder, value)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.buttons
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.PayInlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.PayInlineKeyboardButton
|
||||||
|
import dev.inmo.tgbotapi.types.forceReplyField
|
||||||
import dev.inmo.tgbotapi.types.inlineKeyboardField
|
import dev.inmo.tgbotapi.types.inlineKeyboardField
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -9,7 +10,13 @@ import kotlinx.serialization.Serializable
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class InlineKeyboardMarkup(
|
data class InlineKeyboardMarkup(
|
||||||
@SerialName(inlineKeyboardField)
|
@SerialName(inlineKeyboardField)
|
||||||
val keyboard: Matrix<InlineKeyboardButton>
|
val keyboard: Matrix<InlineKeyboardButton>,
|
||||||
|
/**
|
||||||
|
* Requests a reply interface for the message. Telegram does not allow changing this value when editing the inline
|
||||||
|
* keyboard.
|
||||||
|
*/
|
||||||
|
@SerialName(forceReplyField)
|
||||||
|
val forceReply: Boolean? = null
|
||||||
) : KeyboardMarkup {
|
) : KeyboardMarkup {
|
||||||
init {
|
init {
|
||||||
val isTherePayButton = keyboard.any { it ->
|
val isTherePayButton = keyboard.any { it ->
|
||||||
@@ -28,20 +35,22 @@ data class InlineKeyboardMarkup(
|
|||||||
|
|
||||||
operator fun plus(other: InlineKeyboardMarkup): InlineKeyboardMarkup {
|
operator fun plus(other: InlineKeyboardMarkup): InlineKeyboardMarkup {
|
||||||
return InlineKeyboardMarkup(
|
return InlineKeyboardMarkup(
|
||||||
keyboard + other.keyboard
|
keyboard = keyboard + other.keyboard,
|
||||||
|
forceReply = forceReply ?.or(other.forceReply ?: false) ?: other.forceReply
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
operator fun minus(other: InlineKeyboardMarkup): InlineKeyboardMarkup {
|
operator fun minus(other: InlineKeyboardMarkup): InlineKeyboardMarkup {
|
||||||
val otherButtons = other.keyboard.flatten()
|
val otherButtons = other.keyboard.flatten()
|
||||||
return InlineKeyboardMarkup(
|
return InlineKeyboardMarkup(
|
||||||
keyboard.mapNotNull { row ->
|
keyboard = keyboard.mapNotNull { row ->
|
||||||
row.filter { button ->
|
row.filter { button ->
|
||||||
button !in otherButtons
|
button !in otherButtons
|
||||||
}.takeIf {
|
}.takeIf {
|
||||||
it.isNotEmpty()
|
it.isNotEmpty()
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
forceReply = forceReply
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,12 @@ data class ReplyKeyboardMarkup(
|
|||||||
val inputFieldPlaceholder: String? = null,
|
val inputFieldPlaceholder: String? = null,
|
||||||
val selective: Boolean? = null,
|
val selective: Boolean? = null,
|
||||||
@SerialName(isPersistentField)
|
@SerialName(isPersistentField)
|
||||||
val persistent: Boolean? = null
|
val persistent: Boolean? = null,
|
||||||
|
/**
|
||||||
|
* Requests a reply interface for the message.
|
||||||
|
*/
|
||||||
|
@SerialName(forceReplyField)
|
||||||
|
val forceReply: Boolean? = null
|
||||||
) : KeyboardMarkup {
|
) : KeyboardMarkup {
|
||||||
init {
|
init {
|
||||||
if (inputFieldPlaceholder != null && inputFieldPlaceholder.length !in inputFieldPlaceholderLimit) {
|
if (inputFieldPlaceholder != null && inputFieldPlaceholder.length !in inputFieldPlaceholderLimit) {
|
||||||
@@ -31,6 +36,7 @@ data class ReplyKeyboardMarkup(
|
|||||||
inputFieldPlaceholder = inputFieldPlaceholder ?.plus(other.inputFieldPlaceholder ?.let { placeholderDelimiter + it } ?: "") ?: other.inputFieldPlaceholder,
|
inputFieldPlaceholder = inputFieldPlaceholder ?.plus(other.inputFieldPlaceholder ?.let { placeholderDelimiter + it } ?: "") ?: other.inputFieldPlaceholder,
|
||||||
selective = selective ?.or(other.selective ?: false) ?: other.selective,
|
selective = selective ?.or(other.selective ?: false) ?: other.selective,
|
||||||
persistent = persistent ?.or(other.persistent ?: false) ?: other.persistent,
|
persistent = persistent ?.or(other.persistent ?: false) ?: other.persistent,
|
||||||
|
forceReply = forceReply ?.or(other.forceReply ?: false) ?: other.forceReply,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,15 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardButtonStyle
|
|||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.*
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.*
|
||||||
import dev.inmo.tgbotapi.types.webapps.WebAppInfo
|
import dev.inmo.tgbotapi.types.webapps.WebAppInfo
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates [DisabledInlineKeyboardButton].
|
||||||
|
*/
|
||||||
|
fun disabledInlineButton(
|
||||||
|
text: String,
|
||||||
|
iconCustomEmojiId: CustomEmojiId? = null,
|
||||||
|
style: KeyboardButtonStyle? = null
|
||||||
|
) = DisabledInlineKeyboardButton(text, iconCustomEmojiId, style)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates [PayInlineKeyboardButton]
|
* Creates [PayInlineKeyboardButton]
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
package dev.inmo.tgbotapi.types
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.DisabledInlineKeyboardButton
|
||||||
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton
|
||||||
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||||
|
import dev.inmo.tgbotapi.types.buttons.ReplyKeyboardMarkup
|
||||||
|
import dev.inmo.tgbotapi.types.buttons.SimpleKeyboardButton
|
||||||
|
import kotlinx.serialization.decodeFromString
|
||||||
|
import kotlinx.serialization.encodeToString
|
||||||
|
import kotlinx.serialization.json.Json
|
||||||
|
import kotlinx.serialization.json.jsonObject
|
||||||
|
import kotlin.test.Test
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
|
class ReplyMarkupSerializationTest {
|
||||||
|
private val json = Json { encodeDefaults = false }
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun disabledInlineKeyboardButtonUsesEmptyDisabledObjectAndRoundTrips() {
|
||||||
|
val value: InlineKeyboardButton = DisabledInlineKeyboardButton("Unavailable")
|
||||||
|
|
||||||
|
val encoded = json.encodeToString(value)
|
||||||
|
val encodedObject = json.parseToJsonElement(encoded).jsonObject
|
||||||
|
|
||||||
|
assertEquals("{}", encodedObject.getValue(disabledField).toString())
|
||||||
|
assertEquals(value, json.decodeFromString<InlineKeyboardButton>(encoded))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun inlineKeyboardMarkupSerializesForceReplyAndPreservesItWhenCombined() {
|
||||||
|
val value = InlineKeyboardMarkup(
|
||||||
|
keyboard = listOf(listOf(DisabledInlineKeyboardButton("Unavailable"))),
|
||||||
|
forceReply = true
|
||||||
|
)
|
||||||
|
|
||||||
|
val encodedObject = json.parseToJsonElement(json.encodeToString(value)).jsonObject
|
||||||
|
|
||||||
|
assertEquals(true, encodedObject.getValue(forceReplyField).toString().toBoolean())
|
||||||
|
assertEquals(value, json.decodeFromString<InlineKeyboardMarkup>(encodedObject.toString()))
|
||||||
|
assertTrue((value + InlineKeyboardMarkup(listOf(listOf(DisabledInlineKeyboardButton("Other"))))).forceReply == true)
|
||||||
|
assertTrue((value - InlineKeyboardMarkup(listOf(listOf(DisabledInlineKeyboardButton("Unavailable"))))).forceReply == true)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun replyKeyboardMarkupSerializesForceReplyAndPreservesItWhenCombined() {
|
||||||
|
val value = ReplyKeyboardMarkup(
|
||||||
|
keyboard = listOf(listOf(SimpleKeyboardButton("Reply"))),
|
||||||
|
forceReply = true
|
||||||
|
)
|
||||||
|
|
||||||
|
val encodedObject = json.parseToJsonElement(json.encodeToString(value)).jsonObject
|
||||||
|
|
||||||
|
assertEquals(true, encodedObject.getValue(forceReplyField).toString().toBoolean())
|
||||||
|
assertEquals(value, json.decodeFromString<ReplyKeyboardMarkup>(encodedObject.toString()))
|
||||||
|
assertTrue((value + ReplyKeyboardMarkup(listOf(listOf(SimpleKeyboardButton("Other"))))).forceReply == true)
|
||||||
|
assertTrue((value - ReplyKeyboardMarkup(listOf(listOf(SimpleKeyboardButton("Reply"))))).forceReply == true)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1385,6 +1385,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
public static final fun directMessagesConfigurationChangedPaidOrThrow (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/DirectMessagesConfigurationChanged$Paid;
|
public static final fun directMessagesConfigurationChangedPaidOrThrow (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/DirectMessagesConfigurationChanged$Paid;
|
||||||
public static final fun directMessagesTopicOrNull (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/chat/DirectMessagesTopic;
|
public static final fun directMessagesTopicOrNull (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/chat/DirectMessagesTopic;
|
||||||
public static final fun directMessagesTopicOrThrow (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/chat/DirectMessagesTopic;
|
public static final fun directMessagesTopicOrThrow (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/chat/DirectMessagesTopic;
|
||||||
|
public static final fun disabledInlineKeyboardButtonOrNull (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton;
|
||||||
|
public static final fun disabledInlineKeyboardButtonOrThrow (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/DisabledInlineKeyboardButton;
|
||||||
public static final fun disabledOrNull (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;)Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection$Disabled;
|
public static final fun disabledOrNull (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;)Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection$Disabled;
|
||||||
public static final fun disabledOrThrow (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;)Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection$Disabled;
|
public static final fun disabledOrThrow (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;)Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection$Disabled;
|
||||||
public static final fun documentContentOrNull (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DocumentContent;
|
public static final fun documentContentOrNull (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DocumentContent;
|
||||||
@@ -1770,6 +1772,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
public static final fun ifDirectMessagesConfigurationChangedPaid (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDirectMessagesConfigurationChangedPaid (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDirectMessagesTopic (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDirectMessagesTopic (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDisabled (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDisabled (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifDisabledInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDocumentContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDocumentContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDocumentFile (Ldev/inmo/tgbotapi/types/media/BaseTelegramMediaFile;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDocumentFile (Ldev/inmo/tgbotapi/types/media/BaseTelegramMediaFile;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDocumentMediaGroupMemberTelegramMedia (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDocumentMediaGroupMemberTelegramMedia (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
@@ -4019,17 +4022,22 @@ public final class dev/inmo/tgbotapi/extensions/utils/shortcuts/RequestsExecutor
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/InlineKeyboardBuilderKt {
|
public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/InlineKeyboardBuilderKt {
|
||||||
public static final fun build (Ldev/inmo/tgbotapi/utils/MatrixBuilder;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
public static final fun build (Ldev/inmo/tgbotapi/utils/MatrixBuilder;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
|
public static synthetic fun build$default (Ldev/inmo/tgbotapi/utils/MatrixBuilder;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
public static final fun copyTextButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CopyTextButtonData;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun copyTextButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CopyTextButtonData;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
public static final fun copyTextButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun copyTextButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
public static synthetic fun copyTextButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CopyTextButtonData;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
public static synthetic fun copyTextButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CopyTextButtonData;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
public static synthetic fun copyTextButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
public static synthetic fun copyTextButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
public static final fun dataButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun dataButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
public static synthetic fun dataButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
public static synthetic fun dataButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
public static final fun flatInlineKeyboard (Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
public static final fun disabledButton-peVxY-Q (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
|
public static synthetic fun disabledButton-peVxY-Q$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
|
public static final fun flatInlineKeyboard (Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
|
public static synthetic fun flatInlineKeyboard$default (Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
public static final fun gameButton-peVxY-Q (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun gameButton-peVxY-Q (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
public static synthetic fun gameButton-peVxY-Q$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
public static synthetic fun gameButton-peVxY-Q$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
public static final fun inlineKeyboard (Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
public static final fun inlineKeyboard (Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
|
public static synthetic fun inlineKeyboard$default (Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
public static final fun inlineQueryButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun inlineQueryButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
public static synthetic fun inlineQueryButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
public static synthetic fun inlineQueryButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
public static final fun inlineQueryInAnyChosenChatButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun inlineQueryInAnyChosenChatButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
@@ -4042,7 +4050,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/InlineKeyboa
|
|||||||
public static synthetic fun inlineQueryInCurrentChatButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
public static synthetic fun inlineQueryInCurrentChatButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
public static final fun loginButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ldev/inmo/tgbotapi/types/LoginURL;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun loginButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ldev/inmo/tgbotapi/types/LoginURL;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
public static synthetic fun loginButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ldev/inmo/tgbotapi/types/LoginURL;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
public static synthetic fun loginButton-TGGzX2M$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ldev/inmo/tgbotapi/types/LoginURL;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
public static final fun modified (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
public static final fun modified (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
|
public static synthetic fun modified$default (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
public static final fun payButton-peVxY-Q (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun payButton-peVxY-Q (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
public static synthetic fun payButton-peVxY-Q$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
public static synthetic fun payButton-peVxY-Q$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
public static final fun urlButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun urlButton-TGGzX2M (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
@@ -4054,16 +4063,17 @@ public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/InlineKeyboa
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/InlineKeyboardMarkupKt {
|
public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/InlineKeyboardMarkupKt {
|
||||||
public static final fun InlineKeyboardMarkup ([Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
public static final fun InlineKeyboardMarkup ([Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
|
public static synthetic fun InlineKeyboardMarkup$default ([Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/ReplyKeyboardBuilderKt {
|
public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/ReplyKeyboardBuilderKt {
|
||||||
public static final fun build (Ldev/inmo/tgbotapi/utils/MatrixBuilder;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public static final fun build (Ldev/inmo/tgbotapi/utils/MatrixBuilder;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public static synthetic fun build$default (Ldev/inmo/tgbotapi/utils/MatrixBuilder;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public static synthetic fun build$default (Ldev/inmo/tgbotapi/utils/MatrixBuilder;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public static final fun flatReplyKeyboard (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public static final fun flatReplyKeyboard (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public static synthetic fun flatReplyKeyboard$default (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public static synthetic fun flatReplyKeyboard$default (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public static final fun replyKeyboard (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public static final fun replyKeyboard (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public static synthetic fun replyKeyboard$default (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public static synthetic fun replyKeyboard$default (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public static final fun requestBotButton-saVQPX0 (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;SLjava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun requestBotButton-saVQPX0 (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;SLjava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
public static synthetic fun requestBotButton-saVQPX0$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;SLjava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
public static synthetic fun requestBotButton-saVQPX0$default (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;SLjava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;ILjava/lang/Object;)Z
|
||||||
public static final fun requestBotsButton-gB4qrME (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;SILjava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
public static final fun requestBotsButton-gB4qrME (Ldev/inmo/tgbotapi/utils/RowBuilder;Ljava/lang/String;SILjava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonStyle;)Z
|
||||||
@@ -4105,8 +4115,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/ReplyKeyboar
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/ReplyKeyboardMarkupKt {
|
public final class dev/inmo/tgbotapi/extensions/utils/types/buttons/ReplyKeyboardMarkupKt {
|
||||||
public static final fun ReplyKeyboardMarkup ([Ldev/inmo/tgbotapi/types/buttons/KeyboardButton;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public static final fun ReplyKeyboardMarkup ([Ldev/inmo/tgbotapi/types/buttons/KeyboardButton;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
public static synthetic fun ReplyKeyboardMarkup$default ([Ldev/inmo/tgbotapi/types/buttons/KeyboardButton;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
public static synthetic fun ReplyKeyboardMarkup$default ([Ldev/inmo/tgbotapi/types/buttons/KeyboardButton;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/buttons/ReplyKeyboardMarkup;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/utils/types/files/ContentAsMultipartFileKt {
|
public final class dev/inmo/tgbotapi/extensions/utils/types/files/ContentAsMultipartFileKt {
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
|||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackDataInlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackDataInlineKeyboardButton
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackGameInlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackGameInlineKeyboardButton
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CopyTextButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CopyTextButton
|
||||||
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.DisabledInlineKeyboardButton
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.LoginURLInlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.LoginURLInlineKeyboardButton
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.PayInlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.PayInlineKeyboardButton
|
||||||
@@ -4237,6 +4238,12 @@ public inline fun KeyboardButtonRequestUsers.botOrThrow(): KeyboardButtonRequest
|
|||||||
|
|
||||||
public inline fun <T> KeyboardButtonRequestUsers.ifBot(block: (KeyboardButtonRequestUsers.Bot) -> T): T? = botOrNull() ?.let(block)
|
public inline fun <T> KeyboardButtonRequestUsers.ifBot(block: (KeyboardButtonRequestUsers.Bot) -> T): T? = botOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun InlineKeyboardButton.disabledInlineKeyboardButtonOrNull(): DisabledInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.DisabledInlineKeyboardButton
|
||||||
|
|
||||||
|
public inline fun InlineKeyboardButton.disabledInlineKeyboardButtonOrThrow(): DisabledInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.DisabledInlineKeyboardButton
|
||||||
|
|
||||||
|
public inline fun <T> InlineKeyboardButton.ifDisabledInlineKeyboardButton(block: (DisabledInlineKeyboardButton) -> T): T? = disabledInlineKeyboardButtonOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun InlineKeyboardButton.unknownInlineKeyboardButtonOrNull(): UnknownInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton
|
public inline fun InlineKeyboardButton.unknownInlineKeyboardButtonOrNull(): UnknownInlineKeyboardButton? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton
|
||||||
|
|
||||||
public inline fun InlineKeyboardButton.unknownInlineKeyboardButtonOrThrow(): UnknownInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton
|
public inline fun InlineKeyboardButton.unknownInlineKeyboardButtonOrThrow(): UnknownInlineKeyboardButton = this as dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ typealias InlineKeyboardBuilder = MatrixBuilder<InlineKeyboardButton>
|
|||||||
/**
|
/**
|
||||||
* Creates [InlineKeyboardMarkup] using internal [matrix]
|
* Creates [InlineKeyboardMarkup] using internal [matrix]
|
||||||
*/
|
*/
|
||||||
fun InlineKeyboardBuilder.build() = InlineKeyboardMarkup(matrix)
|
fun InlineKeyboardBuilder.build(
|
||||||
|
forceReply: Boolean? = null
|
||||||
|
) = InlineKeyboardMarkup(matrix, forceReply)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Row builder of [InlineKeyboardBuilder]
|
* Row builder of [InlineKeyboardBuilder]
|
||||||
@@ -37,8 +39,9 @@ typealias InlineKeyboardRowBuilder = RowBuilder<InlineKeyboardButton>
|
|||||||
* @see InlineKeyboardBuilder.row
|
* @see InlineKeyboardBuilder.row
|
||||||
*/
|
*/
|
||||||
inline fun inlineKeyboard(
|
inline fun inlineKeyboard(
|
||||||
|
forceReply: Boolean? = null,
|
||||||
block: InlineKeyboardBuilder.() -> Unit
|
block: InlineKeyboardBuilder.() -> Unit
|
||||||
) = InlineKeyboardBuilder().apply(block).build()
|
) = InlineKeyboardBuilder().apply(block).build(forceReply)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory-function for [InlineKeyboardBuilder], but in difference with [inlineKeyboard] this function will create single-row
|
* Factory-function for [InlineKeyboardBuilder], but in difference with [inlineKeyboard] this function will create single-row
|
||||||
@@ -47,8 +50,9 @@ inline fun inlineKeyboard(
|
|||||||
* @see InlineKeyboardBuilder.row
|
* @see InlineKeyboardBuilder.row
|
||||||
*/
|
*/
|
||||||
inline fun flatInlineKeyboard(
|
inline fun flatInlineKeyboard(
|
||||||
|
forceReply: Boolean? = null,
|
||||||
block: InlineKeyboardRowBuilder.() -> Unit
|
block: InlineKeyboardRowBuilder.() -> Unit
|
||||||
) = inlineKeyboard { row<InlineKeyboardButton>(block) }
|
) = inlineKeyboard(forceReply) { row<InlineKeyboardButton>(block) }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory-function for [InlineKeyboardBuilder]. It will [apply] [block] to internally created [InlineKeyboardMarkup]
|
* Factory-function for [InlineKeyboardBuilder]. It will [apply] [block] to internally created [InlineKeyboardMarkup]
|
||||||
@@ -57,11 +61,24 @@ inline fun flatInlineKeyboard(
|
|||||||
* @see InlineKeyboardBuilder.row
|
* @see InlineKeyboardBuilder.row
|
||||||
*/
|
*/
|
||||||
inline fun InlineKeyboardMarkup.modified(
|
inline fun InlineKeyboardMarkup.modified(
|
||||||
|
forceReply: Boolean? = this.forceReply,
|
||||||
block: InlineKeyboardBuilder.() -> Unit
|
block: InlineKeyboardBuilder.() -> Unit
|
||||||
) = InlineKeyboardBuilder().apply {
|
) = InlineKeyboardBuilder().apply {
|
||||||
keyboard.forEach { add(it) }
|
keyboard.forEach { add(it) }
|
||||||
block()
|
block()
|
||||||
}.build()
|
}.build(forceReply)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates and puts [DisabledInlineKeyboardButton].
|
||||||
|
*
|
||||||
|
* @see inlineKeyboard
|
||||||
|
* @see InlineKeyboardBuilder.row
|
||||||
|
*/
|
||||||
|
fun InlineKeyboardRowBuilder.disabledButton(
|
||||||
|
text: String,
|
||||||
|
iconCustomEmojiId: CustomEmojiId? = null,
|
||||||
|
style: KeyboardButtonStyle? = null
|
||||||
|
) = add(DisabledInlineKeyboardButton(text, iconCustomEmojiId, style))
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
|||||||
import dev.inmo.tgbotapi.utils.flatMatrix
|
import dev.inmo.tgbotapi.utils.flatMatrix
|
||||||
|
|
||||||
fun InlineKeyboardMarkup(
|
fun InlineKeyboardMarkup(
|
||||||
vararg buttons: InlineKeyboardButton
|
vararg buttons: InlineKeyboardButton,
|
||||||
|
forceReply: Boolean? = null
|
||||||
): InlineKeyboardMarkup = InlineKeyboardMarkup(
|
): InlineKeyboardMarkup = InlineKeyboardMarkup(
|
||||||
flatMatrix { buttons.forEach { +it } }
|
keyboard = flatMatrix { buttons.forEach { +it } },
|
||||||
|
forceReply = forceReply
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ fun ReplyKeyboardBuilder.build(
|
|||||||
inputFieldPlaceholder: String? = null,
|
inputFieldPlaceholder: String? = null,
|
||||||
selective: Boolean? = null,
|
selective: Boolean? = null,
|
||||||
persistent: Boolean? = null,
|
persistent: Boolean? = null,
|
||||||
) = ReplyKeyboardMarkup(matrix, resizeKeyboard, oneTimeKeyboard, inputFieldPlaceholder, selective, persistent)
|
forceReply: Boolean? = null,
|
||||||
|
) = ReplyKeyboardMarkup(matrix, resizeKeyboard, oneTimeKeyboard, inputFieldPlaceholder, selective, persistent, forceReply)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Row builder of [KeyboardButton]
|
* Row builder of [KeyboardButton]
|
||||||
@@ -55,8 +56,9 @@ inline fun replyKeyboard(
|
|||||||
inputFieldPlaceholder: String? = null,
|
inputFieldPlaceholder: String? = null,
|
||||||
selective: Boolean? = null,
|
selective: Boolean? = null,
|
||||||
persistent: Boolean? = null,
|
persistent: Boolean? = null,
|
||||||
|
forceReply: Boolean? = null,
|
||||||
block: ReplyKeyboardBuilder.() -> Unit
|
block: ReplyKeyboardBuilder.() -> Unit
|
||||||
) = ReplyKeyboardBuilder().apply(block).build(resizeKeyboard, oneTimeKeyboard, inputFieldPlaceholder, selective, persistent)
|
) = ReplyKeyboardBuilder().apply(block).build(resizeKeyboard, oneTimeKeyboard, inputFieldPlaceholder, selective, persistent, forceReply)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory-function for [ReplyKeyboardBuilder], but in difference with [replyKeyboard] this method will create single-row
|
* Factory-function for [ReplyKeyboardBuilder], but in difference with [replyKeyboard] this method will create single-row
|
||||||
@@ -68,8 +70,9 @@ inline fun flatReplyKeyboard(
|
|||||||
inputFieldPlaceholder: String? = null,
|
inputFieldPlaceholder: String? = null,
|
||||||
selective: Boolean? = null,
|
selective: Boolean? = null,
|
||||||
persistent: Boolean? = null,
|
persistent: Boolean? = null,
|
||||||
|
forceReply: Boolean? = null,
|
||||||
block: ReplyKeyboardRowBuilder.() -> Unit
|
block: ReplyKeyboardRowBuilder.() -> Unit
|
||||||
) = replyKeyboard(resizeKeyboard, oneTimeKeyboard, inputFieldPlaceholder, selective, persistent) {
|
) = replyKeyboard(resizeKeyboard, oneTimeKeyboard, inputFieldPlaceholder, selective, persistent, forceReply) {
|
||||||
row<KeyboardButton>(block)
|
row<KeyboardButton>(block)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,12 +10,14 @@ fun ReplyKeyboardMarkup(
|
|||||||
oneTimeKeyboard: Boolean? = null,
|
oneTimeKeyboard: Boolean? = null,
|
||||||
inputFieldPlaceholder: String? = null,
|
inputFieldPlaceholder: String? = null,
|
||||||
selective: Boolean? = null,
|
selective: Boolean? = null,
|
||||||
persistent: Boolean? = null
|
persistent: Boolean? = null,
|
||||||
|
forceReply: Boolean? = null
|
||||||
): ReplyKeyboardMarkup = ReplyKeyboardMarkup(
|
): ReplyKeyboardMarkup = ReplyKeyboardMarkup(
|
||||||
flatMatrix { buttons.forEach { +it } },
|
flatMatrix { buttons.forEach { +it } },
|
||||||
resizeKeyboard,
|
resizeKeyboard,
|
||||||
oneTimeKeyboard,
|
oneTimeKeyboard,
|
||||||
inputFieldPlaceholder,
|
inputFieldPlaceholder,
|
||||||
selective,
|
selective,
|
||||||
persistent
|
persistent,
|
||||||
|
forceReply
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user