diff --git a/CHANGELOG.md b/CHANGELOG.md index 7857b69f55..37541a76a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ **THIS UPDATE CONTAINS SUPPORT OF [TELEGRAM BOTS API 10.1](https://core.telegram.org/bots/api-changelog#june-11-2026)** * `Core`: + * (`Rich Messages`) Added `RichText` (`RichTextPlain`, `RichTextGroup`, `RichTextEntity`) hierarchy with all 24 `RichText*` entity types and a recursive serializer supporting plain strings, arrays and typed objects + * (`Rich Messages`) Added `RichBlock` hierarchy with all 21 `RichBlock*` types plus `RichBlockCaption`, `RichBlockTableCell` and `RichBlockListItem` + * (`Rich Messages`) Added `RichMessage` type and `RichMessageContent` message content; parsed `rich_message` in `RawMessage`; added `RichMessageContentMessage` typealias + * (`Rich Messages`) Added `InputRichMessage` (internal constructor with `InputRichMessageHTML`/`InputRichMessageMarkdown` factories) and `InputRichMessageContent` usable as `InputMessageContent` + * (`Rich Messages`) Added `SendRichMessage` and `SendRichMessageDraft` requests + * (`Rich Messages`) Added `richMessage` parameter to `EditChatMessageText` * (`Polls`) Added `Link` type (`dev.inmo.tgbotapi.types.Link`) implementing `PollMedia`, carrying the `url` of a link attached to a poll option * (`Polls`) Added `link` field parsing to `PollMedia` deserialization/serialization * (`Polls`) Added `TelegramMediaLink` (`InputMediaLink`) implementing `InputPollOptionMedia`, usable as a poll option media @@ -14,6 +20,7 @@ * (`Join Request Queries`) Added `AnswerChatJoinRequestQuery` request and `ChatJoinRequestQueryResult` enum (`Approve`/`Decline`/`Queue`) * (`Join Request Queries`) Added `SendChatJoinRequestWebApp` request * `API`: + * (`Rich Messages`) Added `sendRichMessage` and `sendRichMessageDraft` `TelegramBot` extensions * (`Join Request Queries`) Added `answerChatJoinRequestQuery` and `sendChatJoinRequestWebApp` `TelegramBot` extensions * `Utils`: * (`Join Request Queries`) Added `ChatJoinRequest.query_id` raw accessor diff --git a/tgbotapi.api/api/tgbotapi.api.api b/tgbotapi.api/api/tgbotapi.api.api index 2792404b17..7055f5520f 100644 --- a/tgbotapi.api/api/tgbotapi.api.api +++ b/tgbotapi.api/api/tgbotapi.api.api @@ -1962,6 +1962,18 @@ public final class dev/inmo/tgbotapi/extensions/api/send/SendMessageKt { public static synthetic fun sendTextMessage-kPvWKIg$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ldev/inmo/tgbotapi/types/LinkPreviewOptions;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; } +public final class dev/inmo/tgbotapi/extensions/api/send/SendRichMessageDraftKt { + public static final fun sendRichMessageDraft-tvXF6p8 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JJLdev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun sendRichMessageDraft-tvXF6p8$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JJLdev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class dev/inmo/tgbotapi/extensions/api/send/SendRichMessageKt { + public static final fun sendRichMessage-mNzvAxs (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun sendRichMessage-mNzvAxs (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun sendRichMessage-mNzvAxs$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun sendRichMessage-mNzvAxs$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + public final class dev/inmo/tgbotapi/extensions/api/send/SendStaticLocationKt { public static final fun sendLocation-Z2YO6e4 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;DDLdev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun sendLocation-Z2YO6e4 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;DDLdev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendRichMessage.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendRichMessage.kt new file mode 100644 index 0000000000..28601f124b --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendRichMessage.kt @@ -0,0 +1,70 @@ +package dev.inmo.tgbotapi.extensions.api.send + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.send.SendRichMessage +import dev.inmo.tgbotapi.types.* +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup +import dev.inmo.tgbotapi.types.chat.Chat +import dev.inmo.tgbotapi.types.message.SuggestedPostParameters +import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage +import dev.inmo.tgbotapi.types.message.content.RichMessageContent +import dev.inmo.tgbotapi.types.rich.InputRichMessage + +public suspend fun TelegramBot.sendRichMessage( + chatId: ChatIdentifier, + richMessage: InputRichMessage, + threadId: MessageThreadId? = chatId.threadId, + directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId, + businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, + disableNotification: Boolean = false, + protectContent: Boolean = false, + allowPaidBroadcast: Boolean = false, + effectId: EffectId? = null, + suggestedPostParameters: SuggestedPostParameters? = null, + replyParameters: ReplyParameters? = null, + replyMarkup: KeyboardMarkup? = null +): ChatContentMessage = execute( + SendRichMessage( + chatId = chatId, + richMessage = richMessage, + threadId = threadId, + directMessageThreadId = directMessageThreadId, + businessConnectionId = businessConnectionId, + disableNotification = disableNotification, + protectContent = protectContent, + allowPaidBroadcast = allowPaidBroadcast, + effectId = effectId, + suggestedPostParameters = suggestedPostParameters, + replyParameters = replyParameters, + replyMarkup = replyMarkup + ) +) + +public suspend fun TelegramBot.sendRichMessage( + chat: Chat, + richMessage: InputRichMessage, + threadId: MessageThreadId? = chat.id.threadId, + directMessageThreadId: DirectMessageThreadId? = chat.id.directMessageThreadId, + businessConnectionId: BusinessConnectionId? = chat.id.businessConnectionId, + disableNotification: Boolean = false, + protectContent: Boolean = false, + allowPaidBroadcast: Boolean = false, + effectId: EffectId? = null, + suggestedPostParameters: SuggestedPostParameters? = null, + replyParameters: ReplyParameters? = null, + replyMarkup: KeyboardMarkup? = null +): ChatContentMessage = sendRichMessage( + chatId = chat.id, + richMessage = richMessage, + threadId = threadId, + directMessageThreadId = directMessageThreadId, + businessConnectionId = businessConnectionId, + disableNotification = disableNotification, + protectContent = protectContent, + allowPaidBroadcast = allowPaidBroadcast, + effectId = effectId, + suggestedPostParameters = suggestedPostParameters, + replyParameters = replyParameters, + replyMarkup = replyMarkup +) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendRichMessageDraft.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendRichMessageDraft.kt new file mode 100644 index 0000000000..5f3c7a0257 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/SendRichMessageDraft.kt @@ -0,0 +1,21 @@ +package dev.inmo.tgbotapi.extensions.api.send + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.send.SendRichMessageDraft +import dev.inmo.tgbotapi.types.ChatId +import dev.inmo.tgbotapi.types.MessageThreadId +import dev.inmo.tgbotapi.types.rich.InputRichMessage + +public suspend fun TelegramBot.sendRichMessageDraft( + chatId: ChatId, + draftId: Long, + richMessage: InputRichMessage, + threadId: MessageThreadId? = null +): Unit = execute( + SendRichMessageDraft( + chatId = chatId, + draftId = draftId, + richMessage = richMessage, + threadId = threadId + ) +) diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 7dd9b0e601..5b0ac9c364 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -5150,7 +5150,7 @@ public final class dev/inmo/tgbotapi/requests/edit/reply_markup/EditInlineMessag public final class dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText : dev/inmo/tgbotapi/requests/edit/abstracts/EditChatMessage, dev/inmo/tgbotapi/requests/edit/abstracts/EditLinkPreviewOptionsContainer, dev/inmo/tgbotapi/requests/edit/abstracts/EditReplyMessage, dev/inmo/tgbotapi/requests/edit/abstracts/EditTextChatMessage { public static final field Companion Ldev/inmo/tgbotapi/requests/edit/text/EditChatMessageText$Companion; - public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;JLjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Ljava/lang/String;Ldev/inmo/tgbotapi/types/LinkPreviewOptions;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;JLjava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Ljava/lang/String;Ldev/inmo/tgbotapi/types/LinkPreviewOptions;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/ChatIdentifier; public final fun component2-APLFQys ()J public final fun component3 ()Ljava/lang/String; @@ -5158,6 +5158,7 @@ public final class dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText : de public final fun component6-nXr5wdE ()Ljava/lang/String; public final fun component7 ()Ldev/inmo/tgbotapi/types/LinkPreviewOptions; public final fun component8 ()Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup; + public final fun component9 ()Ldev/inmo/tgbotapi/types/rich/InputRichMessage; public fun equals (Ljava/lang/Object;)Z public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; public fun getChatId ()Ldev/inmo/tgbotapi/types/ChatIdentifier; @@ -5170,6 +5171,7 @@ public final class dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText : de public synthetic fun getReplyMarkup ()Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup; public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public final fun getRichMessage ()Ldev/inmo/tgbotapi/types/rich/InputRichMessage; public fun getText ()Ljava/lang/String; public fun getTextSources ()Ljava/util/List; public fun hashCode ()I @@ -6690,6 +6692,98 @@ public final class dev/inmo/tgbotapi/requests/send/SendMessageKt { public static synthetic fun SendTextMessage-CbXiHO4$default (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;Ldev/inmo/tgbotapi/types/LinkPreviewOptions;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/send/SendTextMessage; } +public final class dev/inmo/tgbotapi/requests/send/SendRichMessage : dev/inmo/tgbotapi/requests/send/abstracts/ReplyingMarkupSendMessageRequest, dev/inmo/tgbotapi/requests/send/abstracts/SendContentMessageRequest { + public static final field Companion Ldev/inmo/tgbotapi/requests/send/SendRichMessage$Companion; + public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/ChatIdentifier; + public final fun component10 ()Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters; + public final fun component11 ()Ldev/inmo/tgbotapi/types/ReplyParameters; + public final fun component12 ()Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup; + public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + public final fun component3-S3HF-10 ()Ldev/inmo/tgbotapi/types/MessageThreadId; + public final fun component4-1osv_qQ ()Ldev/inmo/tgbotapi/types/DirectMessageThreadId; + public final fun component5-nXr5wdE ()Ljava/lang/String; + public final fun component6 ()Z + public final fun component7 ()Z + public final fun component8 ()Z + public final fun component9-Ts0V7ak ()Ljava/lang/String; + public final fun copy-y-pL7hE (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;)Ldev/inmo/tgbotapi/requests/send/SendRichMessage; + public static synthetic fun copy-y-pL7hE$default (Ldev/inmo/tgbotapi/requests/send/SendRichMessage;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/send/SendRichMessage; + public fun equals (Ljava/lang/Object;)Z + public fun getAllowPaidBroadcast ()Z + public fun getAllowSendingWithoutReply ()Ljava/lang/Boolean; + public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; + public fun getChatId ()Ldev/inmo/tgbotapi/types/ChatIdentifier; + public fun getDirectMessageThreadId-1osv_qQ ()Ldev/inmo/tgbotapi/types/DirectMessageThreadId; + public fun getDisableNotification ()Z + public fun getEffectId-Ts0V7ak ()Ljava/lang/String; + public fun getProtectContent ()Z + public fun getReplyMarkup ()Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup; + public fun getReplyParameters ()Ldev/inmo/tgbotapi/types/ReplyParameters; + public fun getReplyToMessageId-CigXjpw ()Ldev/inmo/tgbotapi/types/MessageId; + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public final fun getRichMessage ()Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + public fun getSuggestedPostParameters ()Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters; + public fun getThreadId-S3HF-10 ()Ldev/inmo/tgbotapi/types/MessageThreadId; + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/requests/send/SendRichMessage$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/send/SendRichMessage$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/send/SendRichMessage; + 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/requests/send/SendRichMessage;)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/requests/send/SendRichMessage$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/requests/send/SendRichMessageDraft : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { + public static final field Companion Ldev/inmo/tgbotapi/requests/send/SendRichMessageDraft$Companion; + public synthetic fun (JJLdev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (JJLdev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-tHkBKVM ()J + public final fun component2 ()J + public final fun component3 ()Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + public final fun component4-S3HF-10 ()Ldev/inmo/tgbotapi/types/MessageThreadId; + public final fun copy-fgQnCZU (JJLdev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;)Ldev/inmo/tgbotapi/requests/send/SendRichMessageDraft; + public static synthetic fun copy-fgQnCZU$default (Ldev/inmo/tgbotapi/requests/send/SendRichMessageDraft;JJLdev/inmo/tgbotapi/types/rich/InputRichMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/send/SendRichMessageDraft; + public fun equals (Ljava/lang/Object;)Z + public final fun getChatId-tHkBKVM ()J + public final fun getDraftId ()J + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public final fun getRichMessage ()Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + public final fun getThreadId-S3HF-10 ()Ldev/inmo/tgbotapi/types/MessageThreadId; + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/requests/send/SendRichMessageDraft$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/send/SendRichMessageDraft$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/send/SendRichMessageDraft; + 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/requests/send/SendRichMessageDraft;)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/requests/send/SendRichMessageDraft$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/requests/send/SendTextMessage : dev/inmo/tgbotapi/abstracts/types/LinkPreviewOptionsContainer, dev/inmo/tgbotapi/requests/send/abstracts/ReplyingMarkupSendMessageRequest, dev/inmo/tgbotapi/requests/send/abstracts/SendContentMessageRequest, dev/inmo/tgbotapi/requests/send/abstracts/TextableSendMessageRequest { public static final field Companion Ldev/inmo/tgbotapi/requests/send/SendTextMessage$Companion; public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/util/List;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;Ldev/inmo/tgbotapi/types/LinkPreviewOptions;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;ILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -10997,6 +11091,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field affiliateChatField Ljava/lang/String; public static final field affiliateField Ljava/lang/String; public static final field affiliateUserField Ljava/lang/String; + public static final field alignField Ljava/lang/String; public static final field allowAddingOptionsField Ljava/lang/String; public static final field allowBotChatsField Ljava/lang/String; public static final field allowChannelChatsField Ljava/lang/String; @@ -11009,7 +11104,9 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field allowsMultipleAnswersField Ljava/lang/String; public static final field allowsRevotingField Ljava/lang/String; public static final field allowsWriteToPMField Ljava/lang/String; + public static final field alternativeTextField Ljava/lang/String; public static final field amountField Ljava/lang/String; + public static final field anchorNameField Ljava/lang/String; public static final field animationField Ljava/lang/String; public static final field areasField Ljava/lang/String; public static final field audioDurationField Ljava/lang/String; @@ -11023,6 +11120,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field backgroundColorField Ljava/lang/String; public static final field backgroundCustomEmojiIdField Ljava/lang/String; public static final field backgroundField Ljava/lang/String; + public static final field bankCardNumberField Ljava/lang/String; public static final field bankStatementField Ljava/lang/String; public static final field baseColorField Ljava/lang/String; public static final field baseNameField Ljava/lang/String; @@ -11030,6 +11128,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field bigFileUniqueIdField Ljava/lang/String; public static final field bioField Ljava/lang/String; public static final field birthdateField Ljava/lang/String; + public static final field blocksField Ljava/lang/String; public static final field boostCountField Ljava/lang/String; public static final field boostField Ljava/lang/String; public static final field boostIdField Ljava/lang/String; @@ -11106,6 +11205,8 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field canViewGiftsAndStarsField Ljava/lang/String; public static final field captionEntitiesField Ljava/lang/String; public static final field captionField Ljava/lang/String; + public static final field cashtagField Ljava/lang/String; + public static final field cellsField Ljava/lang/String; public static final field centerColorField Ljava/lang/String; public static final field certificateField Ljava/lang/String; public static final field chatField Ljava/lang/String; @@ -11126,6 +11227,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field codecField Ljava/lang/String; public static final field colorField Ljava/lang/String; public static final field colorsField Ljava/lang/String; + public static final field colspanField Ljava/lang/String; public static final field commentField Ljava/lang/String; public static final field commissionPerMilleField Ljava/lang/String; public static final field completedByChatField Ljava/lang/String; @@ -11146,6 +11248,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field createsJoinRequestField Ljava/lang/String; public static final field creatorField Ljava/lang/String; public static final field credentialsField Ljava/lang/String; + public static final field creditField Ljava/lang/String; public static final field currencyField Ljava/lang/String; public static final field currentLevelRatingField Ljava/lang/String; public static final field customDescriptionField Ljava/lang/String; @@ -11160,6 +11263,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field dataField Ljava/lang/String; public static final field dataHashField Ljava/lang/String; public static final field dateField Ljava/lang/String; + public static final field dateTimeFormatField Ljava/lang/String; public static final field dayField Ljava/lang/String; public static final field descriptionEntitiesField Ljava/lang/String; public static final field descriptionField Ljava/lang/String; @@ -11177,6 +11281,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field dropPendingUpdatesField Ljava/lang/String; public static final field durationField Ljava/lang/String; public static final field edgeColorField Ljava/lang/String; + public static final field emailAddressField Ljava/lang/String; public static final field emailField Ljava/lang/String; public static final field emojiField Ljava/lang/String; public static final field emojiListField Ljava/lang/String; @@ -11200,6 +11305,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field explanationField Ljava/lang/String; public static final field explanationMediaField Ljava/lang/String; public static final field explanationParseModeField Ljava/lang/String; + public static final field expressionField Ljava/lang/String; public static final field fieldNameField Ljava/lang/String; public static final field fileDateField Ljava/lang/String; public static final field fileField Ljava/lang/String; @@ -11245,6 +11351,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field guardBotField Ljava/lang/String; public static final field guestQueryIdField Ljava/lang/String; public static final field hasAggressiveAntiSpamEnabledField Ljava/lang/String; + public static final field hasCheckboxField Ljava/lang/String; public static final field hasColorsField Ljava/lang/String; public static final field hasCustomCertificateField Ljava/lang/String; public static final field hasHiddenMembersField Ljava/lang/String; @@ -11256,12 +11363,14 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field hasTopicsEnabledField Ljava/lang/String; public static final field hasVisibleHistoryField Ljava/lang/String; public static final field hashField Ljava/lang/String; + public static final field hashtagField Ljava/lang/String; public static final field headingField Ljava/lang/String; public static final field heightField Ljava/lang/String; public static final field heightPercentageField Ljava/lang/String; public static final field hideResultsUntilClosesField Ljava/lang/String; public static final field hideUrlField Ljava/lang/String; public static final field horizontalAccuracyField Ljava/lang/String; + public static final field htmlField Ljava/lang/String; public static final field iconColorField Ljava/lang/String; public static final field iconCustomEmojiIdField Ljava/lang/String; public static final field idField Ljava/lang/String; @@ -11282,9 +11391,11 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field isAnonymousField Ljava/lang/String; public static final field isBigField Ljava/lang/String; public static final field isBlurredField Ljava/lang/String; + public static final field isBorderedField Ljava/lang/String; public static final field isBotField Ljava/lang/String; public static final field isBurnedField Ljava/lang/String; public static final field isCanceledField Ljava/lang/String; + public static final field isCheckedField Ljava/lang/String; public static final field isClosedField Ljava/lang/String; public static final field isDarkField Ljava/lang/String; public static final field isDirectMessagesField Ljava/lang/String; @@ -11294,11 +11405,13 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field isFlippedField Ljava/lang/String; public static final field isForumField Ljava/lang/String; public static final field isFromBlockchainField Ljava/lang/String; + public static final field isHeaderField Ljava/lang/String; public static final field isInvertedField Ljava/lang/String; public static final field isManualField Ljava/lang/String; public static final field isMemberField Ljava/lang/String; public static final field isMovingField Ljava/lang/String; public static final field isNameImplicitField Ljava/lang/String; + public static final field isOpenField Ljava/lang/String; public static final field isPaidPostField Ljava/lang/String; public static final field isPersistentField Ljava/lang/String; public static final field isPersonalField Ljava/lang/String; @@ -11308,17 +11421,21 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field isPublicField Ljava/lang/String; public static final field isRecurringField Ljava/lang/String; public static final field isRevokedField Ljava/lang/String; + public static final field isRtlField Ljava/lang/String; public static final field isSavedField Ljava/lang/String; public static final field isStarGiveawayField Ljava/lang/String; + public static final field isStripedField Ljava/lang/String; public static final field isUnclaimedField Ljava/lang/String; public static final field isUpgradeSeparateField Ljava/lang/String; public static final field isVideoField Ljava/lang/String; + public static final field itemsField Ljava/lang/String; public static final field joinByRequestField Ljava/lang/String; public static final field joinToSendMessagesField Ljava/lang/String; public static final field keepOriginalDetailsField Ljava/lang/String; public static final field keywordsField Ljava/lang/String; public static final field labelField Ljava/lang/String; public static final field languageCodeField Ljava/lang/String; + public static final field languageField Ljava/lang/String; public static final field lastErrorDateField Ljava/lang/String; public static final field lastErrorMessageField Ljava/lang/String; public static final field lastNameField Ljava/lang/String; @@ -11343,6 +11460,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field loginUrlField Ljava/lang/String; public static final field longitudeField Ljava/lang/String; public static final field mainFrameTimestampField Ljava/lang/String; + public static final field markdownField Ljava/lang/String; public static final field markedAsDoneTaskIdsField Ljava/lang/String; public static final field markedAsNotDoneTaskIdsField Ljava/lang/String; public static final field maskPositionField Ljava/lang/String; @@ -11483,6 +11601,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field reactionsField Ljava/lang/String; public static final field reasonField Ljava/lang/String; public static final field receiverField Ljava/lang/String; + public static final field referenceNameField Ljava/lang/String; public static final field regularPollType Ljava/lang/String; public static final field remainingCountField Ljava/lang/String; public static final field removeCaptionField Ljava/lang/String; @@ -11516,8 +11635,10 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field returnBotsField Ljava/lang/String; public static final field reverseSideField Ljava/lang/String; public static final field revokeMessagesField Ljava/lang/String; + public static final field richMessageField Ljava/lang/String; public static final field rightsField Ljava/lang/String; public static final field rotationAngleField Ljava/lang/String; + public static final field rowspanField Ljava/lang/String; public static final field scaleField Ljava/lang/String; public static final field scopeField Ljava/lang/String; public static final field scoreField Ljava/lang/String; @@ -11544,6 +11665,8 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field showCaptionAboveMediaField Ljava/lang/String; public static final field showGiftButtonField Ljava/lang/String; public static final field shuffleOptionsField Ljava/lang/String; + public static final field sizeField Ljava/lang/String; + public static final field skipEntityDetectionField Ljava/lang/String; public static final field slowModeDelayField Ljava/lang/String; public static final field smallFileIdField Ljava/lang/String; public static final field smallFileUniqueIdField Ljava/lang/String; @@ -11575,6 +11698,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field suggestedPostParametersField Ljava/lang/String; public static final field suggestedTipAmountsField Ljava/lang/String; public static final field suggestedUsernameField Ljava/lang/String; + public static final field summaryField Ljava/lang/String; public static final field supportInlineQueriesField Ljava/lang/String; public static final field supportStreamingField Ljava/lang/String; public static final field supportsGuestQueriesField Ljava/lang/String; @@ -11625,6 +11749,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field uniqueGiftNumberField Ljava/lang/String; public static final field uniqueGiftVariantCountField Ljava/lang/String; public static final field uniqueGiftsField Ljava/lang/String; + public static final field unixTimeField Ljava/lang/String; public static final field unlimitedGiftsField Ljava/lang/String; public static final field unrestrictBoostsCountField Ljava/lang/String; public static final field unspecifiedField Ljava/lang/String; @@ -11643,6 +11768,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field usernameField Ljava/lang/String; public static final field usersField Ljava/lang/String; public static final field utilityBillField Ljava/lang/String; + public static final field valignField Ljava/lang/String; public static final field valueField Ljava/lang/String; public static final field vcardField Ljava/lang/String; public static final field venueField Ljava/lang/String; @@ -11659,6 +11785,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field voiceDurationField Ljava/lang/String; public static final field voiceField Ljava/lang/String; public static final field voiceFileIdField Ljava/lang/String; + public static final field voiceNoteField Ljava/lang/String; public static final field voiceUrlField Ljava/lang/String; public static final field voterChatField Ljava/lang/String; public static final field votesCountField Ljava/lang/String; @@ -11679,6 +11806,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field yPercentageField Ljava/lang/String; public static final field yShiftField Ljava/lang/String; public static final field yearField Ljava/lang/String; + public static final field zoomField Ljava/lang/String; public static final fun getAllowedConnectionsLength ()Lkotlin/ranges/IntRange; public static final fun getAllowedConnectionsWithLocalServerLength ()Lkotlin/ranges/IntRange; public static final fun getAllowedToSavePreparedKeyboardButtons ()Ljava/util/Set; @@ -13628,6 +13756,33 @@ public final class dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/Inp public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent : dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent { + public static final field Companion Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent$Companion; + public fun (Ldev/inmo/tgbotapi/types/rich/InputRichMessage;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/InputRichMessage;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent;Ldev/inmo/tgbotapi/types/rich/InputRichMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent; + public fun equals (Ljava/lang/Object;)Z + public final fun getRichMessage ()Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent; + 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/InlineQueries/InputMessageContent/InputRichMessageContent;)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/InlineQueries/InputMessageContent/InputRichMessageContent$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputTextMessageContent : dev/inmo/tgbotapi/abstracts/TextedOutput, dev/inmo/tgbotapi/abstracts/types/LinkPreviewOptionsContainer, dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent { public static final field Companion Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputTextMessageContent$Companion; public final fun component1 ()Ljava/lang/String; @@ -29004,6 +29159,35 @@ public final class dev/inmo/tgbotapi/types/message/content/ResendableContent$Def public static synthetic fun createResend-eUDkMIk$default (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/abstracts/Request; } +public final class dev/inmo/tgbotapi/types/message/content/RichMessageContent : dev/inmo/tgbotapi/types/message/content/MessageContent { + public static final field Companion Ldev/inmo/tgbotapi/types/message/content/RichMessageContent$Companion; + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/rich/RichMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component3 ()Ldev/inmo/tgbotapi/types/rich/RichMessage; + public final fun copy-HkzWJnM (Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/rich/RichMessage;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent; + public static synthetic fun copy-HkzWJnM$default (Ldev/inmo/tgbotapi/types/message/content/RichMessageContent;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/rich/RichMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent; + public fun createResend-QiyHKDI (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/MessageId;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;)Ldev/inmo/tgbotapi/requests/abstracts/Request; + public fun createResend-eUDkMIk (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/MessageThreadId;Ldev/inmo/tgbotapi/types/DirectMessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/message/SuggestedPostParameters;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;)Ldev/inmo/tgbotapi/requests/abstracts/Request; + public fun equals (Ljava/lang/Object;)Z + public final fun getRichMessage ()Ldev/inmo/tgbotapi/types/rich/RichMessage; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/content/RichMessageContent$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/content/RichMessageContent$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent; + 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/message/content/RichMessageContent;)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/message/content/RichMessageContent$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public abstract interface class dev/inmo/tgbotapi/types/message/content/SpoilerableMediaContent : dev/inmo/tgbotapi/abstracts/SpoilerableData, dev/inmo/tgbotapi/types/message/content/MediaContent { } @@ -34203,6 +34387,1696 @@ public final class dev/inmo/tgbotapi/types/request/UsersShared$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/types/rich/InputRichMessage { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichMessage$Companion; + public fun ()V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/Boolean; + public final fun component4 ()Ljava/lang/Boolean; + public fun equals (Ljava/lang/Object;)Z + public final fun getHtml ()Ljava/lang/String; + public final fun getMarkdown ()Ljava/lang/String; + public final fun getSkipEntityDetection ()Ljava/lang/Boolean; + public fun hashCode ()I + public final fun isRtl ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/InputRichMessage$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichMessage$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + 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/rich/InputRichMessage;)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/rich/InputRichMessage$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/InputRichMessageKt { + public static final fun InputRichMessageHTML (Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + public static synthetic fun InputRichMessageHTML$default (Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + public static final fun InputRichMessageMarkdown (Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage; + public static synthetic fun InputRichMessageMarkdown$default (Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage; +} + +public abstract interface class dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlock$Companion; + public abstract fun getType ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlock$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockAnchor : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockAnchor$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnchor; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockAnchor;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnchor; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockAnchor$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockAnchor$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnchor; + 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/rich/RichBlockAnchor;)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/rich/RichBlockAnchor$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockAnimation : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockAnimation$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/files/AnimationFile;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/files/AnimationFile;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/files/AnimationFile; + public final fun component2 ()Ljava/lang/Boolean; + public final fun component3 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun copy (Ldev/inmo/tgbotapi/types/files/AnimationFile;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnimation; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockAnimation;Ldev/inmo/tgbotapi/types/files/AnimationFile;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnimation; + public fun equals (Ljava/lang/Object;)Z + public final fun getAnimation ()Ldev/inmo/tgbotapi/types/files/AnimationFile; + public final fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun getHasSpoiler ()Ljava/lang/Boolean; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockAnimation$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockAnimation$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnimation; + 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/rich/RichBlockAnimation;)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/rich/RichBlockAnimation$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockAudio : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockAudio$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/files/AudioFile;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/files/AudioFile;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/files/AudioFile; + public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun copy (Ldev/inmo/tgbotapi/types/files/AudioFile;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/RichBlockAudio; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockAudio;Ldev/inmo/tgbotapi/types/files/AudioFile;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockAudio; + public fun equals (Ljava/lang/Object;)Z + public final fun getAudio ()Ldev/inmo/tgbotapi/types/files/AudioFile; + public final fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockAudio$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockAudio$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockAudio; + 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/rich/RichBlockAudio;)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/rich/RichBlockAudio$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichText;)V + public synthetic fun (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichText;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation;Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation; + public fun equals (Ljava/lang/Object;)Z + public final fun getBlocks ()Ljava/util/List; + public final fun getCredit ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation; + 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/rich/RichBlockBlockQuotation;)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/rich/RichBlockBlockQuotation$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockCaption { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockCaption$Companion; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public fun equals (Ljava/lang/Object;)Z + public final fun getCredit ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockCaption$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockCaption$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + 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/rich/RichBlockCaption;)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/rich/RichBlockCaption$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockCollage : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockCollage$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V + public synthetic fun (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun copy (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/RichBlockCollage; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockCollage;Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockCollage; + public fun equals (Ljava/lang/Object;)Z + public final fun getBlocks ()Ljava/util/List; + public final fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockCollage$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockCollage$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockCollage; + 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/rich/RichBlockCollage;)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/rich/RichBlockCollage$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockDetails : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockDetails$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/util/List;Ljava/lang/Boolean;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/util/List;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/util/List; + public final fun component3 ()Ljava/lang/Boolean; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/util/List;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/rich/RichBlockDetails; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockDetails;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/util/List;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockDetails; + public fun equals (Ljava/lang/Object;)Z + public final fun getBlocks ()Ljava/util/List; + public final fun getSummary ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public final fun isOpen ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockDetails$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockDetails$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockDetails; + 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/rich/RichBlockDetails;)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/rich/RichBlockDetails$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockDivider : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockDivider$Companion; + public static final field TYPE Ljava/lang/String; + public fun ()V + public fun equals (Ljava/lang/Object;)Z + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockDivider$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockDivider$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockDivider; + 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/rich/RichBlockDivider;)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/rich/RichBlockDivider$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockFooter : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockFooter$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichBlockFooter; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockFooter;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockFooter; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockFooter$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockFooter$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockFooter; + 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/rich/RichBlockFooter;)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/rich/RichBlockFooter$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockList : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockList$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Ldev/inmo/tgbotapi/types/rich/RichBlockList; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockList;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockList; + public fun equals (Ljava/lang/Object;)Z + public final fun getItems ()Ljava/util/List; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockList$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockList$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockList; + 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/rich/RichBlockList;)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/rich/RichBlockList$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockListItem { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockListItem$Companion; + public fun (Ljava/lang/String;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/util/List; + public final fun component3 ()Ljava/lang/Boolean; + public final fun component4 ()Ljava/lang/Boolean; + public final fun component5 ()Ljava/lang/Integer; + public final fun component6 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichBlockListItem; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockListItem;Ljava/lang/String;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockListItem; + public fun equals (Ljava/lang/Object;)Z + public final fun getBlocks ()Ljava/util/List; + public final fun getHasCheckbox ()Ljava/lang/Boolean; + public final fun getLabel ()Ljava/lang/String; + public final fun getLabelType ()Ljava/lang/String; + public final fun getValue ()Ljava/lang/Integer; + public fun hashCode ()I + public final fun isChecked ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockListItem$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockListItem$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockListItem; + 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/rich/RichBlockListItem;)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/rich/RichBlockListItem$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockMap : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockMap$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/location/StaticLocation;IIILdev/inmo/tgbotapi/types/rich/RichBlockCaption;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/location/StaticLocation;IIILdev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/location/StaticLocation; + public final fun component2 ()I + public final fun component3 ()I + public final fun component4 ()I + public final fun component5 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun copy (Ldev/inmo/tgbotapi/types/location/StaticLocation;IIILdev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/RichBlockMap; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockMap;Ldev/inmo/tgbotapi/types/location/StaticLocation;IIILdev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockMap; + public fun equals (Ljava/lang/Object;)Z + public final fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun getHeight ()I + public final fun getLocation ()Ldev/inmo/tgbotapi/types/location/StaticLocation; + public fun getType ()Ljava/lang/String; + public final fun getWidth ()I + public final fun getZoom ()I + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockMap$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockMap$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockMap; + 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/rich/RichBlockMap;)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/rich/RichBlockMap$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression; + public fun equals (Ljava/lang/Object;)Z + public final fun getExpression ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression; + 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/rich/RichBlockMathematicalExpression;)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/rich/RichBlockMathematicalExpression$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockParagraph : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockParagraph$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichBlockParagraph; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockParagraph;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockParagraph; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockParagraph$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockParagraph$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockParagraph; + 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/rich/RichBlockParagraph;)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/rich/RichBlockParagraph$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockPhoto : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockPhoto$Companion; + public static final field TYPE Ljava/lang/String; + public synthetic fun (Ljava/util/List;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/util/List;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-bGlShw4 ()Ljava/util/List; + public final fun component2 ()Ljava/lang/Boolean; + public final fun component3 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun copy-OKnyJrA (Ljava/util/List;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/RichBlockPhoto; + public static synthetic fun copy-OKnyJrA$default (Ldev/inmo/tgbotapi/types/rich/RichBlockPhoto;Ljava/util/List;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockPhoto; + public fun equals (Ljava/lang/Object;)Z + public final fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun getHasSpoiler ()Ljava/lang/Boolean; + public final fun getPhoto-bGlShw4 ()Ljava/util/List; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockPhoto$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockPhoto$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockPhoto; + 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/rich/RichBlockPhoto;)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/rich/RichBlockPhoto$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockPreformatted : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockPreformatted$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichBlockPreformatted; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockPreformatted;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockPreformatted; + public fun equals (Ljava/lang/Object;)Z + public final fun getLanguage ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockPreformatted$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockPreformatted$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockPreformatted; + 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/rich/RichBlockPreformatted;)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/rich/RichBlockPreformatted$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockPullQuotation : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockPullQuotation$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichBlockPullQuotation; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockPullQuotation;Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockPullQuotation; + public fun equals (Ljava/lang/Object;)Z + public final fun getCredit ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockPullQuotation$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockPullQuotation$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockPullQuotation; + 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/rich/RichBlockPullQuotation;)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/rich/RichBlockPullQuotation$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockSectionHeading : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockSectionHeading$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;I)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()I + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;I)Ldev/inmo/tgbotapi/types/rich/RichBlockSectionHeading; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockSectionHeading;Ldev/inmo/tgbotapi/types/rich/RichText;IILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockSectionHeading; + public fun equals (Ljava/lang/Object;)Z + public final fun getSize ()I + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockSectionHeading$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockSectionHeading$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockSectionHeading; + 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/rich/RichBlockSectionHeading;)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/rich/RichBlockSectionHeading$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockSerializer : kotlinx/serialization/json/JsonContentPolymorphicSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockSlideshow : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockSlideshow$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V + public synthetic fun (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun copy (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/RichBlockSlideshow; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockSlideshow;Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockSlideshow; + public fun equals (Ljava/lang/Object;)Z + public final fun getBlocks ()Ljava/util/List; + public final fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockSlideshow$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockSlideshow$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockSlideshow; + 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/rich/RichBlockSlideshow;)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/rich/RichBlockSlideshow$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockTable : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockTable$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichText;)V + public synthetic fun (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichText;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Ljava/lang/Boolean; + public final fun component3 ()Ljava/lang/Boolean; + public final fun component4 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichBlockTable; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockTable;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockTable; + public fun equals (Ljava/lang/Object;)Z + public final fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun getCells ()Ljava/util/List; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public final fun isBordered ()Ljava/lang/Boolean; + public final fun isStriped ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockTable$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockTable$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockTable; + 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/rich/RichBlockTable;)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/rich/RichBlockTable$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockTableCell { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockTableCell$Companion; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/Boolean; + public final fun component3 ()Ljava/lang/Integer; + public final fun component4 ()Ljava/lang/Integer; + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichBlockTableCell; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockTableCell;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockTableCell; + public fun equals (Ljava/lang/Object;)Z + public final fun getAlign ()Ljava/lang/String; + public final fun getColspan ()Ljava/lang/Integer; + public final fun getRowspan ()Ljava/lang/Integer; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun getValign ()Ljava/lang/String; + public fun hashCode ()I + public final fun isHeader ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockTableCell$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockTableCell$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockTableCell; + 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/rich/RichBlockTableCell;)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/rich/RichBlockTableCell$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockThinking : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockThinking$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichBlockThinking; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockThinking;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockThinking; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockThinking$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockThinking$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockThinking; + 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/rich/RichBlockThinking;)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/rich/RichBlockThinking$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockVideo : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockVideo$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/files/VideoFile; + public final fun component2 ()Ljava/lang/Boolean; + public final fun component3 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun copy (Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/RichBlockVideo; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockVideo;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockVideo; + public fun equals (Ljava/lang/Object;)Z + public final fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun getHasSpoiler ()Ljava/lang/Boolean; + public fun getType ()Ljava/lang/String; + public final fun getVideo ()Ldev/inmo/tgbotapi/types/files/VideoFile; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockVideo$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockVideo$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockVideo; + 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/rich/RichBlockVideo;)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/rich/RichBlockVideo$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichBlockVoiceNote : dev/inmo/tgbotapi/types/rich/RichBlock { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichBlockVoiceNote$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/files/VoiceFile;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/files/VoiceFile;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/files/VoiceFile; + public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public final fun copy (Ldev/inmo/tgbotapi/types/files/VoiceFile;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/RichBlockVoiceNote; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichBlockVoiceNote;Ldev/inmo/tgbotapi/types/files/VoiceFile;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichBlockVoiceNote; + public fun equals (Ljava/lang/Object;)Z + public final fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption; + public fun getType ()Ljava/lang/String; + public final fun getVoiceNote ()Ldev/inmo/tgbotapi/types/files/VoiceFile; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichBlockVoiceNote$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichBlockVoiceNote$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichBlockVoiceNote; + 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/rich/RichBlockVoiceNote;)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/rich/RichBlockVoiceNote$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichMessage { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichMessage$Companion; + public fun (Ljava/util/List;Ljava/lang/Boolean;)V + public synthetic fun (Ljava/util/List;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Ljava/lang/Boolean; + public final fun copy (Ljava/util/List;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/rich/RichMessage; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichMessage;Ljava/util/List;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichMessage; + public fun equals (Ljava/lang/Object;)Z + public final fun getBlocks ()Ljava/util/List; + public fun hashCode ()I + public final fun isRtl ()Ljava/lang/Boolean; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichMessage$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichMessage$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichMessage; + 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/rich/RichMessage;)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/rich/RichMessage$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class dev/inmo/tgbotapi/types/rich/RichText { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichText$Companion; +} + +public final class dev/inmo/tgbotapi/types/rich/RichText$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextAnchor : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextAnchor$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchor; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextAnchor;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchor; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextAnchor$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextAnchor$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchor; + 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/rich/RichTextAnchor;)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/rich/RichTextAnchor$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextAnchorLink : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextAnchorLink$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchorLink; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextAnchorLink;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchorLink; + public fun equals (Ljava/lang/Object;)Z + public final fun getAnchorName ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextAnchorLink$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextAnchorLink$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchorLink; + 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/rich/RichTextAnchorLink;)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/rich/RichTextAnchorLink$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextBankCardNumber : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextBankCardNumber$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextBankCardNumber; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextBankCardNumber;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextBankCardNumber; + public fun equals (Ljava/lang/Object;)Z + public final fun getBankCardNumber ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextBankCardNumber$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextBankCardNumber$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextBankCardNumber; + 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/rich/RichTextBankCardNumber;)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/rich/RichTextBankCardNumber$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextBold : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextBold$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextBold; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextBold;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextBold; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextBold$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextBold$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextBold; + 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/rich/RichTextBold;)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/rich/RichTextBold$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextBotCommand : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextBotCommand$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextBotCommand; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextBotCommand;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextBotCommand; + public fun equals (Ljava/lang/Object;)Z + public final fun getBotCommand ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextBotCommand$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextBotCommand$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextBotCommand; + 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/rich/RichTextBotCommand;)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/rich/RichTextBotCommand$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextCashtag : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextCashtag$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextCashtag; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextCashtag;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextCashtag; + public fun equals (Ljava/lang/Object;)Z + public final fun getCashtag ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextCashtag$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextCashtag$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextCashtag; + 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/rich/RichTextCashtag;)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/rich/RichTextCashtag$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextCode : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextCode$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextCode; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextCode;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextCode; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextCode$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextCode$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextCode; + 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/rich/RichTextCode;)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/rich/RichTextCode$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextCustomEmoji : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextCustomEmoji$Companion; + public static final field TYPE Ljava/lang/String; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-dDnjveI ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun copy-R1fjqgo (Ljava/lang/String;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextCustomEmoji; + public static synthetic fun copy-R1fjqgo$default (Ldev/inmo/tgbotapi/types/rich/RichTextCustomEmoji;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextCustomEmoji; + public fun equals (Ljava/lang/Object;)Z + public final fun getAlternativeText ()Ljava/lang/String; + public final fun getCustomEmojiId-dDnjveI ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextCustomEmoji$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextCustomEmoji$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextCustomEmoji; + 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/rich/RichTextCustomEmoji;)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/rich/RichTextCustomEmoji$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextDateTime : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextDateTime$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;JLjava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()J + public final fun component3 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;JLjava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextDateTime; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextDateTime;Ldev/inmo/tgbotapi/types/rich/RichText;JLjava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextDateTime; + public fun equals (Ljava/lang/Object;)Z + public final fun getDateTimeFormat ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public final fun getUnixTime ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextDateTime$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextDateTime$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextDateTime; + 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/rich/RichTextDateTime;)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/rich/RichTextDateTime$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextEmailAddress : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextEmailAddress$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextEmailAddress; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextEmailAddress;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextEmailAddress; + public fun equals (Ljava/lang/Object;)Z + public final fun getEmailAddress ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextEmailAddress$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextEmailAddress$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextEmailAddress; + 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/rich/RichTextEmailAddress;)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/rich/RichTextEmailAddress$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class dev/inmo/tgbotapi/types/rich/RichTextEntity : dev/inmo/tgbotapi/types/rich/RichText { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextEntity$Companion; + public abstract fun getType ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextEntity$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextEntitySerializer : kotlinx/serialization/json/JsonContentPolymorphicSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextEntitySerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextGroup : dev/inmo/tgbotapi/types/rich/RichText { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextGroup$Companion; + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Ldev/inmo/tgbotapi/types/rich/RichTextGroup; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextGroup;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextGroup; + public fun equals (Ljava/lang/Object;)Z + public final fun getParts ()Ljava/util/List; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextGroup$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextGroup$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextGroup; + 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/rich/RichTextGroup;)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/rich/RichTextGroup$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextHashtag : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextHashtag$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextHashtag; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextHashtag;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextHashtag; + public fun equals (Ljava/lang/Object;)Z + public final fun getHashtag ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextHashtag$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextHashtag$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextHashtag; + 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/rich/RichTextHashtag;)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/rich/RichTextHashtag$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextItalic : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextItalic$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextItalic; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextItalic;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextItalic; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextItalic$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextItalic$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextItalic; + 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/rich/RichTextItalic;)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/rich/RichTextItalic$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextMarked : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextMarked$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextMarked; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextMarked;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextMarked; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextMarked$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextMarked$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextMarked; + 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/rich/RichTextMarked;)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/rich/RichTextMarked$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression; + public fun equals (Ljava/lang/Object;)Z + public final fun getExpression ()Ljava/lang/String; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression; + 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/rich/RichTextMathematicalExpression;)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/rich/RichTextMathematicalExpression$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextMention : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextMention$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextMention; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextMention;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextMention; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public final fun getUsername ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextMention$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextMention$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextMention; + 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/rich/RichTextMention;)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/rich/RichTextMention$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextPhoneNumber : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextPhoneNumber$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextPhoneNumber; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextPhoneNumber;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextPhoneNumber; + public fun equals (Ljava/lang/Object;)Z + public final fun getPhoneNumber ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextPhoneNumber$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextPhoneNumber$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextPhoneNumber; + 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/rich/RichTextPhoneNumber;)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/rich/RichTextPhoneNumber$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextPlain : dev/inmo/tgbotapi/types/rich/RichText { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextPlain$Companion; + public fun (Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextPlain; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextPlain;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextPlain; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextPlain$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextPlain$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextPlain; + 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/rich/RichTextPlain;)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/rich/RichTextPlain$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextReference : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextReference$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextReference; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextReference;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextReference; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextReference$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextReference$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextReference; + 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/rich/RichTextReference;)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/rich/RichTextReference$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextReferenceLink : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextReferenceLink$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextReferenceLink; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextReferenceLink;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextReferenceLink; + public fun equals (Ljava/lang/Object;)Z + public final fun getReferenceName ()Ljava/lang/String; + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextReferenceLink$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextReferenceLink$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextReferenceLink; + 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/rich/RichTextReferenceLink;)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/rich/RichTextReferenceLink$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextSerializer; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichText; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/rich/RichText;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextSpoiler : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextSpoiler$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextSpoiler; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextSpoiler;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextSpoiler; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextSpoiler$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextSpoiler$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextSpoiler; + 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/rich/RichTextSpoiler;)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/rich/RichTextSpoiler$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextStrikethrough : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextStrikethrough$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextStrikethrough; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextStrikethrough;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextStrikethrough; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextStrikethrough$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextStrikethrough$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextStrikethrough; + 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/rich/RichTextStrikethrough;)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/rich/RichTextStrikethrough$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextSubscript : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextSubscript$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextSubscript; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextSubscript;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextSubscript; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextSubscript$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextSubscript$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextSubscript; + 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/rich/RichTextSubscript;)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/rich/RichTextSubscript$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextSuperscript : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextSuperscript$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextSuperscript; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextSuperscript;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextSuperscript; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextSuperscript$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextSuperscript$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextSuperscript; + 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/rich/RichTextSuperscript;)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/rich/RichTextSuperscript$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextTextMention : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextTextMention$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/chat/User;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ldev/inmo/tgbotapi/types/chat/User; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/chat/User;)Ldev/inmo/tgbotapi/types/rich/RichTextTextMention; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextTextMention;Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/chat/User;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextTextMention; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public final fun getUser ()Ldev/inmo/tgbotapi/types/chat/User; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextTextMention$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextTextMention$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextTextMention; + 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/rich/RichTextTextMention;)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/rich/RichTextTextMention$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextUnderline : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextUnderline$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextUnderline; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextUnderline;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextUnderline; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextUnderline$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextUnderline$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextUnderline; + 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/rich/RichTextUnderline;)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/rich/RichTextUnderline$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/rich/RichTextUrl : dev/inmo/tgbotapi/types/rich/RichTextEntity { + public static final field Companion Ldev/inmo/tgbotapi/types/rich/RichTextUrl$Companion; + public static final field TYPE Ljava/lang/String; + public fun (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/rich/RichText; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/RichTextUrl; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/RichTextUrl;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/RichTextUrl; + public fun equals (Ljava/lang/Object;)Z + public final fun getText ()Ldev/inmo/tgbotapi/types/rich/RichText; + public fun getType ()Ljava/lang/String; + public final fun getUrl ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/rich/RichTextUrl$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/RichTextUrl$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/RichTextUrl; + 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/rich/RichTextUrl;)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/rich/RichTextUrl$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/types/stickers/CustomEmojiStickerSet : dev/inmo/tgbotapi/types/stickers/StickerSet { public static final field Companion Ldev/inmo/tgbotapi/types/stickers/CustomEmojiStickerSet$Companion; public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ldev/inmo/tgbotapi/types/files/PhotoSize;ILkotlin/jvm/internal/DefaultConstructorMarker;)V diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText.kt index 47420bf48d..5b2123ae6b 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/edit/text/EditChatMessageText.kt @@ -13,6 +13,7 @@ import dev.inmo.tgbotapi.types.message.RawMessageEntity import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage import dev.inmo.tgbotapi.types.message.content.TextContent import dev.inmo.tgbotapi.types.message.toRawMessageEntities +import dev.inmo.tgbotapi.types.rich.InputRichMessage import dev.inmo.tgbotapi.utils.extensions.makeString import kotlinx.serialization.* @@ -73,7 +74,9 @@ data class EditChatMessageText internal constructor( @SerialName(linkPreviewOptionsField) override val linkPreviewOptions: LinkPreviewOptions? = null, @SerialName(replyMarkupField) - override val replyMarkup: InlineKeyboardMarkup? = null + override val replyMarkup: InlineKeyboardMarkup? = null, + @SerialName(richMessageField) + val richMessage: InputRichMessage? = null ) : EditChatMessage, EditTextChatMessage, EditReplyMessage, EditLinkPreviewOptionsContainer { override val textSources: TextSourcesList? by lazy { rawEntities ?.asTextSources(text) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendRichMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendRichMessage.kt new file mode 100644 index 0000000000..985bc21b52 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendRichMessage.kt @@ -0,0 +1,65 @@ +package dev.inmo.tgbotapi.requests.send + +import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest +import dev.inmo.tgbotapi.requests.send.abstracts.SendContentMessageRequest +import dev.inmo.tgbotapi.types.* +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup +import dev.inmo.tgbotapi.types.message.* +import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage +import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass +import dev.inmo.tgbotapi.types.message.content.RichMessageContent +import dev.inmo.tgbotapi.types.rich.InputRichMessage +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.EncodeDefault +import kotlinx.serialization.ExperimentalSerializationApi +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationStrategy + +internal val RichMessageContentMessageResultDeserializer: DeserializationStrategy> + = TelegramBotAPIMessageDeserializationStrategyClass() + +/** + * Use this method to send rich messages. + * + * @see sendRichMessage + */ +@Serializable +data class SendRichMessage( + @SerialName(chatIdField) + override val chatId: ChatIdentifier, + @SerialName(richMessageField) + val richMessage: InputRichMessage, + @OptIn(ExperimentalSerializationApi::class) + @SerialName(messageThreadIdField) + @EncodeDefault + override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId, + @SerialName(businessConnectionIdField) + override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, + @SerialName(disableNotificationField) + override val disableNotification: Boolean = false, + @SerialName(protectContentField) + override val protectContent: Boolean = false, + @SerialName(allowPaidBroadcastField) + override val allowPaidBroadcast: Boolean = false, + @SerialName(messageEffectIdField) + override val effectId: EffectId? = null, + @SerialName(suggestedPostParametersField) + override val suggestedPostParameters: SuggestedPostParameters? = null, + @SerialName(replyParametersField) + override val replyParameters: ReplyParameters? = null, + @SerialName(replyMarkupField) + override val replyMarkup: KeyboardMarkup? = null +) : SendContentMessageRequest>, + ReplyingMarkupSendMessageRequest> { + override fun method(): String = "sendRichMessage" + override val resultDeserializer: DeserializationStrategy> + get() = RichMessageContentMessageResultDeserializer + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendRichMessageDraft.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendRichMessageDraft.kt new file mode 100644 index 0000000000..8d0e842d89 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendRichMessageDraft.kt @@ -0,0 +1,51 @@ +package dev.inmo.tgbotapi.requests.send + +import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest +import dev.inmo.tgbotapi.types.ChatId +import dev.inmo.tgbotapi.types.MessageThreadId +import dev.inmo.tgbotapi.types.chatIdField +import dev.inmo.tgbotapi.types.draftIdField +import dev.inmo.tgbotapi.types.messageThreadIdField +import dev.inmo.tgbotapi.types.richMessageField +import dev.inmo.tgbotapi.types.rich.InputRichMessage +import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationStrategy + +/** + * Use this method to stream a partial rich message to a user while the message is being generated. The streamed draft is + * ephemeral and acts as a temporary 30-second preview - once the output is finalized, [SendRichMessage] must be called + * with the complete message to persist it in the user's chat. + * + * @see sendRichMessageDraft + */ +@Serializable +data class SendRichMessageDraft( + @SerialName(chatIdField) + val chatId: ChatId, + /** + * Unique identifier of the message draft; must be non-zero. Changes to drafts with the same identifier are animated. + */ + @SerialName(draftIdField) + val draftId: Long, + @SerialName(richMessageField) + val richMessage: InputRichMessage, + @SerialName(messageThreadIdField) + val threadId: MessageThreadId? = null +) : SimpleRequest { + init { + require(draftId != 0L) { + "draftId of SendRichMessageDraft must be non-zero" + } + } + + override val requestSerializer: SerializationStrategy<*> + get() = serializer() + + override val resultDeserializer: DeserializationStrategy + get() = UnitFromBooleanSerializer + + override fun method(): String = "sendRichMessageDraft" +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt index 2d6775e714..085a3deb8b 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt @@ -573,6 +573,40 @@ const val supportsJoinRequestQueriesField = "supports_join_request_queries" const val queryIdField = "query_id" const val chatJoinRequestQueryIdField = "chat_join_request_query_id" const val webAppUrlField = "web_app_url" +const val richMessageField = "rich_message" +const val isRtlField = "is_rtl" +const val skipEntityDetectionField = "skip_entity_detection" +const val markdownField = "markdown" +const val htmlField = "html" +const val unixTimeField = "unix_time" +const val dateTimeFormatField = "date_time_format" +const val alternativeTextField = "alternative_text" +const val expressionField = "expression" +const val emailAddressField = "email_address" +const val hashtagField = "hashtag" +const val cashtagField = "cashtag" +const val bankCardNumberField = "bank_card_number" +const val anchorNameField = "anchor_name" +const val referenceNameField = "reference_name" +const val blocksField = "blocks" +const val itemsField = "items" +const val summaryField = "summary" +const val sizeField = "size" +const val languageField = "language" +const val creditField = "credit" +const val cellsField = "cells" +const val isHeaderField = "is_header" +const val colspanField = "colspan" +const val rowspanField = "rowspan" +const val alignField = "align" +const val valignField = "valign" +const val zoomField = "zoom" +const val voiceNoteField = "voice_note" +const val hasCheckboxField = "has_checkbox" +const val isCheckedField = "is_checked" +const val isOpenField = "is_open" +const val isBorderedField = "is_bordered" +const val isStripedField = "is_striped" const val certificateField = "certificate" const val questionField = "question" const val questionEntitiesField = "question_entities" diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent.kt new file mode 100644 index 0000000000..671db75b0e --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent.kt @@ -0,0 +1,17 @@ +package dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent + +import dev.inmo.tgbotapi.types.richMessageField +import dev.inmo.tgbotapi.types.rich.InputRichMessage +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Represents the content of a rich message to be sent as the result of an inline query. + * + * @see InputRichMessageContent + */ +@Serializable +data class InputRichMessageContent( + @SerialName(richMessageField) + val richMessage: InputRichMessage +) : InputMessageContent diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContentSerializer.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContentSerializer.kt index 8e0796fa64..7f4e3a7358 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContentSerializer.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/InlineQueries/InputMessageContentSerializer.kt @@ -22,6 +22,7 @@ object InputMessageContentSerializer : KSerializer { is InputTextMessageContent -> InputTextMessageContent.serializer().serialize(encoder, value) is InputVenueMessageContent -> InputVenueMessageContent.serializer().serialize(encoder, value) is InputInvoiceMessageContent -> InputInvoiceMessageContent.serializer().serialize(encoder, value) + is InputRichMessageContent -> InputRichMessageContent.serializer().serialize(encoder, value) } } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt index 379df3a347..9a55bfc893 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt @@ -50,6 +50,7 @@ import dev.inmo.tgbotapi.types.polls.Poll import dev.inmo.tgbotapi.types.polls.PollOptionPersistentId import dev.inmo.tgbotapi.types.request.ChatShared import dev.inmo.tgbotapi.types.request.UsersShared +import dev.inmo.tgbotapi.types.rich.RichMessage import dev.inmo.tgbotapi.types.stories.Story import dev.inmo.tgbotapi.types.venue.Venue import dev.inmo.tgbotapi.utils.isFakeTelegramUser @@ -92,6 +93,7 @@ internal data class RawMessage( private val caption_entities: RawMessageEntities? = null, private val has_media_spoiler: Boolean? = null, private val story: Story? = null, + private val rich_message: RichMessage? = null, private val audio: AudioFile? = null, private val document: DocumentFile? = null, private val paid_media: PaidMediaInfo? = null, @@ -230,6 +232,11 @@ internal data class RawMessage( } ?: emptyList() when { + rich_message != null -> RichMessageContent( + chat, + messageId, + rich_message + ) story != null -> StoryContent( chat, messageId, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/Abstracts.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/Abstracts.kt index 2161505d99..a6231626ba 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/Abstracts.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/Abstracts.kt @@ -55,6 +55,7 @@ sealed interface MessageContent: ResendableContent { subclass(StoryContent::class) subclass(GiveawayPublicResultsContent::class) subclass(GiveawayContent::class) + subclass(RichMessageContent::class) additionalBuilder() } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/RichMessageContent.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/RichMessageContent.kt new file mode 100644 index 0000000000..8e53080231 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/RichMessageContent.kt @@ -0,0 +1,44 @@ +package dev.inmo.tgbotapi.types.message.content + +import dev.inmo.tgbotapi.requests.ForwardMessage +import dev.inmo.tgbotapi.requests.abstracts.Request +import dev.inmo.tgbotapi.types.* +import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId +import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup +import dev.inmo.tgbotapi.types.chat.Chat +import dev.inmo.tgbotapi.types.message.SuggestedPostParameters +import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage +import dev.inmo.tgbotapi.types.rich.RichMessage +import kotlinx.serialization.Serializable + +@Serializable +data class RichMessageContent( + private val chat: Chat, + private val messageId: MessageId, + val richMessage: RichMessage +) : MessageContent { + override fun createResend( + chatId: ChatIdentifier, + messageThreadId: MessageThreadId?, + directMessageThreadId: DirectMessageThreadId?, + businessConnectionId: BusinessConnectionId?, + disableNotification: Boolean, + protectContent: Boolean, + allowPaidBroadcast: Boolean, + effectId: EffectId?, + suggestedPostParameters: SuggestedPostParameters?, + replyParameters: ReplyParameters?, + replyMarkup: KeyboardMarkup? + ): Request> { + @Suppress("UNCHECKED_CAST") + return ForwardMessage( + chat.id, + toChatId = chatId, + messageId = messageId, + threadId = messageThreadId, + directMessageThreadId = directMessageThreadId, + disableNotification = disableNotification, + protectContent = protectContent + ) as Request> + } +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/Typealiases.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/Typealiases.kt index 2e9a4b91d7..0bfbaef79e 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/Typealiases.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/content/Typealiases.kt @@ -13,6 +13,8 @@ typealias PollMessage = ChatContentMessage typealias TextMessage = ChatContentMessage typealias StoryMessage = ChatContentMessage +typealias RichMessageContentMessage = ChatContentMessage + typealias LocationMessage = ChatContentMessage typealias LiveLocationMessage = ChatContentMessage typealias StaticLocationMessage = ChatContentMessage diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/InputRichMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/InputRichMessage.kt new file mode 100644 index 0000000000..5495f9d57f --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/InputRichMessage.kt @@ -0,0 +1,65 @@ +package dev.inmo.tgbotapi.types.rich + +import dev.inmo.tgbotapi.types.htmlField +import dev.inmo.tgbotapi.types.isRtlField +import dev.inmo.tgbotapi.types.markdownField +import dev.inmo.tgbotapi.types.skipEntityDetectionField +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Describes a rich message to be sent. Exactly one of the fields [html] or [markdown] must be used. Use the + * [InputRichMessageHTML] and [InputRichMessageMarkdown] factories to build an instance. + * + * @see InputRichMessage + */ +@ConsistentCopyVisibility +@Serializable +data class InputRichMessage internal constructor( + @SerialName(htmlField) + val html: String? = null, + @SerialName(markdownField) + val markdown: String? = null, + @SerialName(isRtlField) + val isRtl: Boolean? = null, + @SerialName(skipEntityDetectionField) + val skipEntityDetection: Boolean? = null +) { + init { + require((html == null) != (markdown == null)) { + "Exactly one of the fields html or markdown must be used in InputRichMessage" + } + } +} + +/** + * Creates an [InputRichMessage] with the content described using HTML formatting. + * + * @see InputRichMessage + */ +fun InputRichMessageHTML( + html: String, + isRtl: Boolean? = null, + skipEntityDetection: Boolean? = null +): InputRichMessage = InputRichMessage( + html = html, + markdown = null, + isRtl = isRtl, + skipEntityDetection = skipEntityDetection +) + +/** + * Creates an [InputRichMessage] with the content described using Markdown formatting. + * + * @see InputRichMessage + */ +fun InputRichMessageMarkdown( + markdown: String, + isRtl: Boolean? = null, + skipEntityDetection: Boolean? = null +): InputRichMessage = InputRichMessage( + html = null, + markdown = markdown, + isRtl = isRtl, + skipEntityDetection = skipEntityDetection +) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichBlock.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichBlock.kt new file mode 100644 index 0000000000..847003b0b2 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichBlock.kt @@ -0,0 +1,50 @@ +package dev.inmo.tgbotapi.types.rich + +import dev.inmo.tgbotapi.types.typeField +import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonContentPolymorphicSerializer +import kotlinx.serialization.json.JsonElement +import kotlinx.serialization.json.jsonObject +import kotlinx.serialization.json.jsonPrimitive + +/** + * Represents a block in a rich formatted message. + * + * @see RichBlock + */ +@Serializable(RichBlockSerializer::class) +@ClassCastsIncluded +sealed interface RichBlock { + val type: String +} + +object RichBlockSerializer : JsonContentPolymorphicSerializer(RichBlock::class) { + override fun selectDeserializer(element: JsonElement): DeserializationStrategy { + return when (val type = element.jsonObject[typeField]?.jsonPrimitive?.content) { + RichBlockParagraph.TYPE -> RichBlockParagraph.serializer() + RichBlockSectionHeading.TYPE -> RichBlockSectionHeading.serializer() + RichBlockPreformatted.TYPE -> RichBlockPreformatted.serializer() + RichBlockFooter.TYPE -> RichBlockFooter.serializer() + RichBlockDivider.TYPE -> RichBlockDivider.serializer() + RichBlockMathematicalExpression.TYPE -> RichBlockMathematicalExpression.serializer() + RichBlockAnchor.TYPE -> RichBlockAnchor.serializer() + RichBlockList.TYPE -> RichBlockList.serializer() + RichBlockBlockQuotation.TYPE -> RichBlockBlockQuotation.serializer() + RichBlockPullQuotation.TYPE -> RichBlockPullQuotation.serializer() + RichBlockCollage.TYPE -> RichBlockCollage.serializer() + RichBlockSlideshow.TYPE -> RichBlockSlideshow.serializer() + RichBlockTable.TYPE -> RichBlockTable.serializer() + RichBlockDetails.TYPE -> RichBlockDetails.serializer() + RichBlockMap.TYPE -> RichBlockMap.serializer() + RichBlockAnimation.TYPE -> RichBlockAnimation.serializer() + RichBlockAudio.TYPE -> RichBlockAudio.serializer() + RichBlockPhoto.TYPE -> RichBlockPhoto.serializer() + RichBlockVideo.TYPE -> RichBlockVideo.serializer() + RichBlockVoiceNote.TYPE -> RichBlockVoiceNote.serializer() + RichBlockThinking.TYPE -> RichBlockThinking.serializer() + else -> error("Unknown RichBlock type: $type") + } + } +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichBlockParts.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichBlockParts.kt new file mode 100644 index 0000000000..79c8d6bec9 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichBlockParts.kt @@ -0,0 +1,75 @@ +package dev.inmo.tgbotapi.types.rich + +import dev.inmo.tgbotapi.types.alignField +import dev.inmo.tgbotapi.types.blocksField +import dev.inmo.tgbotapi.types.colspanField +import dev.inmo.tgbotapi.types.creditField +import dev.inmo.tgbotapi.types.hasCheckboxField +import dev.inmo.tgbotapi.types.isCheckedField +import dev.inmo.tgbotapi.types.isHeaderField +import dev.inmo.tgbotapi.types.labelField +import dev.inmo.tgbotapi.types.rowspanField +import dev.inmo.tgbotapi.types.textField +import dev.inmo.tgbotapi.types.typeField +import dev.inmo.tgbotapi.types.valignField +import dev.inmo.tgbotapi.types.valueField +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Caption of a rich formatted block. + * + * @see RichBlockCaption + */ +@Serializable +data class RichBlockCaption( + @SerialName(textField) + val text: RichText, + @SerialName(creditField) + val credit: RichText? = null +) + +/** + * A cell in a [RichBlockTable]. + * + * @see RichBlockTableCell + */ +@Serializable +data class RichBlockTableCell( + @SerialName(textField) + val text: RichText? = null, + @SerialName(isHeaderField) + val isHeader: Boolean? = null, + @SerialName(colspanField) + val colspan: Int? = null, + @SerialName(rowspanField) + val rowspan: Int? = null, + @SerialName(alignField) + val align: String, + @SerialName(valignField) + val valign: String +) + +/** + * An item of a [RichBlockList]. + * + * @see RichBlockListItem + */ +@Serializable +data class RichBlockListItem( + @SerialName(labelField) + val label: String, + @SerialName(blocksField) + val blocks: List, + @SerialName(hasCheckboxField) + val hasCheckbox: Boolean? = null, + @SerialName(isCheckedField) + val isChecked: Boolean? = null, + @SerialName(valueField) + val value: Int? = null, + /** + * For ordered lists, the type of the item label; must be one of "a", "A", "i", "I" or "1". + */ + @SerialName(typeField) + val labelType: String? = null +) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichBlocks.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichBlocks.kt new file mode 100644 index 0000000000..ddf293aff2 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichBlocks.kt @@ -0,0 +1,490 @@ +package dev.inmo.tgbotapi.types.rich + +import dev.inmo.tgbotapi.types.animationField +import dev.inmo.tgbotapi.types.audioField +import dev.inmo.tgbotapi.types.blocksField +import dev.inmo.tgbotapi.types.captionField +import dev.inmo.tgbotapi.types.cellsField +import dev.inmo.tgbotapi.types.creditField +import dev.inmo.tgbotapi.types.expressionField +import dev.inmo.tgbotapi.types.files.AnimationFile +import dev.inmo.tgbotapi.types.files.AudioFile +import dev.inmo.tgbotapi.types.files.PhotoFile +import dev.inmo.tgbotapi.types.files.VideoFile +import dev.inmo.tgbotapi.types.files.VoiceFile +import dev.inmo.tgbotapi.types.hasSpoilerField +import dev.inmo.tgbotapi.types.heightField +import dev.inmo.tgbotapi.types.isBorderedField +import dev.inmo.tgbotapi.types.isOpenField +import dev.inmo.tgbotapi.types.isStripedField +import dev.inmo.tgbotapi.types.itemsField +import dev.inmo.tgbotapi.types.languageField +import dev.inmo.tgbotapi.types.location.StaticLocation +import dev.inmo.tgbotapi.types.locationField +import dev.inmo.tgbotapi.types.nameField +import dev.inmo.tgbotapi.types.photoField +import dev.inmo.tgbotapi.types.sizeField +import dev.inmo.tgbotapi.types.summaryField +import dev.inmo.tgbotapi.types.textField +import dev.inmo.tgbotapi.types.typeField +import dev.inmo.tgbotapi.types.videoField +import dev.inmo.tgbotapi.types.voiceNoteField +import dev.inmo.tgbotapi.types.widthField +import dev.inmo.tgbotapi.types.zoomField +import kotlinx.serialization.EncodeDefault +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * A text paragraph. + * + * @see RichBlockParagraph + */ +@Serializable +data class RichBlockParagraph( + @SerialName(textField) + val text: RichText +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "paragraph" + } +} + +/** + * A section heading. + * + * @see RichBlockSectionHeading + */ +@Serializable +data class RichBlockSectionHeading( + @SerialName(textField) + val text: RichText, + /** + * Relative size of the text font; 1-6, 1 is the largest, 6 is the smallest. + */ + @SerialName(sizeField) + val size: Int +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "heading" + } +} + +/** + * A preformatted text block. + * + * @see RichBlockPreformatted + */ +@Serializable +data class RichBlockPreformatted( + @SerialName(textField) + val text: RichText, + @SerialName(languageField) + val language: String? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "pre" + } +} + +/** + * A footer. + * + * @see RichBlockFooter + */ +@Serializable +data class RichBlockFooter( + @SerialName(textField) + val text: RichText +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "footer" + } +} + +/** + * A divider. + * + * @see RichBlockDivider + */ +@Serializable +class RichBlockDivider : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + override fun equals(other: Any?): Boolean = other is RichBlockDivider + + override fun hashCode(): Int = TYPE.hashCode() + + override fun toString(): String = "RichBlockDivider" + + companion object { + const val TYPE = "divider" + } +} + +/** + * A block with a mathematical expression in LaTeX format. + * + * @see RichBlockMathematicalExpression + */ +@Serializable +data class RichBlockMathematicalExpression( + @SerialName(expressionField) + val expression: String +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "mathematical_expression" + } +} + +/** + * A block with an anchor. + * + * @see RichBlockAnchor + */ +@Serializable +data class RichBlockAnchor( + @SerialName(nameField) + val name: String +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "anchor" + } +} + +/** + * A list of blocks. + * + * @see RichBlockList + */ +@Serializable +data class RichBlockList( + @SerialName(itemsField) + val items: List +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "list" + } +} + +/** + * A block quotation. + * + * @see RichBlockBlockQuotation + */ +@Serializable +data class RichBlockBlockQuotation( + @SerialName(blocksField) + val blocks: List, + @SerialName(creditField) + val credit: RichText? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "blockquote" + } +} + +/** + * A quotation with centered text. + * + * @see RichBlockPullQuotation + */ +@Serializable +data class RichBlockPullQuotation( + @SerialName(textField) + val text: RichText, + @SerialName(creditField) + val credit: RichText? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "pullquote" + } +} + +/** + * A collage. + * + * @see RichBlockCollage + */ +@Serializable +data class RichBlockCollage( + @SerialName(blocksField) + val blocks: List, + @SerialName(captionField) + val caption: RichBlockCaption? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "collage" + } +} + +/** + * A slideshow. + * + * @see RichBlockSlideshow + */ +@Serializable +data class RichBlockSlideshow( + @SerialName(blocksField) + val blocks: List, + @SerialName(captionField) + val caption: RichBlockCaption? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "slideshow" + } +} + +/** + * A table. + * + * @see RichBlockTable + */ +@Serializable +data class RichBlockTable( + @SerialName(cellsField) + val cells: List>, + @SerialName(isBorderedField) + val isBordered: Boolean? = null, + @SerialName(isStripedField) + val isStriped: Boolean? = null, + @SerialName(captionField) + val caption: RichText? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "table" + } +} + +/** + * An expandable block for details disclosure. + * + * @see RichBlockDetails + */ +@Serializable +data class RichBlockDetails( + @SerialName(summaryField) + val summary: RichText, + @SerialName(blocksField) + val blocks: List, + @SerialName(isOpenField) + val isOpen: Boolean? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "details" + } +} + +/** + * A block with a map. + * + * @see RichBlockMap + */ +@Serializable +data class RichBlockMap( + @SerialName(locationField) + val location: StaticLocation, + /** + * Map zoom level; 13-20. + */ + @SerialName(zoomField) + val zoom: Int, + @SerialName(widthField) + val width: Int, + @SerialName(heightField) + val height: Int, + @SerialName(captionField) + val caption: RichBlockCaption? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "map" + } +} + +/** + * A block with an animation. + * + * @see RichBlockAnimation + */ +@Serializable +data class RichBlockAnimation( + @SerialName(animationField) + val animation: AnimationFile, + @SerialName(hasSpoilerField) + val hasSpoiler: Boolean? = null, + @SerialName(captionField) + val caption: RichBlockCaption? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "animation" + } +} + +/** + * A block with a music file. + * + * @see RichBlockAudio + */ +@Serializable +data class RichBlockAudio( + @SerialName(audioField) + val audio: AudioFile, + @SerialName(captionField) + val caption: RichBlockCaption? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "audio" + } +} + +/** + * A block with a photo. + * + * @see RichBlockPhoto + */ +@Serializable +data class RichBlockPhoto( + @SerialName(photoField) + val photo: PhotoFile, + @SerialName(hasSpoilerField) + val hasSpoiler: Boolean? = null, + @SerialName(captionField) + val caption: RichBlockCaption? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "photo" + } +} + +/** + * A block with a video. + * + * @see RichBlockVideo + */ +@Serializable +data class RichBlockVideo( + @SerialName(videoField) + val video: VideoFile, + @SerialName(hasSpoilerField) + val hasSpoiler: Boolean? = null, + @SerialName(captionField) + val caption: RichBlockCaption? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "video" + } +} + +/** + * A block with a voice note. + * + * @see RichBlockVoiceNote + */ +@Serializable +data class RichBlockVoiceNote( + @SerialName(voiceNoteField) + val voiceNote: VoiceFile, + @SerialName(captionField) + val caption: RichBlockCaption? = null +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "voice_note" + } +} + +/** + * A block with a "Thinking…" placeholder. May be used only in sendRichMessageDraft. + * + * @see RichBlockThinking + */ +@Serializable +data class RichBlockThinking( + @SerialName(textField) + val text: RichText +) : RichBlock { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "thinking" + } +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichMessage.kt new file mode 100644 index 0000000000..55bb419788 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichMessage.kt @@ -0,0 +1,19 @@ +package dev.inmo.tgbotapi.types.rich + +import dev.inmo.tgbotapi.types.blocksField +import dev.inmo.tgbotapi.types.isRtlField +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * Rich formatted message. + * + * @see RichMessage + */ +@Serializable +data class RichMessage( + @SerialName(blocksField) + val blocks: List, + @SerialName(isRtlField) + val isRtl: Boolean? = null +) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichText.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichText.kt new file mode 100644 index 0000000000..d81064de88 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichText.kt @@ -0,0 +1,104 @@ +package dev.inmo.tgbotapi.types.rich + +import dev.inmo.tgbotapi.types.typeField +import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.KSerializer +import kotlinx.serialization.Serializable +import kotlinx.serialization.descriptors.SerialDescriptor +import kotlinx.serialization.encoding.Decoder +import kotlinx.serialization.encoding.Encoder +import kotlinx.serialization.json.* + +/** + * Represents a rich formatted text. It can be either a plain text ([RichTextPlain]), a group of rich texts + * ([RichTextGroup]) or any of [RichTextEntity] subtypes. + * + * @see RichText + */ +@Serializable(RichTextSerializer::class) +@ClassCastsIncluded +sealed interface RichText + +/** + * A plain (non-formatted) part of a [RichText]. Serialized as a bare JSON string. + */ +@Serializable +data class RichTextPlain( + val text: String +) : RichText + +/** + * A group of [RichText]s. Serialized as a JSON array. + */ +@Serializable +data class RichTextGroup( + val parts: List +) : RichText + +/** + * Any typed (formatted) part of a [RichText]. Serialized as a JSON object with the [type] discriminator. + */ +@Serializable(RichTextEntitySerializer::class) +sealed interface RichTextEntity : RichText { + val type: String +} + +object RichTextSerializer : KSerializer { + override val descriptor: SerialDescriptor = JsonElement.serializer().descriptor + + private fun fromJson(json: Json, element: JsonElement): RichText = when (element) { + is JsonArray -> RichTextGroup(element.map { fromJson(json, it) }) + is JsonObject -> json.decodeFromJsonElement(RichTextEntitySerializer, element) + is JsonPrimitive -> RichTextPlain(element.content) + } + + private fun toJson(json: Json, value: RichText): JsonElement = when (value) { + is RichTextPlain -> JsonPrimitive(value.text) + is RichTextGroup -> JsonArray(value.parts.map { toJson(json, it) }) + is RichTextEntity -> json.encodeToJsonElement(RichTextEntitySerializer, value) + } + + override fun deserialize(decoder: Decoder): RichText { + val input = decoder as JsonDecoder + return fromJson(input.json, input.decodeJsonElement()) + } + + override fun serialize(encoder: Encoder, value: RichText) { + val output = encoder as JsonEncoder + output.encodeJsonElement(toJson(output.json, value)) + } +} + +object RichTextEntitySerializer : JsonContentPolymorphicSerializer(RichTextEntity::class) { + override fun selectDeserializer(element: JsonElement): DeserializationStrategy { + return when (val type = element.jsonObject[typeField]?.jsonPrimitive?.content) { + RichTextBold.TYPE -> RichTextBold.serializer() + RichTextItalic.TYPE -> RichTextItalic.serializer() + RichTextUnderline.TYPE -> RichTextUnderline.serializer() + RichTextStrikethrough.TYPE -> RichTextStrikethrough.serializer() + RichTextSpoiler.TYPE -> RichTextSpoiler.serializer() + RichTextDateTime.TYPE -> RichTextDateTime.serializer() + RichTextTextMention.TYPE -> RichTextTextMention.serializer() + RichTextSubscript.TYPE -> RichTextSubscript.serializer() + RichTextSuperscript.TYPE -> RichTextSuperscript.serializer() + RichTextMarked.TYPE -> RichTextMarked.serializer() + RichTextCode.TYPE -> RichTextCode.serializer() + RichTextCustomEmoji.TYPE -> RichTextCustomEmoji.serializer() + RichTextMathematicalExpression.TYPE -> RichTextMathematicalExpression.serializer() + RichTextUrl.TYPE -> RichTextUrl.serializer() + RichTextEmailAddress.TYPE -> RichTextEmailAddress.serializer() + RichTextPhoneNumber.TYPE -> RichTextPhoneNumber.serializer() + RichTextBankCardNumber.TYPE -> RichTextBankCardNumber.serializer() + RichTextMention.TYPE -> RichTextMention.serializer() + RichTextHashtag.TYPE -> RichTextHashtag.serializer() + RichTextCashtag.TYPE -> RichTextCashtag.serializer() + RichTextBotCommand.TYPE -> RichTextBotCommand.serializer() + RichTextAnchor.TYPE -> RichTextAnchor.serializer() + RichTextAnchorLink.TYPE -> RichTextAnchorLink.serializer() + RichTextReference.TYPE -> RichTextReference.serializer() + RichTextReferenceLink.TYPE -> RichTextReferenceLink.serializer() + else -> error("Unknown RichTextEntity type: $type") + } + } +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichTextEntities.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichTextEntities.kt new file mode 100644 index 0000000000..a54b380dfc --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/rich/RichTextEntities.kt @@ -0,0 +1,531 @@ +package dev.inmo.tgbotapi.types.rich + +import dev.inmo.tgbotapi.types.CustomEmojiId +import dev.inmo.tgbotapi.types.alternativeTextField +import dev.inmo.tgbotapi.types.anchorNameField +import dev.inmo.tgbotapi.types.bankCardNumberField +import dev.inmo.tgbotapi.types.botCommandField +import dev.inmo.tgbotapi.types.cashtagField +import dev.inmo.tgbotapi.types.chat.User +import dev.inmo.tgbotapi.types.customEmojiIdField +import dev.inmo.tgbotapi.types.dateTimeFormatField +import dev.inmo.tgbotapi.types.emailAddressField +import dev.inmo.tgbotapi.types.expressionField +import dev.inmo.tgbotapi.types.hashtagField +import dev.inmo.tgbotapi.types.nameField +import dev.inmo.tgbotapi.types.phoneNumberField +import dev.inmo.tgbotapi.types.referenceNameField +import dev.inmo.tgbotapi.types.textField +import dev.inmo.tgbotapi.types.typeField +import dev.inmo.tgbotapi.types.unixTimeField +import dev.inmo.tgbotapi.types.urlField +import dev.inmo.tgbotapi.types.userField +import dev.inmo.tgbotapi.types.usernameField +import kotlinx.serialization.EncodeDefault +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/** + * A bold [RichTextEntity]. + * + * @see RichTextBold + */ +@Serializable +data class RichTextBold( + @SerialName(textField) + val text: RichText +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "bold" + } +} + +/** + * An italicized [RichTextEntity]. + * + * @see RichTextItalic + */ +@Serializable +data class RichTextItalic( + @SerialName(textField) + val text: RichText +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "italic" + } +} + +/** + * An underlined [RichTextEntity]. + * + * @see RichTextUnderline + */ +@Serializable +data class RichTextUnderline( + @SerialName(textField) + val text: RichText +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "underline" + } +} + +/** + * A strikethrough [RichTextEntity]. + * + * @see RichTextStrikethrough + */ +@Serializable +data class RichTextStrikethrough( + @SerialName(textField) + val text: RichText +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "strikethrough" + } +} + +/** + * A [RichTextEntity] covered by a spoiler. + * + * @see RichTextSpoiler + */ +@Serializable +data class RichTextSpoiler( + @SerialName(textField) + val text: RichText +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "spoiler" + } +} + +/** + * A subscript [RichTextEntity]. + * + * @see RichTextSubscript + */ +@Serializable +data class RichTextSubscript( + @SerialName(textField) + val text: RichText +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "subscript" + } +} + +/** + * A superscript [RichTextEntity]. + * + * @see RichTextSuperscript + */ +@Serializable +data class RichTextSuperscript( + @SerialName(textField) + val text: RichText +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "superscript" + } +} + +/** + * A marked [RichTextEntity]. + * + * @see RichTextMarked + */ +@Serializable +data class RichTextMarked( + @SerialName(textField) + val text: RichText +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "marked" + } +} + +/** + * A monowidth [RichTextEntity]. + * + * @see RichTextCode + */ +@Serializable +data class RichTextCode( + @SerialName(textField) + val text: RichText +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "code" + } +} + +/** + * A formatted date and time [RichTextEntity]. + * + * @see RichTextDateTime + */ +@Serializable +data class RichTextDateTime( + @SerialName(textField) + val text: RichText, + @SerialName(unixTimeField) + val unixTime: Long, + @SerialName(dateTimeFormatField) + val dateTimeFormat: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "date_time" + } +} + +/** + * A mention of a Telegram user by their identifier. + * + * @see RichTextTextMention + */ +@Serializable +data class RichTextTextMention( + @SerialName(textField) + val text: RichText, + @SerialName(userField) + val user: User +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "text_mention" + } +} + +/** + * A custom emoji [RichTextEntity]. + * + * @see RichTextCustomEmoji + */ +@Serializable +data class RichTextCustomEmoji( + @SerialName(customEmojiIdField) + val customEmojiId: CustomEmojiId, + @SerialName(alternativeTextField) + val alternativeText: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "custom_emoji" + } +} + +/** + * A mathematical expression in LaTeX format. + * + * @see RichTextMathematicalExpression + */ +@Serializable +data class RichTextMathematicalExpression( + @SerialName(expressionField) + val expression: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "mathematical_expression" + } +} + +/** + * A [RichTextEntity] with a link. + * + * @see RichTextUrl + */ +@Serializable +data class RichTextUrl( + @SerialName(textField) + val text: RichText, + @SerialName(urlField) + val url: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "url" + } +} + +/** + * A [RichTextEntity] with an email address. + * + * @see RichTextEmailAddress + */ +@Serializable +data class RichTextEmailAddress( + @SerialName(textField) + val text: RichText, + @SerialName(emailAddressField) + val emailAddress: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "email_address" + } +} + +/** + * A [RichTextEntity] with a phone number. + * + * @see RichTextPhoneNumber + */ +@Serializable +data class RichTextPhoneNumber( + @SerialName(textField) + val text: RichText, + @SerialName(phoneNumberField) + val phoneNumber: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "phone_number" + } +} + +/** + * A [RichTextEntity] with a bank card number. + * + * @see RichTextBankCardNumber + */ +@Serializable +data class RichTextBankCardNumber( + @SerialName(textField) + val text: RichText, + @SerialName(bankCardNumberField) + val bankCardNumber: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "bank_card_number" + } +} + +/** + * A mention by a username. + * + * @see RichTextMention + */ +@Serializable +data class RichTextMention( + @SerialName(textField) + val text: RichText, + @SerialName(usernameField) + val username: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "mention" + } +} + +/** + * A hashtag. + * + * @see RichTextHashtag + */ +@Serializable +data class RichTextHashtag( + @SerialName(textField) + val text: RichText, + @SerialName(hashtagField) + val hashtag: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "hashtag" + } +} + +/** + * A cashtag. + * + * @see RichTextCashtag + */ +@Serializable +data class RichTextCashtag( + @SerialName(textField) + val text: RichText, + @SerialName(cashtagField) + val cashtag: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "cashtag" + } +} + +/** + * A bot command. + * + * @see RichTextBotCommand + */ +@Serializable +data class RichTextBotCommand( + @SerialName(textField) + val text: RichText, + @SerialName(botCommandField) + val botCommand: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "bot_command" + } +} + +/** + * An anchor. + * + * @see RichTextAnchor + */ +@Serializable +data class RichTextAnchor( + @SerialName(nameField) + val name: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "anchor" + } +} + +/** + * A link to an anchor. + * + * @see RichTextAnchorLink + */ +@Serializable +data class RichTextAnchorLink( + @SerialName(textField) + val text: RichText, + @SerialName(anchorNameField) + val anchorName: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "anchor_link" + } +} + +/** + * A reference. + * + * @see RichTextReference + */ +@Serializable +data class RichTextReference( + @SerialName(textField) + val text: RichText, + @SerialName(nameField) + val name: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "reference" + } +} + +/** + * A link to a reference. + * + * @see RichTextReferenceLink + */ +@Serializable +data class RichTextReferenceLink( + @SerialName(textField) + val text: RichText, + @SerialName(referenceNameField) + val referenceName: String +) : RichTextEntity { + @EncodeDefault + @SerialName(typeField) + override val type: String = TYPE + + companion object { + const val TYPE = "reference_link" + } +} diff --git a/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/RichMessageSerializationTest.kt b/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/RichMessageSerializationTest.kt new file mode 100644 index 0000000000..b02008f1fc --- /dev/null +++ b/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/RichMessageSerializationTest.kt @@ -0,0 +1,72 @@ +package dev.inmo.tgbotapi.types + +import dev.inmo.tgbotapi.types.rich.* +import kotlinx.serialization.json.Json +import kotlinx.serialization.encodeToString +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertTrue + +class RichMessageSerializationTest { + private val json = Json { encodeDefaults = true } + + @Test + fun decodesRichMessageWithMixedRichText() { + val source = """ + { + "blocks": [ + { + "type": "paragraph", + "text": ["Hello ", {"type": "bold", "text": "world"}, "!"] + }, + {"type": "heading", "text": "Title", "size": 1}, + {"type": "divider"}, + {"type": "list", "items": [ + {"label": "1", "blocks": [{"type": "paragraph", "text": "first"}]} + ]} + ], + "is_rtl": false + } + """.trimIndent() + + val message = json.decodeFromString(RichMessage.serializer(), source) + assertEquals(4, message.blocks.size) + + val paragraph = message.blocks[0] as RichBlockParagraph + val group = paragraph.text as RichTextGroup + assertEquals(RichTextPlain("Hello "), group.parts[0]) + assertEquals(RichTextBold(RichTextPlain("world")), group.parts[1]) + assertEquals(RichTextPlain("!"), group.parts[2]) + + val heading = message.blocks[1] as RichBlockSectionHeading + assertEquals(RichTextPlain("Title"), heading.text) + assertEquals(1, heading.size) + + assertTrue(message.blocks[2] is RichBlockDivider) + + val list = message.blocks[3] as RichBlockList + assertEquals("1", list.items[0].label) + } + + @Test + fun roundTripsRichMessage() { + val message = RichMessage( + blocks = listOf( + RichBlockParagraph( + RichTextGroup( + listOf( + RichTextPlain("a "), + RichTextItalic(RichTextPlain("b")), + RichTextUrl(RichTextPlain("link"), "https://example.org") + ) + ) + ), + RichBlockDivider() + ) + ) + + val encoded = json.encodeToString(RichMessage.serializer(), message) + val decoded = json.decodeFromString(RichMessage.serializer(), encoded) + assertEquals(message, decoded) + } +} diff --git a/tgbotapi.utils/api/tgbotapi.utils.api b/tgbotapi.utils/api/tgbotapi.utils.api index f6a5c407e5..b408eb9dc6 100644 --- a/tgbotapi.utils/api/tgbotapi.utils.api +++ b/tgbotapi.utils/api/tgbotapi.utils.api @@ -1906,6 +1906,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt { public static final fun ifInputInvoiceMessageContent (Ldev/inmo/tgbotapi/abstracts/CommonSendInvoiceData;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifInputInvoiceMessageContent (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifInputLocationMessageContent (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifInputRichMessageContent (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifInputTextMessageContent (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifInputVenueMessageContent (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifInternal (Ldev/inmo/tgbotapi/types/ReplyInfo;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; @@ -2082,6 +2083,56 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt { public static final fun ifRequestGuestMessage (Ldev/inmo/tgbotapi/types/message/abstracts/Message;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifRestrictedChatMember (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifRestrictedMemberChatMember (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockAnchor (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockAnimation (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockAudio (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockBlockQuotation (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockCollage (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockDetails (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockDivider (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockFooter (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockList (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockMap (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockMathematicalExpression (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockParagraph (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockPhoto (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockPreformatted (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockPullQuotation (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockSectionHeading (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockSlideshow (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockTable (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockThinking (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockVideo (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichBlockVoiceNote (Ldev/inmo/tgbotapi/types/rich/RichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichMessageContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextAnchor (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextAnchorLink (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextBankCardNumber (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextBold (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextBotCommand (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextCashtag (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextCode (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextCustomEmoji (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextDateTime (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextEmailAddress (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextEntity (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextGroup (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextHashtag (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextItalic (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextMarked (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextMathematicalExpression (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextMention (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextPhoneNumber (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextPlain (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextReference (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextReferenceLink (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextSpoiler (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextStrikethrough (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextSubscript (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextSuperscript (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextTextMention (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextUnderline (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifRichTextUrl (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifSecondaryChatInviteLink (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifSecureValueIdentity (Ldev/inmo/tgbotapi/types/passport/decrypted/abstracts/SecureValue;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifSecureValueWithData (Ldev/inmo/tgbotapi/types/passport/decrypted/abstracts/SecureValue;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; @@ -2342,6 +2393,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt { public static final fun inputInvoiceMessageContentOrThrow (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputInvoiceMessageContent; public static final fun inputLocationMessageContentOrNull (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputLocationMessageContent; public static final fun inputLocationMessageContentOrThrow (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputLocationMessageContent; + public static final fun inputRichMessageContentOrNull (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent; + public static final fun inputRichMessageContentOrThrow (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent; public static final fun inputTextMessageContentOrNull (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputTextMessageContent; public static final fun inputTextMessageContentOrThrow (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputTextMessageContent; public static final fun inputVenueMessageContentOrNull (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputVenueMessageContent; @@ -2694,6 +2747,106 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt { public static final fun restrictedChatMemberOrThrow (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/chat/member/RestrictedChatMember; public static final fun restrictedMemberChatMemberOrNull (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember; public static final fun restrictedMemberChatMemberOrThrow (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember; + public static final fun richBlockAnchorOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnchor; + public static final fun richBlockAnchorOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnchor; + public static final fun richBlockAnimationOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnimation; + public static final fun richBlockAnimationOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockAnimation; + public static final fun richBlockAudioOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockAudio; + public static final fun richBlockAudioOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockAudio; + public static final fun richBlockBlockQuotationOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation; + public static final fun richBlockBlockQuotationOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockBlockQuotation; + public static final fun richBlockCollageOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockCollage; + public static final fun richBlockCollageOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockCollage; + public static final fun richBlockDetailsOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockDetails; + public static final fun richBlockDetailsOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockDetails; + public static final fun richBlockDividerOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockDivider; + public static final fun richBlockDividerOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockDivider; + public static final fun richBlockFooterOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockFooter; + public static final fun richBlockFooterOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockFooter; + public static final fun richBlockListOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockList; + public static final fun richBlockListOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockList; + public static final fun richBlockMapOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockMap; + public static final fun richBlockMapOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockMap; + public static final fun richBlockMathematicalExpressionOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression; + public static final fun richBlockMathematicalExpressionOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockMathematicalExpression; + public static final fun richBlockParagraphOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockParagraph; + public static final fun richBlockParagraphOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockParagraph; + public static final fun richBlockPhotoOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockPhoto; + public static final fun richBlockPhotoOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockPhoto; + public static final fun richBlockPreformattedOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockPreformatted; + public static final fun richBlockPreformattedOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockPreformatted; + public static final fun richBlockPullQuotationOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockPullQuotation; + public static final fun richBlockPullQuotationOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockPullQuotation; + public static final fun richBlockSectionHeadingOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockSectionHeading; + public static final fun richBlockSectionHeadingOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockSectionHeading; + public static final fun richBlockSlideshowOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockSlideshow; + public static final fun richBlockSlideshowOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockSlideshow; + public static final fun richBlockTableOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockTable; + public static final fun richBlockTableOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockTable; + public static final fun richBlockThinkingOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockThinking; + public static final fun richBlockThinkingOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockThinking; + public static final fun richBlockVideoOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockVideo; + public static final fun richBlockVideoOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockVideo; + public static final fun richBlockVoiceNoteOrNull (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockVoiceNote; + public static final fun richBlockVoiceNoteOrThrow (Ldev/inmo/tgbotapi/types/rich/RichBlock;)Ldev/inmo/tgbotapi/types/rich/RichBlockVoiceNote; + public static final fun richMessageContentOrNull (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent; + public static final fun richMessageContentOrThrow (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent; + public static final fun richTextAnchorLinkOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchorLink; + public static final fun richTextAnchorLinkOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchorLink; + public static final fun richTextAnchorOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchor; + public static final fun richTextAnchorOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchor; + public static final fun richTextBankCardNumberOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextBankCardNumber; + public static final fun richTextBankCardNumberOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextBankCardNumber; + public static final fun richTextBoldOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextBold; + public static final fun richTextBoldOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextBold; + public static final fun richTextBotCommandOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextBotCommand; + public static final fun richTextBotCommandOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextBotCommand; + public static final fun richTextCashtagOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextCashtag; + public static final fun richTextCashtagOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextCashtag; + public static final fun richTextCodeOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextCode; + public static final fun richTextCodeOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextCode; + public static final fun richTextCustomEmojiOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextCustomEmoji; + public static final fun richTextCustomEmojiOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextCustomEmoji; + public static final fun richTextDateTimeOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextDateTime; + public static final fun richTextDateTimeOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextDateTime; + public static final fun richTextEmailAddressOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextEmailAddress; + public static final fun richTextEmailAddressOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextEmailAddress; + public static final fun richTextEntityOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextEntity; + public static final fun richTextEntityOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextEntity; + public static final fun richTextGroupOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextGroup; + public static final fun richTextGroupOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextGroup; + public static final fun richTextHashtagOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextHashtag; + public static final fun richTextHashtagOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextHashtag; + public static final fun richTextItalicOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextItalic; + public static final fun richTextItalicOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextItalic; + public static final fun richTextMarkedOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextMarked; + public static final fun richTextMarkedOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextMarked; + public static final fun richTextMathematicalExpressionOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression; + public static final fun richTextMathematicalExpressionOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextMathematicalExpression; + public static final fun richTextMentionOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextMention; + public static final fun richTextMentionOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextMention; + public static final fun richTextPhoneNumberOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextPhoneNumber; + public static final fun richTextPhoneNumberOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextPhoneNumber; + public static final fun richTextPlainOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextPlain; + public static final fun richTextPlainOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextPlain; + public static final fun richTextReferenceLinkOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextReferenceLink; + public static final fun richTextReferenceLinkOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextReferenceLink; + public static final fun richTextReferenceOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextReference; + public static final fun richTextReferenceOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextReference; + public static final fun richTextSpoilerOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextSpoiler; + public static final fun richTextSpoilerOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextSpoiler; + public static final fun richTextStrikethroughOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextStrikethrough; + public static final fun richTextStrikethroughOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextStrikethrough; + public static final fun richTextSubscriptOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextSubscript; + public static final fun richTextSubscriptOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextSubscript; + public static final fun richTextSuperscriptOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextSuperscript; + public static final fun richTextSuperscriptOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextSuperscript; + public static final fun richTextTextMentionOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextTextMention; + public static final fun richTextTextMentionOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextTextMention; + public static final fun richTextUnderlineOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextUnderline; + public static final fun richTextUnderlineOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextUnderline; + public static final fun richTextUrlOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextUrl; + public static final fun richTextUrlOrThrow (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextUrl; public static final fun secondaryChatInviteLinkOrNull (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/SecondaryChatInviteLink; public static final fun secondaryChatInviteLinkOrThrow (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/SecondaryChatInviteLink; public static final fun secureValueIdentityOrNull (Ldev/inmo/tgbotapi/types/passport/decrypted/abstracts/SecureValue;)Ldev/inmo/tgbotapi/types/passport/decrypted/abstracts/SecureValueIdentity; @@ -3261,6 +3414,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/extensions/raw/CallbackQue public final class dev/inmo/tgbotapi/extensions/utils/extensions/raw/ChatJoinRequestKt { public static final fun getInvite_link (Ldev/inmo/tgbotapi/types/chat/ChatJoinRequest;)Ldev/inmo/tgbotapi/types/ChatInviteLink; + public static final fun getQuery_id (Ldev/inmo/tgbotapi/types/chat/ChatJoinRequest;)Ljava/lang/String; } public final class dev/inmo/tgbotapi/extensions/utils/extensions/raw/ChatMemberUpdatedKt { diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt index d6cb71dfef..3a94bb90f9 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt @@ -90,6 +90,7 @@ import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputContactMes import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputInvoiceMessageContent import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputLocationMessageContent import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputMessageContent +import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputRichMessageContent import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputTextMessageContent import dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputVenueMessageContent import dev.inmo.tgbotapi.types.InlineQueries.query.BaseInlineQuery @@ -414,6 +415,7 @@ import dev.inmo.tgbotapi.types.message.content.PaidMediaInfoContent import dev.inmo.tgbotapi.types.message.content.PhotoContent import dev.inmo.tgbotapi.types.message.content.PollContent import dev.inmo.tgbotapi.types.message.content.ResendableContent +import dev.inmo.tgbotapi.types.message.content.RichMessageContent import dev.inmo.tgbotapi.types.message.content.SpoilerableMediaContent import dev.inmo.tgbotapi.types.message.content.StaticLocationContent import dev.inmo.tgbotapi.types.message.content.StickerContent @@ -548,6 +550,57 @@ import dev.inmo.tgbotapi.types.request.ChatShared import dev.inmo.tgbotapi.types.request.ChatSharedRequest import dev.inmo.tgbotapi.types.request.RequestResponse import dev.inmo.tgbotapi.types.request.UsersShared +import dev.inmo.tgbotapi.types.rich.RichBlock +import dev.inmo.tgbotapi.types.rich.RichBlockAnchor +import dev.inmo.tgbotapi.types.rich.RichBlockAnimation +import dev.inmo.tgbotapi.types.rich.RichBlockAudio +import dev.inmo.tgbotapi.types.rich.RichBlockBlockQuotation +import dev.inmo.tgbotapi.types.rich.RichBlockCollage +import dev.inmo.tgbotapi.types.rich.RichBlockDetails +import dev.inmo.tgbotapi.types.rich.RichBlockDivider +import dev.inmo.tgbotapi.types.rich.RichBlockFooter +import dev.inmo.tgbotapi.types.rich.RichBlockList +import dev.inmo.tgbotapi.types.rich.RichBlockMap +import dev.inmo.tgbotapi.types.rich.RichBlockMathematicalExpression +import dev.inmo.tgbotapi.types.rich.RichBlockParagraph +import dev.inmo.tgbotapi.types.rich.RichBlockPhoto +import dev.inmo.tgbotapi.types.rich.RichBlockPreformatted +import dev.inmo.tgbotapi.types.rich.RichBlockPullQuotation +import dev.inmo.tgbotapi.types.rich.RichBlockSectionHeading +import dev.inmo.tgbotapi.types.rich.RichBlockSlideshow +import dev.inmo.tgbotapi.types.rich.RichBlockTable +import dev.inmo.tgbotapi.types.rich.RichBlockThinking +import dev.inmo.tgbotapi.types.rich.RichBlockVideo +import dev.inmo.tgbotapi.types.rich.RichBlockVoiceNote +import dev.inmo.tgbotapi.types.rich.RichText +import dev.inmo.tgbotapi.types.rich.RichTextAnchor +import dev.inmo.tgbotapi.types.rich.RichTextAnchorLink +import dev.inmo.tgbotapi.types.rich.RichTextBankCardNumber +import dev.inmo.tgbotapi.types.rich.RichTextBold +import dev.inmo.tgbotapi.types.rich.RichTextBotCommand +import dev.inmo.tgbotapi.types.rich.RichTextCashtag +import dev.inmo.tgbotapi.types.rich.RichTextCode +import dev.inmo.tgbotapi.types.rich.RichTextCustomEmoji +import dev.inmo.tgbotapi.types.rich.RichTextDateTime +import dev.inmo.tgbotapi.types.rich.RichTextEmailAddress +import dev.inmo.tgbotapi.types.rich.RichTextEntity +import dev.inmo.tgbotapi.types.rich.RichTextGroup +import dev.inmo.tgbotapi.types.rich.RichTextHashtag +import dev.inmo.tgbotapi.types.rich.RichTextItalic +import dev.inmo.tgbotapi.types.rich.RichTextMarked +import dev.inmo.tgbotapi.types.rich.RichTextMathematicalExpression +import dev.inmo.tgbotapi.types.rich.RichTextMention +import dev.inmo.tgbotapi.types.rich.RichTextPhoneNumber +import dev.inmo.tgbotapi.types.rich.RichTextPlain +import dev.inmo.tgbotapi.types.rich.RichTextReference +import dev.inmo.tgbotapi.types.rich.RichTextReferenceLink +import dev.inmo.tgbotapi.types.rich.RichTextSpoiler +import dev.inmo.tgbotapi.types.rich.RichTextStrikethrough +import dev.inmo.tgbotapi.types.rich.RichTextSubscript +import dev.inmo.tgbotapi.types.rich.RichTextSuperscript +import dev.inmo.tgbotapi.types.rich.RichTextTextMention +import dev.inmo.tgbotapi.types.rich.RichTextUnderline +import dev.inmo.tgbotapi.types.rich.RichTextUrl import dev.inmo.tgbotapi.types.update.BusinessConnectionUpdate import dev.inmo.tgbotapi.types.update.BusinessMessageUpdate import dev.inmo.tgbotapi.types.update.CallbackQueryUpdate @@ -1338,6 +1391,12 @@ public inline fun ResendableContent.gameContentOrThrow(): GameContent = this as public inline fun ResendableContent.ifGameContent(block: (GameContent) -> T): T? = gameContentOrNull() ?.let(block) +public inline fun ResendableContent.richMessageContentOrNull(): RichMessageContent? = this as? dev.inmo.tgbotapi.types.message.content.RichMessageContent + +public inline fun ResendableContent.richMessageContentOrThrow(): RichMessageContent = this as dev.inmo.tgbotapi.types.message.content.RichMessageContent + +public inline fun ResendableContent.ifRichMessageContent(block: (RichMessageContent) -> T): T? = richMessageContentOrNull() ?.let(block) + public inline fun ResendableContent.diceContentOrNull(): DiceContent? = this as? dev.inmo.tgbotapi.types.message.content.DiceContent public inline fun ResendableContent.diceContentOrThrow(): DiceContent = this as dev.inmo.tgbotapi.types.message.content.DiceContent @@ -3270,6 +3329,306 @@ public inline fun InputMessageContent.inputVenueMessageContentOrThrow(): InputVe public inline fun InputMessageContent.ifInputVenueMessageContent(block: (InputVenueMessageContent) -> T): T? = inputVenueMessageContentOrNull() ?.let(block) +public inline fun InputMessageContent.inputRichMessageContentOrNull(): InputRichMessageContent? = this as? dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputRichMessageContent + +public inline fun InputMessageContent.inputRichMessageContentOrThrow(): InputRichMessageContent = this as dev.inmo.tgbotapi.types.InlineQueries.InputMessageContent.InputRichMessageContent + +public inline fun InputMessageContent.ifInputRichMessageContent(block: (InputRichMessageContent) -> T): T? = inputRichMessageContentOrNull() ?.let(block) + +public inline fun RichText.richTextBoldOrNull(): RichTextBold? = this as? dev.inmo.tgbotapi.types.rich.RichTextBold + +public inline fun RichText.richTextBoldOrThrow(): RichTextBold = this as dev.inmo.tgbotapi.types.rich.RichTextBold + +public inline fun RichText.ifRichTextBold(block: (RichTextBold) -> T): T? = richTextBoldOrNull() ?.let(block) + +public inline fun RichText.richTextItalicOrNull(): RichTextItalic? = this as? dev.inmo.tgbotapi.types.rich.RichTextItalic + +public inline fun RichText.richTextItalicOrThrow(): RichTextItalic = this as dev.inmo.tgbotapi.types.rich.RichTextItalic + +public inline fun RichText.ifRichTextItalic(block: (RichTextItalic) -> T): T? = richTextItalicOrNull() ?.let(block) + +public inline fun RichText.richTextUnderlineOrNull(): RichTextUnderline? = this as? dev.inmo.tgbotapi.types.rich.RichTextUnderline + +public inline fun RichText.richTextUnderlineOrThrow(): RichTextUnderline = this as dev.inmo.tgbotapi.types.rich.RichTextUnderline + +public inline fun RichText.ifRichTextUnderline(block: (RichTextUnderline) -> T): T? = richTextUnderlineOrNull() ?.let(block) + +public inline fun RichText.richTextStrikethroughOrNull(): RichTextStrikethrough? = this as? dev.inmo.tgbotapi.types.rich.RichTextStrikethrough + +public inline fun RichText.richTextStrikethroughOrThrow(): RichTextStrikethrough = this as dev.inmo.tgbotapi.types.rich.RichTextStrikethrough + +public inline fun RichText.ifRichTextStrikethrough(block: (RichTextStrikethrough) -> T): T? = richTextStrikethroughOrNull() ?.let(block) + +public inline fun RichText.richTextSpoilerOrNull(): RichTextSpoiler? = this as? dev.inmo.tgbotapi.types.rich.RichTextSpoiler + +public inline fun RichText.richTextSpoilerOrThrow(): RichTextSpoiler = this as dev.inmo.tgbotapi.types.rich.RichTextSpoiler + +public inline fun RichText.ifRichTextSpoiler(block: (RichTextSpoiler) -> T): T? = richTextSpoilerOrNull() ?.let(block) + +public inline fun RichText.richTextSubscriptOrNull(): RichTextSubscript? = this as? dev.inmo.tgbotapi.types.rich.RichTextSubscript + +public inline fun RichText.richTextSubscriptOrThrow(): RichTextSubscript = this as dev.inmo.tgbotapi.types.rich.RichTextSubscript + +public inline fun RichText.ifRichTextSubscript(block: (RichTextSubscript) -> T): T? = richTextSubscriptOrNull() ?.let(block) + +public inline fun RichText.richTextSuperscriptOrNull(): RichTextSuperscript? = this as? dev.inmo.tgbotapi.types.rich.RichTextSuperscript + +public inline fun RichText.richTextSuperscriptOrThrow(): RichTextSuperscript = this as dev.inmo.tgbotapi.types.rich.RichTextSuperscript + +public inline fun RichText.ifRichTextSuperscript(block: (RichTextSuperscript) -> T): T? = richTextSuperscriptOrNull() ?.let(block) + +public inline fun RichText.richTextMarkedOrNull(): RichTextMarked? = this as? dev.inmo.tgbotapi.types.rich.RichTextMarked + +public inline fun RichText.richTextMarkedOrThrow(): RichTextMarked = this as dev.inmo.tgbotapi.types.rich.RichTextMarked + +public inline fun RichText.ifRichTextMarked(block: (RichTextMarked) -> T): T? = richTextMarkedOrNull() ?.let(block) + +public inline fun RichText.richTextCodeOrNull(): RichTextCode? = this as? dev.inmo.tgbotapi.types.rich.RichTextCode + +public inline fun RichText.richTextCodeOrThrow(): RichTextCode = this as dev.inmo.tgbotapi.types.rich.RichTextCode + +public inline fun RichText.ifRichTextCode(block: (RichTextCode) -> T): T? = richTextCodeOrNull() ?.let(block) + +public inline fun RichText.richTextDateTimeOrNull(): RichTextDateTime? = this as? dev.inmo.tgbotapi.types.rich.RichTextDateTime + +public inline fun RichText.richTextDateTimeOrThrow(): RichTextDateTime = this as dev.inmo.tgbotapi.types.rich.RichTextDateTime + +public inline fun RichText.ifRichTextDateTime(block: (RichTextDateTime) -> T): T? = richTextDateTimeOrNull() ?.let(block) + +public inline fun RichText.richTextTextMentionOrNull(): RichTextTextMention? = this as? dev.inmo.tgbotapi.types.rich.RichTextTextMention + +public inline fun RichText.richTextTextMentionOrThrow(): RichTextTextMention = this as dev.inmo.tgbotapi.types.rich.RichTextTextMention + +public inline fun RichText.ifRichTextTextMention(block: (RichTextTextMention) -> T): T? = richTextTextMentionOrNull() ?.let(block) + +public inline fun RichText.richTextCustomEmojiOrNull(): RichTextCustomEmoji? = this as? dev.inmo.tgbotapi.types.rich.RichTextCustomEmoji + +public inline fun RichText.richTextCustomEmojiOrThrow(): RichTextCustomEmoji = this as dev.inmo.tgbotapi.types.rich.RichTextCustomEmoji + +public inline fun RichText.ifRichTextCustomEmoji(block: (RichTextCustomEmoji) -> T): T? = richTextCustomEmojiOrNull() ?.let(block) + +public inline fun RichText.richTextMathematicalExpressionOrNull(): RichTextMathematicalExpression? = this as? dev.inmo.tgbotapi.types.rich.RichTextMathematicalExpression + +public inline fun RichText.richTextMathematicalExpressionOrThrow(): RichTextMathematicalExpression = this as dev.inmo.tgbotapi.types.rich.RichTextMathematicalExpression + +public inline fun RichText.ifRichTextMathematicalExpression(block: (RichTextMathematicalExpression) -> T): T? = richTextMathematicalExpressionOrNull() ?.let(block) + +public inline fun RichText.richTextUrlOrNull(): RichTextUrl? = this as? dev.inmo.tgbotapi.types.rich.RichTextUrl + +public inline fun RichText.richTextUrlOrThrow(): RichTextUrl = this as dev.inmo.tgbotapi.types.rich.RichTextUrl + +public inline fun RichText.ifRichTextUrl(block: (RichTextUrl) -> T): T? = richTextUrlOrNull() ?.let(block) + +public inline fun RichText.richTextEmailAddressOrNull(): RichTextEmailAddress? = this as? dev.inmo.tgbotapi.types.rich.RichTextEmailAddress + +public inline fun RichText.richTextEmailAddressOrThrow(): RichTextEmailAddress = this as dev.inmo.tgbotapi.types.rich.RichTextEmailAddress + +public inline fun RichText.ifRichTextEmailAddress(block: (RichTextEmailAddress) -> T): T? = richTextEmailAddressOrNull() ?.let(block) + +public inline fun RichText.richTextPhoneNumberOrNull(): RichTextPhoneNumber? = this as? dev.inmo.tgbotapi.types.rich.RichTextPhoneNumber + +public inline fun RichText.richTextPhoneNumberOrThrow(): RichTextPhoneNumber = this as dev.inmo.tgbotapi.types.rich.RichTextPhoneNumber + +public inline fun RichText.ifRichTextPhoneNumber(block: (RichTextPhoneNumber) -> T): T? = richTextPhoneNumberOrNull() ?.let(block) + +public inline fun RichText.richTextBankCardNumberOrNull(): RichTextBankCardNumber? = this as? dev.inmo.tgbotapi.types.rich.RichTextBankCardNumber + +public inline fun RichText.richTextBankCardNumberOrThrow(): RichTextBankCardNumber = this as dev.inmo.tgbotapi.types.rich.RichTextBankCardNumber + +public inline fun RichText.ifRichTextBankCardNumber(block: (RichTextBankCardNumber) -> T): T? = richTextBankCardNumberOrNull() ?.let(block) + +public inline fun RichText.richTextMentionOrNull(): RichTextMention? = this as? dev.inmo.tgbotapi.types.rich.RichTextMention + +public inline fun RichText.richTextMentionOrThrow(): RichTextMention = this as dev.inmo.tgbotapi.types.rich.RichTextMention + +public inline fun RichText.ifRichTextMention(block: (RichTextMention) -> T): T? = richTextMentionOrNull() ?.let(block) + +public inline fun RichText.richTextHashtagOrNull(): RichTextHashtag? = this as? dev.inmo.tgbotapi.types.rich.RichTextHashtag + +public inline fun RichText.richTextHashtagOrThrow(): RichTextHashtag = this as dev.inmo.tgbotapi.types.rich.RichTextHashtag + +public inline fun RichText.ifRichTextHashtag(block: (RichTextHashtag) -> T): T? = richTextHashtagOrNull() ?.let(block) + +public inline fun RichText.richTextCashtagOrNull(): RichTextCashtag? = this as? dev.inmo.tgbotapi.types.rich.RichTextCashtag + +public inline fun RichText.richTextCashtagOrThrow(): RichTextCashtag = this as dev.inmo.tgbotapi.types.rich.RichTextCashtag + +public inline fun RichText.ifRichTextCashtag(block: (RichTextCashtag) -> T): T? = richTextCashtagOrNull() ?.let(block) + +public inline fun RichText.richTextBotCommandOrNull(): RichTextBotCommand? = this as? dev.inmo.tgbotapi.types.rich.RichTextBotCommand + +public inline fun RichText.richTextBotCommandOrThrow(): RichTextBotCommand = this as dev.inmo.tgbotapi.types.rich.RichTextBotCommand + +public inline fun RichText.ifRichTextBotCommand(block: (RichTextBotCommand) -> T): T? = richTextBotCommandOrNull() ?.let(block) + +public inline fun RichText.richTextAnchorOrNull(): RichTextAnchor? = this as? dev.inmo.tgbotapi.types.rich.RichTextAnchor + +public inline fun RichText.richTextAnchorOrThrow(): RichTextAnchor = this as dev.inmo.tgbotapi.types.rich.RichTextAnchor + +public inline fun RichText.ifRichTextAnchor(block: (RichTextAnchor) -> T): T? = richTextAnchorOrNull() ?.let(block) + +public inline fun RichText.richTextAnchorLinkOrNull(): RichTextAnchorLink? = this as? dev.inmo.tgbotapi.types.rich.RichTextAnchorLink + +public inline fun RichText.richTextAnchorLinkOrThrow(): RichTextAnchorLink = this as dev.inmo.tgbotapi.types.rich.RichTextAnchorLink + +public inline fun RichText.ifRichTextAnchorLink(block: (RichTextAnchorLink) -> T): T? = richTextAnchorLinkOrNull() ?.let(block) + +public inline fun RichText.richTextReferenceOrNull(): RichTextReference? = this as? dev.inmo.tgbotapi.types.rich.RichTextReference + +public inline fun RichText.richTextReferenceOrThrow(): RichTextReference = this as dev.inmo.tgbotapi.types.rich.RichTextReference + +public inline fun RichText.ifRichTextReference(block: (RichTextReference) -> T): T? = richTextReferenceOrNull() ?.let(block) + +public inline fun RichText.richTextReferenceLinkOrNull(): RichTextReferenceLink? = this as? dev.inmo.tgbotapi.types.rich.RichTextReferenceLink + +public inline fun RichText.richTextReferenceLinkOrThrow(): RichTextReferenceLink = this as dev.inmo.tgbotapi.types.rich.RichTextReferenceLink + +public inline fun RichText.ifRichTextReferenceLink(block: (RichTextReferenceLink) -> T): T? = richTextReferenceLinkOrNull() ?.let(block) + +public inline fun RichText.richTextPlainOrNull(): RichTextPlain? = this as? dev.inmo.tgbotapi.types.rich.RichTextPlain + +public inline fun RichText.richTextPlainOrThrow(): RichTextPlain = this as dev.inmo.tgbotapi.types.rich.RichTextPlain + +public inline fun RichText.ifRichTextPlain(block: (RichTextPlain) -> T): T? = richTextPlainOrNull() ?.let(block) + +public inline fun RichText.richTextGroupOrNull(): RichTextGroup? = this as? dev.inmo.tgbotapi.types.rich.RichTextGroup + +public inline fun RichText.richTextGroupOrThrow(): RichTextGroup = this as dev.inmo.tgbotapi.types.rich.RichTextGroup + +public inline fun RichText.ifRichTextGroup(block: (RichTextGroup) -> T): T? = richTextGroupOrNull() ?.let(block) + +public inline fun RichText.richTextEntityOrNull(): RichTextEntity? = this as? dev.inmo.tgbotapi.types.rich.RichTextEntity + +public inline fun RichText.richTextEntityOrThrow(): RichTextEntity = this as dev.inmo.tgbotapi.types.rich.RichTextEntity + +public inline fun RichText.ifRichTextEntity(block: (RichTextEntity) -> T): T? = richTextEntityOrNull() ?.let(block) + +public inline fun RichBlock.richBlockParagraphOrNull(): RichBlockParagraph? = this as? dev.inmo.tgbotapi.types.rich.RichBlockParagraph + +public inline fun RichBlock.richBlockParagraphOrThrow(): RichBlockParagraph = this as dev.inmo.tgbotapi.types.rich.RichBlockParagraph + +public inline fun RichBlock.ifRichBlockParagraph(block: (RichBlockParagraph) -> T): T? = richBlockParagraphOrNull() ?.let(block) + +public inline fun RichBlock.richBlockSectionHeadingOrNull(): RichBlockSectionHeading? = this as? dev.inmo.tgbotapi.types.rich.RichBlockSectionHeading + +public inline fun RichBlock.richBlockSectionHeadingOrThrow(): RichBlockSectionHeading = this as dev.inmo.tgbotapi.types.rich.RichBlockSectionHeading + +public inline fun RichBlock.ifRichBlockSectionHeading(block: (RichBlockSectionHeading) -> T): T? = richBlockSectionHeadingOrNull() ?.let(block) + +public inline fun RichBlock.richBlockPreformattedOrNull(): RichBlockPreformatted? = this as? dev.inmo.tgbotapi.types.rich.RichBlockPreformatted + +public inline fun RichBlock.richBlockPreformattedOrThrow(): RichBlockPreformatted = this as dev.inmo.tgbotapi.types.rich.RichBlockPreformatted + +public inline fun RichBlock.ifRichBlockPreformatted(block: (RichBlockPreformatted) -> T): T? = richBlockPreformattedOrNull() ?.let(block) + +public inline fun RichBlock.richBlockFooterOrNull(): RichBlockFooter? = this as? dev.inmo.tgbotapi.types.rich.RichBlockFooter + +public inline fun RichBlock.richBlockFooterOrThrow(): RichBlockFooter = this as dev.inmo.tgbotapi.types.rich.RichBlockFooter + +public inline fun RichBlock.ifRichBlockFooter(block: (RichBlockFooter) -> T): T? = richBlockFooterOrNull() ?.let(block) + +public inline fun RichBlock.richBlockDividerOrNull(): RichBlockDivider? = this as? dev.inmo.tgbotapi.types.rich.RichBlockDivider + +public inline fun RichBlock.richBlockDividerOrThrow(): RichBlockDivider = this as dev.inmo.tgbotapi.types.rich.RichBlockDivider + +public inline fun RichBlock.ifRichBlockDivider(block: (RichBlockDivider) -> T): T? = richBlockDividerOrNull() ?.let(block) + +public inline fun RichBlock.richBlockMathematicalExpressionOrNull(): RichBlockMathematicalExpression? = this as? dev.inmo.tgbotapi.types.rich.RichBlockMathematicalExpression + +public inline fun RichBlock.richBlockMathematicalExpressionOrThrow(): RichBlockMathematicalExpression = this as dev.inmo.tgbotapi.types.rich.RichBlockMathematicalExpression + +public inline fun RichBlock.ifRichBlockMathematicalExpression(block: (RichBlockMathematicalExpression) -> T): T? = richBlockMathematicalExpressionOrNull() ?.let(block) + +public inline fun RichBlock.richBlockAnchorOrNull(): RichBlockAnchor? = this as? dev.inmo.tgbotapi.types.rich.RichBlockAnchor + +public inline fun RichBlock.richBlockAnchorOrThrow(): RichBlockAnchor = this as dev.inmo.tgbotapi.types.rich.RichBlockAnchor + +public inline fun RichBlock.ifRichBlockAnchor(block: (RichBlockAnchor) -> T): T? = richBlockAnchorOrNull() ?.let(block) + +public inline fun RichBlock.richBlockListOrNull(): RichBlockList? = this as? dev.inmo.tgbotapi.types.rich.RichBlockList + +public inline fun RichBlock.richBlockListOrThrow(): RichBlockList = this as dev.inmo.tgbotapi.types.rich.RichBlockList + +public inline fun RichBlock.ifRichBlockList(block: (RichBlockList) -> T): T? = richBlockListOrNull() ?.let(block) + +public inline fun RichBlock.richBlockBlockQuotationOrNull(): RichBlockBlockQuotation? = this as? dev.inmo.tgbotapi.types.rich.RichBlockBlockQuotation + +public inline fun RichBlock.richBlockBlockQuotationOrThrow(): RichBlockBlockQuotation = this as dev.inmo.tgbotapi.types.rich.RichBlockBlockQuotation + +public inline fun RichBlock.ifRichBlockBlockQuotation(block: (RichBlockBlockQuotation) -> T): T? = richBlockBlockQuotationOrNull() ?.let(block) + +public inline fun RichBlock.richBlockPullQuotationOrNull(): RichBlockPullQuotation? = this as? dev.inmo.tgbotapi.types.rich.RichBlockPullQuotation + +public inline fun RichBlock.richBlockPullQuotationOrThrow(): RichBlockPullQuotation = this as dev.inmo.tgbotapi.types.rich.RichBlockPullQuotation + +public inline fun RichBlock.ifRichBlockPullQuotation(block: (RichBlockPullQuotation) -> T): T? = richBlockPullQuotationOrNull() ?.let(block) + +public inline fun RichBlock.richBlockCollageOrNull(): RichBlockCollage? = this as? dev.inmo.tgbotapi.types.rich.RichBlockCollage + +public inline fun RichBlock.richBlockCollageOrThrow(): RichBlockCollage = this as dev.inmo.tgbotapi.types.rich.RichBlockCollage + +public inline fun RichBlock.ifRichBlockCollage(block: (RichBlockCollage) -> T): T? = richBlockCollageOrNull() ?.let(block) + +public inline fun RichBlock.richBlockSlideshowOrNull(): RichBlockSlideshow? = this as? dev.inmo.tgbotapi.types.rich.RichBlockSlideshow + +public inline fun RichBlock.richBlockSlideshowOrThrow(): RichBlockSlideshow = this as dev.inmo.tgbotapi.types.rich.RichBlockSlideshow + +public inline fun RichBlock.ifRichBlockSlideshow(block: (RichBlockSlideshow) -> T): T? = richBlockSlideshowOrNull() ?.let(block) + +public inline fun RichBlock.richBlockTableOrNull(): RichBlockTable? = this as? dev.inmo.tgbotapi.types.rich.RichBlockTable + +public inline fun RichBlock.richBlockTableOrThrow(): RichBlockTable = this as dev.inmo.tgbotapi.types.rich.RichBlockTable + +public inline fun RichBlock.ifRichBlockTable(block: (RichBlockTable) -> T): T? = richBlockTableOrNull() ?.let(block) + +public inline fun RichBlock.richBlockDetailsOrNull(): RichBlockDetails? = this as? dev.inmo.tgbotapi.types.rich.RichBlockDetails + +public inline fun RichBlock.richBlockDetailsOrThrow(): RichBlockDetails = this as dev.inmo.tgbotapi.types.rich.RichBlockDetails + +public inline fun RichBlock.ifRichBlockDetails(block: (RichBlockDetails) -> T): T? = richBlockDetailsOrNull() ?.let(block) + +public inline fun RichBlock.richBlockMapOrNull(): RichBlockMap? = this as? dev.inmo.tgbotapi.types.rich.RichBlockMap + +public inline fun RichBlock.richBlockMapOrThrow(): RichBlockMap = this as dev.inmo.tgbotapi.types.rich.RichBlockMap + +public inline fun RichBlock.ifRichBlockMap(block: (RichBlockMap) -> T): T? = richBlockMapOrNull() ?.let(block) + +public inline fun RichBlock.richBlockAnimationOrNull(): RichBlockAnimation? = this as? dev.inmo.tgbotapi.types.rich.RichBlockAnimation + +public inline fun RichBlock.richBlockAnimationOrThrow(): RichBlockAnimation = this as dev.inmo.tgbotapi.types.rich.RichBlockAnimation + +public inline fun RichBlock.ifRichBlockAnimation(block: (RichBlockAnimation) -> T): T? = richBlockAnimationOrNull() ?.let(block) + +public inline fun RichBlock.richBlockAudioOrNull(): RichBlockAudio? = this as? dev.inmo.tgbotapi.types.rich.RichBlockAudio + +public inline fun RichBlock.richBlockAudioOrThrow(): RichBlockAudio = this as dev.inmo.tgbotapi.types.rich.RichBlockAudio + +public inline fun RichBlock.ifRichBlockAudio(block: (RichBlockAudio) -> T): T? = richBlockAudioOrNull() ?.let(block) + +public inline fun RichBlock.richBlockPhotoOrNull(): RichBlockPhoto? = this as? dev.inmo.tgbotapi.types.rich.RichBlockPhoto + +public inline fun RichBlock.richBlockPhotoOrThrow(): RichBlockPhoto = this as dev.inmo.tgbotapi.types.rich.RichBlockPhoto + +public inline fun RichBlock.ifRichBlockPhoto(block: (RichBlockPhoto) -> T): T? = richBlockPhotoOrNull() ?.let(block) + +public inline fun RichBlock.richBlockVideoOrNull(): RichBlockVideo? = this as? dev.inmo.tgbotapi.types.rich.RichBlockVideo + +public inline fun RichBlock.richBlockVideoOrThrow(): RichBlockVideo = this as dev.inmo.tgbotapi.types.rich.RichBlockVideo + +public inline fun RichBlock.ifRichBlockVideo(block: (RichBlockVideo) -> T): T? = richBlockVideoOrNull() ?.let(block) + +public inline fun RichBlock.richBlockVoiceNoteOrNull(): RichBlockVoiceNote? = this as? dev.inmo.tgbotapi.types.rich.RichBlockVoiceNote + +public inline fun RichBlock.richBlockVoiceNoteOrThrow(): RichBlockVoiceNote = this as dev.inmo.tgbotapi.types.rich.RichBlockVoiceNote + +public inline fun RichBlock.ifRichBlockVoiceNote(block: (RichBlockVoiceNote) -> T): T? = richBlockVoiceNoteOrNull() ?.let(block) + +public inline fun RichBlock.richBlockThinkingOrNull(): RichBlockThinking? = this as? dev.inmo.tgbotapi.types.rich.RichBlockThinking + +public inline fun RichBlock.richBlockThinkingOrThrow(): RichBlockThinking = this as dev.inmo.tgbotapi.types.rich.RichBlockThinking + +public inline fun RichBlock.ifRichBlockThinking(block: (RichBlockThinking) -> T): T? = richBlockThinkingOrNull() ?.let(block) + public inline fun BotAction.typingActionOrNull(): TypingAction? = this as? dev.inmo.tgbotapi.types.actions.TypingAction public inline fun BotAction.typingActionOrThrow(): TypingAction = this as dev.inmo.tgbotapi.types.actions.TypingAction