1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2026-07-30 21:56:21 +00:00

Add Bot API 10.2 Rich Messages support

Input-side rich messages: InputRichMessage.blocks/media fields, 21
InputRichBlock* block types + InputRichBlockSerializer, InputRichBlockListItem,
InputRichMessageMedia, TelegramMediaVoiceNote + RichMessageMemberTelegramMedia
marker on Animation/Audio/Photo/Video, DSL builders, and multipart upload for
SendRichMessage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-18 19:16:07 +06:00
parent 0b3a5bb0af
commit 16be206b0f
21 changed files with 2311 additions and 21 deletions

View File

@@ -2,6 +2,14 @@
## 36.0.0 ## 36.0.0
* `Core`:
* (`Rich Messages`) Added `InputRichBlock` hierarchy with all 21 `InputRichBlock*` types (mirroring the received `RichBlock*` hierarchy and reusing `RichText`/`RichBlockCaption`/`RichBlockTableCell`), the label-less `InputRichBlockListItem` and the `InputRichBlockSerializer`; every `InputRichBlock` exposes `subBlocks` navigation
* (`Rich Messages`) Added `TelegramMediaVoiceNote` (`InputMediaVoiceNote`) and the `RichMessageMemberTelegramMedia` marker interface implemented by it, `TelegramMediaAnimation`, `TelegramMediaAudio`, `TelegramMediaPhoto` and `TelegramMediaVideo`; added `VoiceFile.toTelegramMediaVoiceNote` converters
* (`Rich Messages`) Added `InputRichMessageMedia` type (media referenced from `InputRichMessage.html`/`.markdown` via `tg://photo?id=`, `tg://video?id=` and `tg://audio?id=` links)
* (`Rich Messages`) `InputRichMessage` gained `blocks` and `media` fields ("exactly one of `html`, `markdown` or `blocks` must be used") and the `InputRichMessageBlocks` factory; `InputRichMessageHTML`/`InputRichMessageMarkdown` gained a trailing `media` parameter
* (`Rich Messages`) Added Rich Messages input DSL builders `buildInputRichBlocks`/`InputRichBlocksBuilder`, `InputRichBlockListBuilder` and the `InputRichMessageBlocks { }` builder overload (marked with the `@RichTextDsl` DSL marker)
* (`Rich Messages`) `SendRichMessage` now supports `attach://` upload of new files referenced from `InputRichMessage.blocks`/`.media`; `SendRichMessageDraft` now rejects rich messages that require direct file upload (unsupported by the method)
## 35.1.0 ## 35.1.0
* `Dependencies`: * `Dependencies`:

View File

@@ -6737,7 +6737,7 @@ 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 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 final class dev/inmo/tgbotapi/requests/send/SendRichMessage : dev/inmo/tgbotapi/requests/abstracts/MultipartRequest$Common, 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 static final field Companion Ldev/inmo/tgbotapi/requests/send/SendRichMessage$Companion;
public synthetic fun <init> (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 <init> (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 <init> (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 synthetic fun <init> (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
@@ -6760,9 +6760,12 @@ public final class dev/inmo/tgbotapi/requests/send/SendRichMessage : dev/inmo/tg
public fun getAllowSendingWithoutReply ()Ljava/lang/Boolean; public fun getAllowSendingWithoutReply ()Ljava/lang/Boolean;
public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String;
public fun getChatId ()Ldev/inmo/tgbotapi/types/ChatIdentifier; public fun getChatId ()Ldev/inmo/tgbotapi/types/ChatIdentifier;
public fun getData ()Ldev/inmo/tgbotapi/requests/abstracts/SimpleRequest;
public fun getDirectMessageThreadId-1osv_qQ ()Ldev/inmo/tgbotapi/types/DirectMessageThreadId; public fun getDirectMessageThreadId-1osv_qQ ()Ldev/inmo/tgbotapi/types/DirectMessageThreadId;
public fun getDisableNotification ()Z public fun getDisableNotification ()Z
public fun getEffectId-Ts0V7ak ()Ljava/lang/String; public fun getEffectId-Ts0V7ak ()Ljava/lang/String;
public fun getMediaMap ()Ljava/util/Map;
public fun getParamsJson ()Lkotlinx/serialization/json/JsonObject;
public fun getProtectContent ()Z public fun getProtectContent ()Z
public fun getReplyMarkup ()Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup; public fun getReplyMarkup ()Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;
public fun getReplyParameters ()Ldev/inmo/tgbotapi/types/ReplyParameters; public fun getReplyParameters ()Ldev/inmo/tgbotapi/types/ReplyParameters;
@@ -24802,6 +24805,14 @@ public final class dev/inmo/tgbotapi/types/media/PollMedia$Serializer$Surrogate$
public final fun serializer ()Lkotlinx/serialization/KSerializer; public final fun serializer ()Lkotlinx/serialization/KSerializer;
} }
public abstract interface class dev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia : dev/inmo/tgbotapi/types/media/TelegramMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia$Companion;
}
public final class dev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public abstract interface class dev/inmo/tgbotapi/types/media/SizedTelegramMedia : dev/inmo/tgbotapi/types/media/TelegramMedia { public abstract interface class dev/inmo/tgbotapi/types/media/SizedTelegramMedia : dev/inmo/tgbotapi/types/media/TelegramMedia {
public abstract fun getHeight ()Ljava/lang/Integer; public abstract fun getHeight ()Ljava/lang/Integer;
public abstract fun getWidth ()Ljava/lang/Integer; public abstract fun getWidth ()Ljava/lang/Integer;
@@ -24829,7 +24840,7 @@ public final class dev/inmo/tgbotapi/types/media/TelegramMedia$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer; public final fun serializer ()Lkotlinx/serialization/KSerializer;
} }
public final class dev/inmo/tgbotapi/types/media/TelegramMediaAnimation : dev/inmo/tgbotapi/abstracts/TextedOutput, dev/inmo/tgbotapi/types/media/DuratedTelegramMedia, dev/inmo/tgbotapi/types/media/InputPollMedia, dev/inmo/tgbotapi/types/media/InputPollOptionMedia, dev/inmo/tgbotapi/types/media/SizedTelegramMedia, dev/inmo/tgbotapi/types/media/SpoilerableTelegramMedia, dev/inmo/tgbotapi/types/media/TelegramFreeMedia, dev/inmo/tgbotapi/types/media/ThumbedTelegramMedia, dev/inmo/tgbotapi/types/media/WithCustomizableCaptionTelegramMedia { public final class dev/inmo/tgbotapi/types/media/TelegramMediaAnimation : dev/inmo/tgbotapi/abstracts/TextedOutput, dev/inmo/tgbotapi/types/media/DuratedTelegramMedia, dev/inmo/tgbotapi/types/media/InputPollMedia, dev/inmo/tgbotapi/types/media/InputPollOptionMedia, dev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia, dev/inmo/tgbotapi/types/media/SizedTelegramMedia, dev/inmo/tgbotapi/types/media/SpoilerableTelegramMedia, dev/inmo/tgbotapi/types/media/TelegramFreeMedia, dev/inmo/tgbotapi/types/media/ThumbedTelegramMedia, dev/inmo/tgbotapi/types/media/WithCustomizableCaptionTelegramMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation$Companion; public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation$Companion;
public static final field TYPE Ljava/lang/String; public static final field TYPE Ljava/lang/String;
public final fun component1 ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile; public final fun component1 ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile;
@@ -24881,7 +24892,7 @@ public final class dev/inmo/tgbotapi/types/media/TelegramMediaAnimationKt {
public static synthetic fun TelegramMediaAnimation$default (Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation; public static synthetic fun TelegramMediaAnimation$default (Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLjava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation;
} }
public final class dev/inmo/tgbotapi/types/media/TelegramMediaAudio : dev/inmo/tgbotapi/abstracts/Performerable, dev/inmo/tgbotapi/types/media/AudioMediaGroupMemberTelegramMedia, dev/inmo/tgbotapi/types/media/DuratedTelegramMedia, dev/inmo/tgbotapi/types/media/InputPollMedia, dev/inmo/tgbotapi/types/media/TelegramFreeMedia, dev/inmo/tgbotapi/types/media/ThumbedTelegramMedia, dev/inmo/tgbotapi/types/media/TitledTelegramMedia { public final class dev/inmo/tgbotapi/types/media/TelegramMediaAudio : dev/inmo/tgbotapi/abstracts/Performerable, dev/inmo/tgbotapi/types/media/AudioMediaGroupMemberTelegramMedia, dev/inmo/tgbotapi/types/media/DuratedTelegramMedia, dev/inmo/tgbotapi/types/media/InputPollMedia, dev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia, dev/inmo/tgbotapi/types/media/TelegramFreeMedia, dev/inmo/tgbotapi/types/media/ThumbedTelegramMedia, dev/inmo/tgbotapi/types/media/TitledTelegramMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio$Companion; public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio$Companion;
public static final field TYPE Ljava/lang/String; public static final field TYPE Ljava/lang/String;
public final fun component1 ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile; public final fun component1 ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile;
@@ -25093,7 +25104,7 @@ public final class dev/inmo/tgbotapi/types/media/TelegramMediaLocation$Companion
public final fun serializer ()Lkotlinx/serialization/KSerializer; public final fun serializer ()Lkotlinx/serialization/KSerializer;
} }
public final class dev/inmo/tgbotapi/types/media/TelegramMediaPhoto : dev/inmo/tgbotapi/types/media/InputPollMedia, dev/inmo/tgbotapi/types/media/InputPollOptionMedia, dev/inmo/tgbotapi/types/media/TelegramFreeMedia, dev/inmo/tgbotapi/types/media/VisualMediaGroupMemberTelegramMedia { public final class dev/inmo/tgbotapi/types/media/TelegramMediaPhoto : dev/inmo/tgbotapi/types/media/InputPollMedia, dev/inmo/tgbotapi/types/media/InputPollOptionMedia, dev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia, dev/inmo/tgbotapi/types/media/TelegramFreeMedia, dev/inmo/tgbotapi/types/media/VisualMediaGroupMemberTelegramMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto$Companion; public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto$Companion;
public static final field TYPE Ljava/lang/String; public static final field TYPE Ljava/lang/String;
public final fun component1 ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile; public final fun component1 ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile;
@@ -25225,7 +25236,7 @@ public final class dev/inmo/tgbotapi/types/media/TelegramMediaVenue$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer; public final fun serializer ()Lkotlinx/serialization/KSerializer;
} }
public final class dev/inmo/tgbotapi/types/media/TelegramMediaVideo : dev/inmo/tgbotapi/types/media/CoveredTelegramMedia, dev/inmo/tgbotapi/types/media/DuratedTelegramMedia, dev/inmo/tgbotapi/types/media/InputPollMedia, dev/inmo/tgbotapi/types/media/InputPollOptionMedia, dev/inmo/tgbotapi/types/media/OptionallyStreamable, dev/inmo/tgbotapi/types/media/SizedTelegramMedia, dev/inmo/tgbotapi/types/media/TelegramFreeMedia, dev/inmo/tgbotapi/types/media/ThumbedTelegramMedia, dev/inmo/tgbotapi/types/media/VisualMediaGroupMemberTelegramMedia, dev/inmo/tgbotapi/types/media/WithCustomStartTelegramMedia { public final class dev/inmo/tgbotapi/types/media/TelegramMediaVideo : dev/inmo/tgbotapi/types/media/CoveredTelegramMedia, dev/inmo/tgbotapi/types/media/DuratedTelegramMedia, dev/inmo/tgbotapi/types/media/InputPollMedia, dev/inmo/tgbotapi/types/media/InputPollOptionMedia, dev/inmo/tgbotapi/types/media/OptionallyStreamable, dev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia, dev/inmo/tgbotapi/types/media/SizedTelegramMedia, dev/inmo/tgbotapi/types/media/TelegramFreeMedia, dev/inmo/tgbotapi/types/media/ThumbedTelegramMedia, dev/inmo/tgbotapi/types/media/VisualMediaGroupMemberTelegramMedia, dev/inmo/tgbotapi/types/media/WithCustomStartTelegramMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo$Companion; public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo$Companion;
public static final field TYPE Ljava/lang/String; public static final field TYPE Ljava/lang/String;
public final fun component1 ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile; public final fun component1 ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile;
@@ -25284,6 +25295,52 @@ public final class dev/inmo/tgbotapi/types/media/TelegramMediaVideoKt {
public static synthetic fun TelegramMediaVideo$default (Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo; public static synthetic fun TelegramMediaVideo$default (Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Long;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;
} }
public final class dev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote : dev/inmo/tgbotapi/abstracts/TextedOutput, dev/inmo/tgbotapi/types/media/DuratedTelegramMedia, dev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote$Companion;
public static final field TYPE Ljava/lang/String;
public final fun component1 ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ldev/inmo/tgbotapi/types/message/ParseMode;
public final fun component5 ()Ljava/lang/Long;
public fun equals (Ljava/lang/Object;)Z
public fun getDuration ()Ljava/lang/Long;
public fun getEntities ()Ljava/util/List;
public fun getFile ()Ldev/inmo/tgbotapi/requests/abstracts/InputFile;
public fun getMedia ()Ljava/lang/String;
public fun getParseMode ()Ldev/inmo/tgbotapi/types/message/ParseMode;
public fun getText ()Ljava/lang/String;
public fun getTextSources ()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/media/TelegramMediaVoiceNote$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
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/media/TelegramMediaVoiceNote;)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/media/TelegramMediaVoiceNote$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/media/TelegramMediaVoiceNoteKt {
public static final fun TelegramMediaVoiceNote (Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/lang/Long;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public static final fun TelegramMediaVoiceNote (Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;Ljava/lang/Long;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public static synthetic fun TelegramMediaVoiceNote$default (Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Ljava/lang/Long;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public static synthetic fun TelegramMediaVoiceNote$default (Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;Ljava/lang/Long;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public static final fun toTelegramMediaVoiceNote (Ldev/inmo/tgbotapi/types/files/VoiceFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public static final fun toTelegramMediaVoiceNote (Ldev/inmo/tgbotapi/types/files/VoiceFile;Ljava/util/List;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public static synthetic fun toTelegramMediaVoiceNote$default (Ldev/inmo/tgbotapi/types/files/VoiceFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public static synthetic fun toTelegramMediaVoiceNote$default (Ldev/inmo/tgbotapi/types/files/VoiceFile;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
}
public abstract interface class dev/inmo/tgbotapi/types/media/TelegramPaidMedia : dev/inmo/tgbotapi/types/media/TelegramMedia { public abstract interface class dev/inmo/tgbotapi/types/media/TelegramPaidMedia : dev/inmo/tgbotapi/types/media/TelegramMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramPaidMedia$Companion; public static final field Companion Ldev/inmo/tgbotapi/types/media/TelegramPaidMedia$Companion;
} }
@@ -34433,16 +34490,807 @@ public final class dev/inmo/tgbotapi/types/request/UsersShared$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer; public final fun serializer ()Lkotlinx/serialization/KSerializer;
} }
public abstract interface class dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlock$Companion;
public abstract fun getType ()Ljava/lang/String;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlock$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockAnchor : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnchor$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ljava/lang/String;)V
public final fun component1 ()Ljava/lang/String;
public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnchor;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnchor;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnchor;
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/InputRichBlockAnchor$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnchor$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnchor;
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/InputRichBlockAnchor;)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/InputRichBlockAnchor$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockAnimation : dev/inmo/tgbotapi/types/rich/InputRichBlockMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnimation$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation;
public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public final fun copy (Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnimation;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnimation;Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnimation;
public fun equals (Ljava/lang/Object;)Z
public final fun getAnimation ()Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation;
public fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public fun getMedia ()Ldev/inmo/tgbotapi/types/media/TelegramMedia;
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/InputRichBlockAnimation$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnimation$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnimation;
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/InputRichBlockAnimation;)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/InputRichBlockAnimation$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockAudio : dev/inmo/tgbotapi/types/rich/InputRichBlockMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockAudio$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio;
public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public final fun copy (Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAudio;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockAudio;Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAudio;
public fun equals (Ljava/lang/Object;)Z
public final fun getAudio ()Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio;
public fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public fun getMedia ()Ldev/inmo/tgbotapi/types/media/TelegramMedia;
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/InputRichBlockAudio$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockAudio$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAudio;
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/InputRichBlockAudio;)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/InputRichBlockAudio$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockBlockQuotation : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockBlockQuotation$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichText;)V
public synthetic fun <init> (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/InputRichBlockBlockQuotation;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockBlockQuotation;Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockBlockQuotation;
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/InputRichBlockBlockQuotation$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockBlockQuotation$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockBlockQuotation;
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/InputRichBlockBlockQuotation;)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/InputRichBlockBlockQuotation$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockCollage : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockCollage$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public synthetic fun <init> (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/InputRichBlockCollage;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockCollage;Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockCollage;
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/InputRichBlockCollage$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockCollage$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockCollage;
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/InputRichBlockCollage;)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/InputRichBlockCollage$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockDetails : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockDetails$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/util/List;Ljava/lang/Boolean;)V
public synthetic fun <init> (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/InputRichBlockDetails;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockDetails;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/util/List;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockDetails;
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/InputRichBlockDetails$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockDetails$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockDetails;
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/InputRichBlockDetails;)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/InputRichBlockDetails$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockDivider : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockDivider$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> ()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/InputRichBlockDivider$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockDivider$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockDivider;
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/InputRichBlockDivider;)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/InputRichBlockDivider$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockFooter : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockFooter$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (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/InputRichBlockFooter;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockFooter;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockFooter;
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/InputRichBlockFooter$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockFooter$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockFooter;
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/InputRichBlockFooter;)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/InputRichBlockFooter$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockKt {
public static final fun getSubBlocks (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ljava/util/List;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockList : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockList$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ljava/util/List;)V
public final fun component1 ()Ljava/util/List;
public final fun copy (Ljava/util/List;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockList;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockList;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockList;
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/InputRichBlockList$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockList$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockList;
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/InputRichBlockList;)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/InputRichBlockList$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockListBuilder {
public fun <init> ()V
public final fun build ()Ljava/util/List;
public final fun item (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
public final fun item (Ljava/lang/String;)V
public static synthetic fun item$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockListBuilder;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockListItem {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockListItem$Companion;
public fun <init> (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/String;)V
public synthetic fun <init> (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/util/List;
public final fun component2 ()Ljava/lang/Boolean;
public final fun component3 ()Ljava/lang/Boolean;
public final fun component4 ()Ljava/lang/Integer;
public final fun component5 ()Ljava/lang/String;
public final fun copy (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockListItem;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockListItem;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockListItem;
public fun equals (Ljava/lang/Object;)Z
public final fun getBlocks ()Ljava/util/List;
public final fun getHasCheckbox ()Ljava/lang/Boolean;
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/InputRichBlockListItem$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockListItem$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockListItem;
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/InputRichBlockListItem;)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/InputRichBlockListItem$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockMap : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockMap$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ldev/inmo/tgbotapi/types/location/StaticLocation;IIILdev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public synthetic fun <init> (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/InputRichBlockMap;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockMap;Ldev/inmo/tgbotapi/types/location/StaticLocation;IIILdev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMap;
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/InputRichBlockMap$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockMap$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMap;
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/InputRichBlockMap;)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/InputRichBlockMap$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockMathematicalExpression : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockMathematicalExpression$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ljava/lang/String;)V
public final fun component1 ()Ljava/lang/String;
public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMathematicalExpression;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockMathematicalExpression;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMathematicalExpression;
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/InputRichBlockMathematicalExpression$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockMathematicalExpression$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMathematicalExpression;
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/InputRichBlockMathematicalExpression;)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/InputRichBlockMathematicalExpression$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public abstract interface class dev/inmo/tgbotapi/types/rich/InputRichBlockMedia : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockMedia$Companion;
public abstract fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public abstract fun getMedia ()Ldev/inmo/tgbotapi/types/media/TelegramMedia;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockMedia$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockParagraph : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockParagraph$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (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/InputRichBlockParagraph;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockParagraph;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockParagraph;
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/InputRichBlockParagraph$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockParagraph$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockParagraph;
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/InputRichBlockParagraph;)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/InputRichBlockParagraph$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockPhoto : dev/inmo/tgbotapi/types/rich/InputRichBlockMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockPhoto$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto;
public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public final fun copy (Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPhoto;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockPhoto;Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPhoto;
public fun equals (Ljava/lang/Object;)Z
public fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public fun getMedia ()Ldev/inmo/tgbotapi/types/media/TelegramMedia;
public final fun getPhoto ()Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto;
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/InputRichBlockPhoto$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockPhoto$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPhoto;
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/InputRichBlockPhoto;)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/InputRichBlockPhoto$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockPreformatted : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockPreformatted$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;)V
public synthetic fun <init> (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/InputRichBlockPreformatted;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockPreformatted;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPreformatted;
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/InputRichBlockPreformatted$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockPreformatted$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPreformatted;
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/InputRichBlockPreformatted;)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/InputRichBlockPreformatted$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockPullQuotation : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockPullQuotation$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;)V
public synthetic fun <init> (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/InputRichBlockPullQuotation;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockPullQuotation;Ldev/inmo/tgbotapi/types/rich/RichText;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPullQuotation;
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/InputRichBlockPullQuotation$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockPullQuotation$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPullQuotation;
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/InputRichBlockPullQuotation;)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/InputRichBlockPullQuotation$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockSectionHeading : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockSectionHeading$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (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/InputRichBlockSectionHeading;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockSectionHeading;Ldev/inmo/tgbotapi/types/rich/RichText;IILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockSectionHeading;
public fun equals (Ljava/lang/Object;)Z
public final fun getLevel ()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/InputRichBlockSectionHeading$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockSectionHeading$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockSectionHeading;
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/InputRichBlockSectionHeading;)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/InputRichBlockSectionHeading$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockSerializer : kotlinx/serialization/json/JsonContentPolymorphicSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockSlideshow : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockSlideshow$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public synthetic fun <init> (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/InputRichBlockSlideshow;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockSlideshow;Ljava/util/List;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockSlideshow;
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/InputRichBlockSlideshow$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockSlideshow$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockSlideshow;
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/InputRichBlockSlideshow;)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/InputRichBlockSlideshow$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockTable : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockTable$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichText;)V
public synthetic fun <init> (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/InputRichBlockTable;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockTable;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockTable;
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/InputRichBlockTable$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockTable$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockTable;
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/InputRichBlockTable;)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/InputRichBlockTable$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockThinking : dev/inmo/tgbotapi/types/rich/InputRichBlock {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockThinking$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (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/InputRichBlockThinking;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockThinking;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockThinking;
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/InputRichBlockThinking$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockThinking$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockThinking;
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/InputRichBlockThinking;)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/InputRichBlockThinking$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockVideo : dev/inmo/tgbotapi/types/rich/InputRichBlockMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockVideo$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;
public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public final fun copy (Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVideo;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockVideo;Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVideo;
public fun equals (Ljava/lang/Object;)Z
public fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public fun getMedia ()Ldev/inmo/tgbotapi/types/media/TelegramMedia;
public fun getType ()Ljava/lang/String;
public final fun getVideo ()Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
public final synthetic class dev/inmo/tgbotapi/types/rich/InputRichBlockVideo$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockVideo$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVideo;
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/InputRichBlockVideo;)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/InputRichBlockVideo$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote : dev/inmo/tgbotapi/types/rich/InputRichBlockMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote$Companion;
public static final field TYPE Ljava/lang/String;
public fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public final fun component2 ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public final fun copy (Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote;Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote;
public fun equals (Ljava/lang/Object;)Z
public fun getCaption ()Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;
public fun getMedia ()Ldev/inmo/tgbotapi/types/media/TelegramMedia;
public fun getType ()Ljava/lang/String;
public final fun getVoiceNote ()Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
public final synthetic class dev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote;
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/InputRichBlockVoiceNote;)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/InputRichBlockVoiceNote$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder {
public fun <init> ()V
public final fun add (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)V
public final fun anchor (Ljava/lang/String;)V
public final fun animation (Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public static synthetic fun animation$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/media/TelegramMediaAnimation;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)V
public final fun audio (Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public static synthetic fun audio$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/media/TelegramMediaAudio;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)V
public final fun blockQuotation (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)V
public static synthetic fun blockQuotation$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
public final fun build ()Ljava/util/List;
public final fun collage (Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;Lkotlin/jvm/functions/Function1;)V
public static synthetic fun collage$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
public final fun details (Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)V
public final fun details (Ljava/lang/String;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)V
public static synthetic fun details$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/rich/RichText;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
public static synthetic fun details$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ljava/lang/String;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
public final fun divider ()V
public final fun footer (Ljava/lang/String;)V
public final fun footer (Lkotlin/jvm/functions/Function1;)V
public final fun heading (ILkotlin/jvm/functions/Function1;)V
public final fun heading (Ljava/lang/String;I)V
public final fun list (Lkotlin/jvm/functions/Function1;)V
public final fun map (Ldev/inmo/tgbotapi/types/location/StaticLocation;IIILdev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public static synthetic fun map$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/location/StaticLocation;IIILdev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)V
public final fun mathematicalExpression (Ljava/lang/String;)V
public final fun paragraph (Ljava/lang/String;)V
public final fun paragraph (Lkotlin/jvm/functions/Function1;)V
public final fun photo (Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public static synthetic fun photo$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/media/TelegramMediaPhoto;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)V
public final fun preformatted (Ljava/lang/String;Ljava/lang/String;)V
public static synthetic fun preformatted$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)V
public final fun pullQuotation (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)V
public static synthetic fun pullQuotation$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
public final fun slideshow (Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;Lkotlin/jvm/functions/Function1;)V
public static synthetic fun slideshow$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
public final fun table (Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichText;)V
public static synthetic fun table$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ljava/util/List;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/inmo/tgbotapi/types/rich/RichText;ILjava/lang/Object;)V
public final fun thinking (Ljava/lang/String;)V
public final fun thinking (Lkotlin/jvm/functions/Function1;)V
public final fun unaryPlus (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)V
public final fun video (Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public static synthetic fun video$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)V
public final fun voiceNote (Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;)V
public static synthetic fun voiceNote$default (Ldev/inmo/tgbotapi/types/rich/InputRichBlocksBuilder;Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;Ldev/inmo/tgbotapi/types/rich/RichBlockCaption;ILjava/lang/Object;)V
}
public final class dev/inmo/tgbotapi/types/rich/InputRichBlocksDslKt {
public static final fun InputRichMessageBlocks (Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage;
public static synthetic fun InputRichMessageBlocks$default (Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage;
public static final fun buildInputRichBlocks (Lkotlin/jvm/functions/Function1;)Ljava/util/List;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichMessage { public final class dev/inmo/tgbotapi/types/rich/InputRichMessage {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichMessage$Companion; public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichMessage$Companion;
public fun <init> ()V public fun <init> ()V
public final fun component1 ()Ljava/lang/String; public final fun component1 ()Ljava/lang/String;
public final fun component2 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ljava/lang/Boolean; public final fun component3 ()Ljava/util/List;
public final fun component4 ()Ljava/lang/Boolean; public final fun component4 ()Ljava/util/List;
public final fun component5 ()Ljava/lang/Boolean;
public final fun component6 ()Ljava/lang/Boolean;
public fun equals (Ljava/lang/Object;)Z public fun equals (Ljava/lang/Object;)Z
public final fun getBlocks ()Ljava/util/List;
public final fun getHtml ()Ljava/lang/String; public final fun getHtml ()Ljava/lang/String;
public final fun getMarkdown ()Ljava/lang/String; public final fun getMarkdown ()Ljava/lang/String;
public final fun getMedia ()Ljava/util/List;
public final fun getSkipEntityDetection ()Ljava/lang/Boolean; public final fun getSkipEntityDetection ()Ljava/lang/Boolean;
public fun hashCode ()I public fun hashCode ()I
public final fun isRtl ()Ljava/lang/Boolean; public final fun isRtl ()Ljava/lang/Boolean;
@@ -34465,10 +35313,41 @@ public final class dev/inmo/tgbotapi/types/rich/InputRichMessage$Companion {
} }
public final class dev/inmo/tgbotapi/types/rich/InputRichMessageKt { 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 final fun InputRichMessageBlocks (Ljava/util/List;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 synthetic fun InputRichMessageBlocks$default (Ljava/util/List;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 final fun InputRichMessageHTML (Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/util/List;)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 static synthetic fun InputRichMessageHTML$default (Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage;
public static final fun InputRichMessageMarkdown (Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/util/List;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage;
public static synthetic fun InputRichMessageMarkdown$default (Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichMessage;
}
public final class dev/inmo/tgbotapi/types/rich/InputRichMessageMedia {
public static final field Companion Ldev/inmo/tgbotapi/types/rich/InputRichMessageMedia$Companion;
public fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia;)V
public final fun component1 ()Ljava/lang/String;
public final fun component2 ()Ldev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia;
public final fun copy (Ljava/lang/String;Ldev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia;)Ldev/inmo/tgbotapi/types/rich/InputRichMessageMedia;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/rich/InputRichMessageMedia;Ljava/lang/String;Ldev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/rich/InputRichMessageMedia;
public fun equals (Ljava/lang/Object;)Z
public final fun getId ()Ljava/lang/String;
public final fun getMedia ()Ldev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
public final synthetic class dev/inmo/tgbotapi/types/rich/InputRichMessageMedia$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/rich/InputRichMessageMedia$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/rich/InputRichMessageMedia;
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/InputRichMessageMedia;)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/InputRichMessageMedia$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
} }
public abstract interface class dev/inmo/tgbotapi/types/rich/RichBlock { public abstract interface class dev/inmo/tgbotapi/types/rich/RichBlock {

View File

@@ -1,5 +1,8 @@
package dev.inmo.tgbotapi.requests.send package dev.inmo.tgbotapi.requests.send
import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
import dev.inmo.tgbotapi.requests.abstracts.MultipartRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
import dev.inmo.tgbotapi.requests.send.abstracts.SendContentMessageRequest import dev.inmo.tgbotapi.requests.send.abstracts.SendContentMessageRequest
import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.*
@@ -10,6 +13,7 @@ import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.RichMessageContent import dev.inmo.tgbotapi.types.message.content.RichMessageContent
import dev.inmo.tgbotapi.types.rich.InputRichMessage import dev.inmo.tgbotapi.types.rich.InputRichMessage
import dev.inmo.tgbotapi.types.rich.multipartFiles
import kotlinx.serialization.DeserializationStrategy import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.EncodeDefault import kotlinx.serialization.EncodeDefault
import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.ExperimentalSerializationApi
@@ -56,10 +60,14 @@ data class SendRichMessage(
@SerialName(replyMarkupField) @SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null override val replyMarkup: KeyboardMarkup? = null
) : SendContentMessageRequest<ChatContentMessage<RichMessageContent>>, ) : SendContentMessageRequest<ChatContentMessage<RichMessageContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<RichMessageContent>> { ReplyingMarkupSendMessageRequest<ChatContentMessage<RichMessageContent>>,
MultipartRequest.Common<ChatContentMessage<RichMessageContent>> {
override fun method(): String = "sendRichMessage" override fun method(): String = "sendRichMessage"
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<RichMessageContent>> override val resultDeserializer: DeserializationStrategy<ChatContentMessage<RichMessageContent>>
get() = RichMessageContentMessageResultDeserializer get() = RichMessageContentMessageResultDeserializer
override val requestSerializer: SerializationStrategy<*> override val requestSerializer: SerializationStrategy<*>
get() = serializer() get() = serializer()
override val data: SimpleRequest<ChatContentMessage<RichMessageContent>>
get() = this
override val mediaMap: Map<String, MultipartFile> by lazy { richMessage.multipartFiles }
} }

View File

@@ -8,6 +8,7 @@ import dev.inmo.tgbotapi.types.draftIdField
import dev.inmo.tgbotapi.types.messageThreadIdField import dev.inmo.tgbotapi.types.messageThreadIdField
import dev.inmo.tgbotapi.types.richMessageField import dev.inmo.tgbotapi.types.richMessageField
import dev.inmo.tgbotapi.types.rich.InputRichMessage import dev.inmo.tgbotapi.types.rich.InputRichMessage
import dev.inmo.tgbotapi.types.rich.multipartFiles
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName import kotlinx.serialization.SerialName
@@ -39,6 +40,9 @@ data class SendRichMessageDraft(
require(draftId != 0L) { require(draftId != 0L) {
"draftId of SendRichMessageDraft must be non-zero" "draftId of SendRichMessageDraft must be non-zero"
} }
require(richMessage.multipartFiles.isEmpty()) {
"sendRichMessageDraft does not support direct upload of new files"
}
} }
override val requestSerializer: SerializationStrategy<*> override val requestSerializer: SerializationStrategy<*>

View File

@@ -0,0 +1,7 @@
package dev.inmo.tgbotapi.types.media
import kotlinx.serialization.Serializable
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@Serializable(TelegramMediaSerializer::class)
sealed interface RichMessageMemberTelegramMedia : TelegramMedia

View File

@@ -67,7 +67,7 @@ data class TelegramMediaAnimation internal constructor(
override val height: Int? = null, override val height: Int? = null,
override val duration: Long? = null, override val duration: Long? = null,
override val thumb: InputFile? = null override val thumb: InputFile? = null
) : TelegramFreeMedia, SizedTelegramMedia, DuratedTelegramMedia, ThumbedTelegramMedia, TextedOutput, SpoilerableTelegramMedia, WithCustomizableCaptionTelegramMedia, InputPollMedia, InputPollOptionMedia { ) : TelegramFreeMedia, RichMessageMemberTelegramMedia, SizedTelegramMedia, DuratedTelegramMedia, ThumbedTelegramMedia, TextedOutput, SpoilerableTelegramMedia, WithCustomizableCaptionTelegramMedia, InputPollMedia, InputPollOptionMedia {
@EncodeDefault @EncodeDefault
override val type: String = TYPE override val type: String = TYPE
override val textSources: TextSourcesList? by lazy { override val textSources: TextSourcesList? by lazy {

View File

@@ -51,7 +51,7 @@ data class TelegramMediaAudio internal constructor(
override val performer: String? = null, override val performer: String? = null,
override val title: String? = null, override val title: String? = null,
override val thumb: InputFile? = null override val thumb: InputFile? = null
) : TelegramFreeMedia, AudioMediaGroupMemberTelegramMedia, DuratedTelegramMedia, ThumbedTelegramMedia, TitledTelegramMedia, ) : TelegramFreeMedia, RichMessageMemberTelegramMedia, AudioMediaGroupMemberTelegramMedia, DuratedTelegramMedia, ThumbedTelegramMedia, TitledTelegramMedia,
Performerable, InputPollMedia { Performerable, InputPollMedia {
@EncodeDefault @EncodeDefault
override val type: String = TYPE override val type: String = TYPE

View File

@@ -44,7 +44,7 @@ data class TelegramMediaPhoto internal constructor(
override val spoilered: Boolean = false, override val spoilered: Boolean = false,
@SerialName(showCaptionAboveMediaField) @SerialName(showCaptionAboveMediaField)
override val showCaptionAboveMedia: Boolean = false, override val showCaptionAboveMedia: Boolean = false,
) : TelegramFreeMedia, VisualMediaGroupMemberTelegramMedia, InputPollMedia, InputPollOptionMedia { ) : TelegramFreeMedia, RichMessageMemberTelegramMedia, VisualMediaGroupMemberTelegramMedia, InputPollMedia, InputPollOptionMedia {
@EncodeDefault @EncodeDefault
override val type: String = TYPE override val type: String = TYPE
override val textSources: TextSourcesList? by lazy { override val textSources: TextSourcesList? by lazy {

View File

@@ -25,6 +25,7 @@ object TelegramMediaSerializer : KSerializer<TelegramMedia> {
is TelegramPaidMediaPhoto -> TelegramPaidMediaPhoto.serializer().serialize(encoder, value) is TelegramPaidMediaPhoto -> TelegramPaidMediaPhoto.serializer().serialize(encoder, value)
is TelegramPaidMediaLivePhoto -> TelegramPaidMediaLivePhoto.serializer().serialize(encoder, value) is TelegramPaidMediaLivePhoto -> TelegramPaidMediaLivePhoto.serializer().serialize(encoder, value)
is TelegramMediaSticker -> TelegramMediaSticker.serializer().serialize(encoder, value) is TelegramMediaSticker -> TelegramMediaSticker.serializer().serialize(encoder, value)
is TelegramMediaVoiceNote -> TelegramMediaVoiceNote.serializer().serialize(encoder, value)
} }
} }

View File

@@ -92,6 +92,7 @@ data class TelegramMediaVideo internal constructor (
@SerialName(supportsStreamingField) @SerialName(supportsStreamingField)
override val supportsStreaming: Boolean = false, override val supportsStreaming: Boolean = false,
) : TelegramFreeMedia, ) : TelegramFreeMedia,
RichMessageMemberTelegramMedia,
SizedTelegramMedia, SizedTelegramMedia,
DuratedTelegramMedia, DuratedTelegramMedia,
ThumbedTelegramMedia, ThumbedTelegramMedia,

View File

@@ -0,0 +1,79 @@
package dev.inmo.tgbotapi.types.media
import dev.inmo.tgbotapi.abstracts.TextedOutput
import dev.inmo.tgbotapi.requests.abstracts.InputFile
import dev.inmo.tgbotapi.requests.abstracts.fileIdToSend
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
import dev.inmo.tgbotapi.types.message.ParseMode
import dev.inmo.tgbotapi.types.message.parseModeField
import dev.inmo.tgbotapi.types.files.VoiceFile
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.toRawMessageEntities
import dev.inmo.tgbotapi.utils.extensions.makeString
import kotlinx.serialization.EncodeDefault
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
fun TelegramMediaVoiceNote(
file: InputFile,
entities: TextSourcesList,
duration: Long? = null
) = TelegramMediaVoiceNote(
file, entities.makeString(), null, entities.toRawMessageEntities(), duration
)
fun TelegramMediaVoiceNote(
file: InputFile,
text: String? = null,
parseMode: ParseMode? = null,
duration: Long? = null
) = TelegramMediaVoiceNote(
file, text, parseMode, null, duration
)
@ConsistentCopyVisibility
@Serializable
data class TelegramMediaVoiceNote internal constructor(
override val file: InputFile,
@SerialName(captionField)
override val text: String? = null,
@SerialName(parseModeField)
override val parseMode: ParseMode? = null,
@SerialName(captionEntitiesField)
private val rawEntities: List<RawMessageEntity>? = null,
override val duration: Long? = null
) : RichMessageMemberTelegramMedia, DuratedTelegramMedia, TextedOutput {
@EncodeDefault
override val type: String = TYPE
override val textSources: TextSourcesList? by lazy {
rawEntities ?.asTextSources(text ?: return@lazy null)
}
@SerialName(mediaField)
override val media: String
init { media = file.fileIdToSend } // crutch until js compiling will be fixed
companion object {
const val TYPE = "voice_note"
}
}
fun VoiceFile.toTelegramMediaVoiceNote(
text: String? = null,
parseMode: ParseMode? = null
): TelegramMediaVoiceNote = TelegramMediaVoiceNote(
fileId,
text,
parseMode,
duration
)
fun VoiceFile.toTelegramMediaVoiceNote(
textSources: TextSourcesList = emptyList()
): TelegramMediaVoiceNote = TelegramMediaVoiceNote(
fileId,
textSources,
duration
)

View File

@@ -0,0 +1,72 @@
package dev.inmo.tgbotapi.types.rich
import dev.inmo.tgbotapi.types.media.TelegramMedia
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 to be sent.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblock">InputRichBlock</a>
*/
@Serializable(InputRichBlockSerializer::class)
@ClassCastsIncluded
sealed interface InputRichBlock {
val type: String
}
@Serializable(InputRichBlockSerializer::class)
sealed interface InputRichBlockMedia : InputRichBlock {
val media: TelegramMedia
val caption: RichBlockCaption?
}
/**
* The nested [InputRichBlock]s directly contained by this block, or an empty list for leaf blocks. Container blocks
* ([InputRichBlockList] via its [InputRichBlockListItem.blocks], [InputRichBlockBlockQuotation], [InputRichBlockCollage],
* [InputRichBlockSlideshow] and [InputRichBlockDetails]) expose their children here.
*/
val InputRichBlock.subBlocks: List<InputRichBlock>
get() = when (this) {
is InputRichBlockList -> items.flatMap { it.blocks }
is InputRichBlockBlockQuotation -> blocks
is InputRichBlockCollage -> blocks
is InputRichBlockSlideshow -> blocks
is InputRichBlockDetails -> blocks
else -> emptyList()
}
object InputRichBlockSerializer : JsonContentPolymorphicSerializer<InputRichBlock>(InputRichBlock::class) {
override fun selectDeserializer(element: JsonElement): DeserializationStrategy<InputRichBlock> {
return when (val type = element.jsonObject[typeField]?.jsonPrimitive?.content) {
InputRichBlockParagraph.TYPE -> InputRichBlockParagraph.serializer()
InputRichBlockSectionHeading.TYPE -> InputRichBlockSectionHeading.serializer()
InputRichBlockPreformatted.TYPE -> InputRichBlockPreformatted.serializer()
InputRichBlockFooter.TYPE -> InputRichBlockFooter.serializer()
InputRichBlockDivider.TYPE -> InputRichBlockDivider.serializer()
InputRichBlockMathematicalExpression.TYPE -> InputRichBlockMathematicalExpression.serializer()
InputRichBlockAnchor.TYPE -> InputRichBlockAnchor.serializer()
InputRichBlockList.TYPE -> InputRichBlockList.serializer()
InputRichBlockBlockQuotation.TYPE -> InputRichBlockBlockQuotation.serializer()
InputRichBlockPullQuotation.TYPE -> InputRichBlockPullQuotation.serializer()
InputRichBlockCollage.TYPE -> InputRichBlockCollage.serializer()
InputRichBlockSlideshow.TYPE -> InputRichBlockSlideshow.serializer()
InputRichBlockTable.TYPE -> InputRichBlockTable.serializer()
InputRichBlockDetails.TYPE -> InputRichBlockDetails.serializer()
InputRichBlockMap.TYPE -> InputRichBlockMap.serializer()
InputRichBlockAnimation.TYPE -> InputRichBlockAnimation.serializer()
InputRichBlockAudio.TYPE -> InputRichBlockAudio.serializer()
InputRichBlockPhoto.TYPE -> InputRichBlockPhoto.serializer()
InputRichBlockVideo.TYPE -> InputRichBlockVideo.serializer()
InputRichBlockVoiceNote.TYPE -> InputRichBlockVoiceNote.serializer()
InputRichBlockThinking.TYPE -> InputRichBlockThinking.serializer()
else -> error("Unknown InputRichBlock type: $type")
}
}
}

View File

@@ -0,0 +1,31 @@
package dev.inmo.tgbotapi.types.rich
import dev.inmo.tgbotapi.types.blocksField
import dev.inmo.tgbotapi.types.hasCheckboxField
import dev.inmo.tgbotapi.types.isCheckedField
import dev.inmo.tgbotapi.types.typeField
import dev.inmo.tgbotapi.types.valueField
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
/**
* An item of an [InputRichBlockList].
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblocklistitem">InputRichBlockListItem</a>
*/
@Serializable
data class InputRichBlockListItem(
@SerialName(blocksField)
val blocks: List<InputRichBlock>,
@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
)

View File

@@ -0,0 +1,499 @@
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.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.media.TelegramMedia
import dev.inmo.tgbotapi.types.media.TelegramMediaAnimation
import dev.inmo.tgbotapi.types.media.TelegramMediaAudio
import dev.inmo.tgbotapi.types.media.TelegramMediaPhoto
import dev.inmo.tgbotapi.types.media.TelegramMediaVideo
import dev.inmo.tgbotapi.types.media.TelegramMediaVoiceNote
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 <a href="https://core.telegram.org/bots/api#inputrichblockparagraph">InputRichBlockParagraph</a>
*/
@Serializable
data class InputRichBlockParagraph(
@SerialName(textField)
val text: RichText
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "paragraph"
}
}
/**
* A section heading.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblocksectionheading">InputRichBlockSectionHeading</a>
*/
@Serializable
data class InputRichBlockSectionHeading(
@SerialName(textField)
val text: RichText,
/**
* Relative size of the text font; 1-6, 1 is the largest, 6 is the smallest.
*/
@SerialName(sizeField)
val level: Int
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "heading"
}
}
/**
* A preformatted text block.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockpreformatted">InputRichBlockPreformatted</a>
*/
@Serializable
data class InputRichBlockPreformatted(
@SerialName(textField)
val text: RichText,
@SerialName(languageField)
val language: String? = null
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "pre"
}
}
/**
* A footer.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockfooter">InputRichBlockFooter</a>
*/
@Serializable
data class InputRichBlockFooter(
@SerialName(textField)
val text: RichText
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "footer"
}
}
/**
* A divider.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockdivider">InputRichBlockDivider</a>
*/
@Serializable
class InputRichBlockDivider : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
override fun equals(other: Any?): Boolean = other is InputRichBlockDivider
override fun hashCode(): Int = TYPE.hashCode()
override fun toString(): String = "InputRichBlockDivider"
companion object {
const val TYPE = "divider"
}
}
/**
* A block with a mathematical expression in LaTeX format.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockmathematicalexpression">InputRichBlockMathematicalExpression</a>
*/
@Serializable
data class InputRichBlockMathematicalExpression(
@SerialName(expressionField)
val expression: String
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "mathematical_expression"
}
}
/**
* A block with an anchor.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockanchor">InputRichBlockAnchor</a>
*/
@Serializable
data class InputRichBlockAnchor(
@SerialName(nameField)
val name: String
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "anchor"
}
}
/**
* A list of blocks.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblocklist">InputRichBlockList</a>
*/
@Serializable
data class InputRichBlockList(
@SerialName(itemsField)
val items: List<InputRichBlockListItem>
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "list"
}
}
/**
* A block quotation.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockblockquotation">InputRichBlockBlockQuotation</a>
*/
@Serializable
data class InputRichBlockBlockQuotation(
@SerialName(blocksField)
val blocks: List<InputRichBlock>,
@SerialName(creditField)
val credit: RichText? = null
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "blockquote"
}
}
/**
* A quotation with centered text.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockpullquotation">InputRichBlockPullQuotation</a>
*/
@Serializable
data class InputRichBlockPullQuotation(
@SerialName(textField)
val text: RichText,
@SerialName(creditField)
val credit: RichText? = null
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "pullquote"
}
}
/**
* A collage.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockcollage">InputRichBlockCollage</a>
*/
@Serializable
data class InputRichBlockCollage(
@SerialName(blocksField)
val blocks: List<InputRichBlock>,
@SerialName(captionField)
val caption: RichBlockCaption? = null
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "collage"
}
}
/**
* A slideshow.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockslideshow">InputRichBlockSlideshow</a>
*/
@Serializable
data class InputRichBlockSlideshow(
@SerialName(blocksField)
val blocks: List<InputRichBlock>,
@SerialName(captionField)
val caption: RichBlockCaption? = null
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "slideshow"
}
}
/**
* A table.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblocktable">InputRichBlockTable</a>
*/
@Serializable
data class InputRichBlockTable(
@SerialName(cellsField)
val cells: List<List<RichBlockTableCell>>,
@SerialName(isBorderedField)
val isBordered: Boolean? = null,
@SerialName(isStripedField)
val isStriped: Boolean? = null,
@SerialName(captionField)
val caption: RichText? = null
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "table"
}
}
/**
* An expandable block for details disclosure.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockdetails">InputRichBlockDetails</a>
*/
@Serializable
data class InputRichBlockDetails(
@SerialName(summaryField)
val summary: RichText,
@SerialName(blocksField)
val blocks: List<InputRichBlock>,
@SerialName(isOpenField)
val isOpen: Boolean? = null
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "details"
}
}
/**
* A block with a map.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockmap">InputRichBlockMap</a>
*/
@Serializable
data class InputRichBlockMap(
@SerialName(locationField)
val location: StaticLocation,
/**
* Map zoom level; 0-24.
*/
@SerialName(zoomField)
val zoom: Int,
@SerialName(widthField)
val width: Int,
@SerialName(heightField)
val height: Int,
@SerialName(captionField)
val caption: RichBlockCaption? = null
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "map"
}
}
/**
* A block with an animation.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockanimation">InputRichBlockAnimation</a>
*/
@Serializable
data class InputRichBlockAnimation(
@SerialName(animationField)
val animation: TelegramMediaAnimation,
@SerialName(captionField)
override val caption: RichBlockCaption? = null
) : InputRichBlockMedia {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
override val media: TelegramMedia
get() = animation
companion object {
const val TYPE = "animation"
}
}
/**
* A block with a music file.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockaudio">InputRichBlockAudio</a>
*/
@Serializable
data class InputRichBlockAudio(
@SerialName(audioField)
val audio: TelegramMediaAudio,
@SerialName(captionField)
override val caption: RichBlockCaption? = null
) : InputRichBlockMedia {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
override val media: TelegramMedia
get() = audio
companion object {
const val TYPE = "audio"
}
}
/**
* A block with a photo.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockphoto">InputRichBlockPhoto</a>
*/
@Serializable
data class InputRichBlockPhoto(
@SerialName(photoField)
val photo: TelegramMediaPhoto,
@SerialName(captionField)
override val caption: RichBlockCaption? = null
) : InputRichBlockMedia {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
override val media: TelegramMedia
get() = photo
companion object {
const val TYPE = "photo"
}
}
/**
* A block with a video.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockvideo">InputRichBlockVideo</a>
*/
@Serializable
data class InputRichBlockVideo(
@SerialName(videoField)
val video: TelegramMediaVideo,
@SerialName(captionField)
override val caption: RichBlockCaption? = null
) : InputRichBlockMedia {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
override val media: TelegramMedia
get() = video
companion object {
const val TYPE = "video"
}
}
/**
* A block with a voice note.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockvoicenote">InputRichBlockVoiceNote</a>
*/
@Serializable
data class InputRichBlockVoiceNote(
@SerialName(voiceNoteField)
val voiceNote: TelegramMediaVoiceNote,
@SerialName(captionField)
override val caption: RichBlockCaption? = null
) : InputRichBlockMedia {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
override val media: TelegramMedia
get() = voiceNote
companion object {
const val TYPE = "voice_note"
}
}
/**
* A block with a "Thinking…" placeholder. May be used only in [dev.inmo.tgbotapi.requests.send.SendRichMessageDraft].
*
* @see <a href="https://core.telegram.org/bots/api#inputrichblockthinking">InputRichBlockThinking</a>
*/
@Serializable
data class InputRichBlockThinking(
@SerialName(textField)
val text: RichText
) : InputRichBlock {
@EncodeDefault
@SerialName(typeField)
override val type: String = TYPE
companion object {
const val TYPE = "thinking"
}
}

View File

@@ -0,0 +1,129 @@
package dev.inmo.tgbotapi.types.rich
import dev.inmo.tgbotapi.types.location.StaticLocation
import dev.inmo.tgbotapi.types.media.TelegramMediaAnimation
import dev.inmo.tgbotapi.types.media.TelegramMediaAudio
import dev.inmo.tgbotapi.types.media.TelegramMediaPhoto
import dev.inmo.tgbotapi.types.media.TelegramMediaVideo
import dev.inmo.tgbotapi.types.media.TelegramMediaVoiceNote
/**
* Builder of [InputRichBlockListItem]s used inside [InputRichBlocksBuilder.list].
*/
@RichTextDsl
class InputRichBlockListBuilder {
private val items = mutableListOf<InputRichBlockListItem>()
fun item(
hasCheckbox: Boolean? = null,
isChecked: Boolean? = null,
value: Int? = null,
labelType: String? = null,
block: InputRichBlocksBuilder.() -> Unit
) {
items.add(InputRichBlockListItem(buildInputRichBlocks(block), hasCheckbox, isChecked, value, labelType))
}
fun item(text: String) {
items.add(InputRichBlockListItem(listOf(InputRichBlockParagraph(RichTextPlain(text)))))
}
fun build(): List<InputRichBlockListItem> = items.toList()
}
/**
* Builder of a [List] of [InputRichBlock]s - the root of the rich message input DSL. Text-bearing and container blocks
* have their own DSL functions; media blocks (photo, video, animation, audio, voice note, collage, slideshow, table,
* map) can be appended with the matching convenience function or with [add] / unary plus.
*/
@RichTextDsl
class InputRichBlocksBuilder {
private val blocks = mutableListOf<InputRichBlock>()
/** Appends an already built [InputRichBlock]. */
fun add(block: InputRichBlock) {
blocks.add(block)
}
/** Appends an already built [InputRichBlock]. */
operator fun InputRichBlock.unaryPlus() = add(this)
fun paragraph(text: String) = add(InputRichBlockParagraph(RichTextPlain(text)))
fun paragraph(block: RichTextBuilder.() -> Unit) = add(InputRichBlockParagraph(buildRichText(block)))
fun heading(text: String, level: Int) = add(InputRichBlockSectionHeading(RichTextPlain(text), level))
fun heading(level: Int, block: RichTextBuilder.() -> Unit) = add(InputRichBlockSectionHeading(buildRichText(block), level))
fun preformatted(text: String, language: String? = null) = add(InputRichBlockPreformatted(RichTextPlain(text), language))
fun footer(text: String) = add(InputRichBlockFooter(RichTextPlain(text)))
fun footer(block: RichTextBuilder.() -> Unit) = add(InputRichBlockFooter(buildRichText(block)))
fun divider() = add(InputRichBlockDivider())
fun mathematicalExpression(expression: String) = add(InputRichBlockMathematicalExpression(expression))
fun anchor(name: String) = add(InputRichBlockAnchor(name))
fun thinking(text: String) = add(InputRichBlockThinking(RichTextPlain(text)))
fun thinking(block: RichTextBuilder.() -> Unit) = add(InputRichBlockThinking(buildRichText(block)))
fun list(block: InputRichBlockListBuilder.() -> Unit) = add(InputRichBlockList(InputRichBlockListBuilder().apply(block).build()))
fun blockQuotation(credit: RichText? = null, block: InputRichBlocksBuilder.() -> Unit) =
add(InputRichBlockBlockQuotation(buildInputRichBlocks(block), credit))
fun pullQuotation(credit: RichText? = null, block: RichTextBuilder.() -> Unit) =
add(InputRichBlockPullQuotation(buildRichText(block), credit))
fun details(summary: RichText, isOpen: Boolean? = null, block: InputRichBlocksBuilder.() -> Unit) =
add(InputRichBlockDetails(summary, buildInputRichBlocks(block), isOpen))
fun details(summary: String, isOpen: Boolean? = null, block: InputRichBlocksBuilder.() -> Unit) =
details(RichTextPlain(summary), isOpen, block)
fun photo(photo: TelegramMediaPhoto, caption: RichBlockCaption? = null) = add(InputRichBlockPhoto(photo, caption))
fun video(video: TelegramMediaVideo, caption: RichBlockCaption? = null) = add(InputRichBlockVideo(video, caption))
fun animation(animation: TelegramMediaAnimation, caption: RichBlockCaption? = null) =
add(InputRichBlockAnimation(animation, caption))
fun audio(audio: TelegramMediaAudio, caption: RichBlockCaption? = null) = add(InputRichBlockAudio(audio, caption))
fun voiceNote(voiceNote: TelegramMediaVoiceNote, caption: RichBlockCaption? = null) =
add(InputRichBlockVoiceNote(voiceNote, caption))
fun collage(caption: RichBlockCaption? = null, block: InputRichBlocksBuilder.() -> Unit) =
add(InputRichBlockCollage(buildInputRichBlocks(block), caption))
fun slideshow(caption: RichBlockCaption? = null, block: InputRichBlocksBuilder.() -> Unit) =
add(InputRichBlockSlideshow(buildInputRichBlocks(block), caption))
fun table(
cells: List<List<RichBlockTableCell>>,
isBordered: Boolean? = null,
isStriped: Boolean? = null,
caption: RichText? = null
) = add(InputRichBlockTable(cells, isBordered, isStriped, caption))
fun map(
location: StaticLocation,
zoom: Int,
width: Int,
height: Int,
caption: RichBlockCaption? = null
) = add(InputRichBlockMap(location, zoom, width, height, caption))
fun build(): List<InputRichBlock> = blocks.toList()
}
/** Builds a [List] of [InputRichBlock]s using the [InputRichBlocksBuilder] DSL. */
fun buildInputRichBlocks(block: InputRichBlocksBuilder.() -> Unit): List<InputRichBlock> = InputRichBlocksBuilder().apply(block).build()
/** Builds an [InputRichMessage] with `blocks` built using the [InputRichBlocksBuilder] DSL. */
fun InputRichMessageBlocks(
isRtl: Boolean? = null,
skipEntityDetection: Boolean? = null,
block: InputRichBlocksBuilder.() -> Unit
): InputRichMessage = InputRichMessageBlocks(buildInputRichBlocks(block), isRtl, skipEntityDetection)

View File

@@ -1,15 +1,21 @@
package dev.inmo.tgbotapi.types.rich package dev.inmo.tgbotapi.types.rich
import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
import dev.inmo.tgbotapi.types.blocksField
import dev.inmo.tgbotapi.types.htmlField import dev.inmo.tgbotapi.types.htmlField
import dev.inmo.tgbotapi.types.isRtlField import dev.inmo.tgbotapi.types.isRtlField
import dev.inmo.tgbotapi.types.markdownField import dev.inmo.tgbotapi.types.markdownField
import dev.inmo.tgbotapi.types.media.CoveredTelegramMedia
import dev.inmo.tgbotapi.types.media.TelegramMedia
import dev.inmo.tgbotapi.types.media.ThumbedTelegramMedia
import dev.inmo.tgbotapi.types.mediaField
import dev.inmo.tgbotapi.types.skipEntityDetectionField import dev.inmo.tgbotapi.types.skipEntityDetectionField
import kotlinx.serialization.SerialName import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
/** /**
* Describes a rich message to be sent. Exactly one of the fields [html] or [markdown] must be used. Use the * Describes a rich message to be sent. Exactly one of the fields [html], [markdown] or [blocks] must be used. Use the
* [InputRichMessageHTML] and [InputRichMessageMarkdown] factories to build an instance. * [InputRichMessageHTML], [InputRichMessageMarkdown] and [InputRichMessageBlocks] factories to build an instance.
* *
* @see <a href="https://core.telegram.org/bots/api#inputrichmessage">InputRichMessage</a> * @see <a href="https://core.telegram.org/bots/api#inputrichmessage">InputRichMessage</a>
*/ */
@@ -20,14 +26,21 @@ data class InputRichMessage internal constructor(
val html: String? = null, val html: String? = null,
@SerialName(markdownField) @SerialName(markdownField)
val markdown: String? = null, val markdown: String? = null,
@SerialName(blocksField)
val blocks: List<InputRichBlock>? = null,
@SerialName(mediaField)
val media: List<InputRichMessageMedia>? = null,
@SerialName(isRtlField) @SerialName(isRtlField)
val isRtl: Boolean? = null, val isRtl: Boolean? = null,
@SerialName(skipEntityDetectionField) @SerialName(skipEntityDetectionField)
val skipEntityDetection: Boolean? = null val skipEntityDetection: Boolean? = null
) { ) {
init { init {
require((html == null) != (markdown == null)) { require(listOfNotNull(html, markdown, blocks).size == 1) {
"Exactly one of the fields html or markdown must be used in InputRichMessage" "Exactly one of the fields html, markdown or blocks must be used in InputRichMessage"
}
require(media == null || blocks == null) {
"The field media of InputRichMessage can be used only together with html or markdown, not blocks"
} }
} }
} }
@@ -40,10 +53,13 @@ data class InputRichMessage internal constructor(
fun InputRichMessageHTML( fun InputRichMessageHTML(
html: String, html: String,
isRtl: Boolean? = null, isRtl: Boolean? = null,
skipEntityDetection: Boolean? = null skipEntityDetection: Boolean? = null,
media: List<InputRichMessageMedia>? = null
): InputRichMessage = InputRichMessage( ): InputRichMessage = InputRichMessage(
html = html, html = html,
markdown = null, markdown = null,
blocks = null,
media = media,
isRtl = isRtl, isRtl = isRtl,
skipEntityDetection = skipEntityDetection skipEntityDetection = skipEntityDetection
) )
@@ -56,10 +72,61 @@ fun InputRichMessageHTML(
fun InputRichMessageMarkdown( fun InputRichMessageMarkdown(
markdown: String, markdown: String,
isRtl: Boolean? = null, isRtl: Boolean? = null,
skipEntityDetection: Boolean? = null skipEntityDetection: Boolean? = null,
media: List<InputRichMessageMedia>? = null
): InputRichMessage = InputRichMessage( ): InputRichMessage = InputRichMessage(
html = null, html = null,
markdown = markdown, markdown = markdown,
blocks = null,
media = media,
isRtl = isRtl, isRtl = isRtl,
skipEntityDetection = skipEntityDetection skipEntityDetection = skipEntityDetection
) )
/**
* Creates an [InputRichMessage] with the content described using a list of [InputRichBlock]s.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichmessage">InputRichMessage</a>
*/
fun InputRichMessageBlocks(
blocks: List<InputRichBlock>,
isRtl: Boolean? = null,
skipEntityDetection: Boolean? = null
): InputRichMessage = InputRichMessage(
html = null,
markdown = null,
blocks = blocks,
media = null,
isRtl = isRtl,
skipEntityDetection = skipEntityDetection
)
/**
* Files ([MultipartFile]) referenced by this [InputRichMessage]: the standalone [InputRichMessage.media] entries and any
* media block nested (recursively) in [InputRichMessage.blocks], keyed by [MultipartFile.fileId].
*/
internal val InputRichMessage.multipartFiles: Map<String, MultipartFile>
get() {
val mediaFiles = media.orEmpty().flatMap { it.media.multipartFiles() }
val blockFiles = blocks.orEmpty().flatMap { it.multipartFiles() }
return (mediaFiles + blockFiles).associateBy { it.fileId }
}
private fun TelegramMedia.multipartFiles(): List<MultipartFile> = listOfNotNull(
file as? MultipartFile,
if (this is ThumbedTelegramMedia) {
thumb as? MultipartFile
} else {
null
},
if (this is CoveredTelegramMedia) {
cover as? MultipartFile
} else {
null
}
)
private fun InputRichBlock.multipartFiles(): List<MultipartFile> {
val ownFiles = (this as? InputRichBlockMedia) ?.media ?.multipartFiles().orEmpty()
return ownFiles + subBlocks.flatMap { it.multipartFiles() }
}

View File

@@ -0,0 +1,29 @@
package dev.inmo.tgbotapi.types.rich
import dev.inmo.tgbotapi.types.idField
import dev.inmo.tgbotapi.types.media.RichMessageMemberTelegramMedia
import dev.inmo.tgbotapi.types.mediaField
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
private val inputRichMessageMediaIdRegex = Regex("[A-Za-z0-9_-]{1,64}")
/**
* Describes a media referenced from [InputRichMessage.html]/[InputRichMessage.markdown] via `tg://photo?id=`,
* `tg://video?id=` and `tg://audio?id=` links.
*
* @see <a href="https://core.telegram.org/bots/api#inputrichmessagemedia">InputRichMessageMedia</a>
*/
@Serializable
data class InputRichMessageMedia(
@SerialName(idField)
val id: String,
@SerialName(mediaField)
val media: RichMessageMemberTelegramMedia
) {
init {
require(id.matches(inputRichMessageMediaIdRegex)) {
"id of InputRichMessageMedia must be 1-64 characters long and contain only latin letters, digits, underscores and hyphens, but was \"$id\""
}
}
}

View File

@@ -0,0 +1,59 @@
package dev.inmo.tgbotapi.types.rich
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.media.TelegramMediaPhoto
import kotlin.test.Test
import kotlin.test.assertEquals
class InputRichBlocksDslTest {
@Test
fun buildsTextAndContainerBlocks() {
val blocks = buildInputRichBlocks {
heading("Title", 1)
paragraph {
plain("Hello ")
bold("world")
}
divider()
list {
item("first")
item(labelType = "1") { paragraph("second") }
}
blockQuotation {
paragraph("quoted")
}
}
assertEquals(5, blocks.size)
assertEquals(InputRichBlockSectionHeading(RichTextPlain("Title"), 1), blocks[0])
assertEquals(
InputRichBlockParagraph(RichTextGroup(listOf(RichTextPlain("Hello "), RichTextBold(RichTextPlain("world"))))),
blocks[1]
)
assertEquals(InputRichBlockDivider(), blocks[2])
val list = blocks[3] as InputRichBlockList
assertEquals(2, list.items.size)
assertEquals(InputRichBlockListItem(listOf(InputRichBlockParagraph(RichTextPlain("first")))), list.items[0])
assertEquals("1", list.items[1].labelType)
assertEquals(InputRichBlockBlockQuotation(listOf(InputRichBlockParagraph(RichTextPlain("quoted")))), blocks[4])
}
@Test
fun buildsMediaBlocks() {
val photo = TelegramMediaPhoto(FileId("photo_file_id"))
val blocks = buildInputRichBlocks {
photo(photo)
}
assertEquals(listOf(InputRichBlockPhoto(photo)), blocks)
}
@Test
fun buildsInputRichMessageBlocks() {
val message = InputRichMessageBlocks(isRtl = true) {
paragraph("p")
}
assertEquals(InputRichMessageBlocks(listOf(InputRichBlockParagraph(RichTextPlain("p"))), true), message)
}
}

View File

@@ -0,0 +1,176 @@
package dev.inmo.tgbotapi.types.rich
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.media.TelegramMediaPhoto
import dev.inmo.tgbotapi.types.media.TelegramMediaVoiceNote
import kotlinx.serialization.builtins.ListSerializer
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonObject
import kotlinx.serialization.json.jsonPrimitive
import kotlinx.serialization.json.int
import kotlinx.serialization.json.boolean
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertTrue
class InputRichMessageSerializationTest {
private val json = Json { encodeDefaults = true }
@Test
fun encodesTextAndContainerBlocks() {
val message = InputRichMessageBlocks(
blocks = listOf(
InputRichBlockParagraph(RichTextPlain("Hello")),
InputRichBlockSectionHeading(RichTextPlain("Title"), 2),
InputRichBlockDivider(),
InputRichBlockList(
listOf(
InputRichBlockListItem(
listOf(InputRichBlockParagraph(RichTextPlain("first"))),
labelType = "1"
)
)
)
)
)
val blocksJson = json.encodeToJsonElement(InputRichMessage.serializer(), message).jsonObject["blocks"]!!.jsonArray
val paragraph = blocksJson[0].jsonObject
assertEquals("paragraph", paragraph["type"]?.jsonPrimitive?.content)
val heading = blocksJson[1].jsonObject
assertEquals("heading", heading["type"]?.jsonPrimitive?.content)
assertEquals(2, heading["size"]?.jsonPrimitive?.int)
val divider = blocksJson[2].jsonObject
assertEquals("divider", divider["type"]?.jsonPrimitive?.content)
assertEquals(1, divider.size)
val list = blocksJson[3].jsonObject
assertEquals("list", list["type"]?.jsonPrimitive?.content)
val item = list["items"]!!.jsonArray[0].jsonObject
assertTrue("label" !in item)
assertEquals("1", item["type"]?.jsonPrimitive?.content)
}
@Test
fun encodesTableReusingReceivedCellType() {
val table = InputRichBlockTable(
cells = listOf(
listOf(RichBlockTableCell(RichTextPlain("h1"), isHeader = true, align = "left", valign = "top"))
)
)
val message = InputRichMessageBlocks(blocks = listOf(table))
val tableJson = json.encodeToJsonElement(InputRichMessage.serializer(), message).jsonObject["blocks"]!!.jsonArray[0].jsonObject
val cell = tableJson["cells"]!!.jsonArray[0].jsonArray[0].jsonObject
assertEquals("left", cell["align"]?.jsonPrimitive?.content)
assertEquals(true, cell["is_header"]?.jsonPrimitive?.boolean)
}
@Test
fun encodesPhotoBlockMedia() {
val photoBlock = InputRichBlockPhoto(TelegramMediaPhoto(FileId("photo_file_id")))
val message = InputRichMessageBlocks(blocks = listOf(photoBlock))
val blockJson = json.encodeToJsonElement(InputRichMessage.serializer(), message).jsonObject["blocks"]!!.jsonArray[0].jsonObject
assertEquals("photo", blockJson["type"]?.jsonPrimitive?.content)
val photoJson = blockJson["photo"]!!.jsonObject
assertEquals("photo", photoJson["type"]?.jsonPrimitive?.content)
assertEquals("photo_file_id", photoJson["media"]?.jsonPrimitive?.content)
}
@Test
fun encodesVoiceNoteBlock() {
val voiceBlock = InputRichBlockVoiceNote(TelegramMediaVoiceNote(FileId("voice_file_id"), duration = 12))
val message = InputRichMessageBlocks(blocks = listOf(voiceBlock))
val blockJson = json.encodeToJsonElement(InputRichMessage.serializer(), message).jsonObject["blocks"]!!.jsonArray[0].jsonObject
assertEquals("voice_note", blockJson["type"]?.jsonPrimitive?.content)
val voiceJson = blockJson["voice_note"]!!.jsonObject
assertEquals("voice_note", voiceJson["type"]?.jsonPrimitive?.content)
assertEquals("voice_file_id", voiceJson["media"]?.jsonPrimitive?.content)
assertEquals(12, voiceJson["duration"]?.jsonPrimitive?.int)
}
@Test
fun encodesMarkdownWithMedia() {
val message = InputRichMessageMarkdown(
markdown = "See ![photo](tg://photo?id=abc)",
media = listOf(InputRichMessageMedia("abc", TelegramMediaPhoto(FileId("photo_file_id"))))
)
val element = json.encodeToJsonElement(InputRichMessage.serializer(), message).jsonObject
assertEquals("See ![photo](tg://photo?id=abc)", element["markdown"]?.jsonPrimitive?.content)
val mediaJson = element["media"]!!.jsonArray[0].jsonObject
assertEquals("abc", mediaJson["id"]?.jsonPrimitive?.content)
assertEquals("photo_file_id", mediaJson["media"]!!.jsonObject["media"]?.jsonPrimitive?.content)
}
@Test
fun roundTripsListOfInputRichBlocks() {
val blocks: List<InputRichBlock> = listOf(
InputRichBlockParagraph(RichTextGroup(listOf(RichTextPlain("a "), RichTextBold(RichTextPlain("b"))))),
InputRichBlockDivider(),
InputRichBlockList(
listOf(
InputRichBlockListItem(
listOf(InputRichBlockParagraph(RichTextPlain("item"))),
hasCheckbox = true,
isChecked = true
)
)
)
)
val serializer = ListSerializer(InputRichBlockSerializer)
val encoded = json.encodeToString(serializer, blocks)
val decoded = json.decodeFromString(serializer, encoded)
assertEquals(blocks, decoded)
}
@Test
fun requiresExactlyOneOfHtmlMarkdownOrBlocks() {
assertFailsWith<IllegalArgumentException> {
InputRichMessage(html = null, markdown = null, blocks = null)
}
assertFailsWith<IllegalArgumentException> {
InputRichMessage(html = "<b>hi</b>", markdown = "**hi**", blocks = null)
}
assertFailsWith<IllegalArgumentException> {
InputRichMessage(
html = "<b>hi</b>",
markdown = null,
blocks = listOf(InputRichBlockParagraph(RichTextPlain("hi")))
)
}
}
@Test
fun requiresMediaOnlyWithoutBlocks() {
assertFailsWith<IllegalArgumentException> {
InputRichMessage(
html = null,
markdown = null,
blocks = listOf(InputRichBlockParagraph(RichTextPlain("hi"))),
media = listOf(InputRichMessageMedia("abc", TelegramMediaPhoto(FileId("photo_file_id"))))
)
}
}
@Test
fun requiresValidMediaId() {
assertFailsWith<IllegalArgumentException> {
InputRichMessageMedia("", TelegramMediaPhoto(FileId("photo_file_id")))
}
assertFailsWith<IllegalArgumentException> {
InputRichMessageMedia("has space", TelegramMediaPhoto(FileId("photo_file_id")))
}
assertFailsWith<IllegalArgumentException> {
InputRichMessageMedia("x".repeat(65), TelegramMediaPhoto(FileId("photo_file_id")))
}
}
}

View File

@@ -1906,6 +1906,28 @@ 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/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 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 ifInputLocationMessageContent (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockAnchor (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockAnimation (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockAudio (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockBlockQuotation (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockCollage (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockDetails (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockDivider (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockFooter (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockList (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockMap (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockMathematicalExpression (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockMedia (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockParagraph (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockPhoto (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockPreformatted (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockPullQuotation (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockSectionHeading (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockSlideshow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockTable (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockThinking (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockVideo (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifInputRichBlockVoiceNote (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;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 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 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 ifInputVenueMessageContent (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
@@ -2106,6 +2128,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
public static final fun ifRichBlockVideo (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 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 ifRichMessageContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifRichMessageMemberTelegramMedia (Ldev/inmo/tgbotapi/types/media/TelegramMedia;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 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 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 ifRichTextBankCardNumber (Ldev/inmo/tgbotapi/types/rich/RichText;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
@@ -2211,6 +2234,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
public static final fun ifTelegramMediaVideo (Ldev/inmo/tgbotapi/types/media/InputPollMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifTelegramMediaVideo (Ldev/inmo/tgbotapi/types/media/InputPollMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifTelegramMediaVideo (Ldev/inmo/tgbotapi/types/media/InputPollOptionMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifTelegramMediaVideo (Ldev/inmo/tgbotapi/types/media/InputPollOptionMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifTelegramMediaVideo (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifTelegramMediaVideo (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifTelegramMediaVoiceNote (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifTelegramPaidMedia (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifTelegramPaidMedia (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifTelegramPaidMediaLivePhoto (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifTelegramPaidMediaLivePhoto (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
public static final fun ifTelegramPaidMediaPhoto (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifTelegramPaidMediaPhoto (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
@@ -2394,6 +2418,50 @@ 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 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 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 inputLocationMessageContentOrThrow (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputLocationMessageContent;
public static final fun inputRichBlockAnchorOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnchor;
public static final fun inputRichBlockAnchorOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnchor;
public static final fun inputRichBlockAnimationOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnimation;
public static final fun inputRichBlockAnimationOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAnimation;
public static final fun inputRichBlockAudioOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAudio;
public static final fun inputRichBlockAudioOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockAudio;
public static final fun inputRichBlockBlockQuotationOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockBlockQuotation;
public static final fun inputRichBlockBlockQuotationOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockBlockQuotation;
public static final fun inputRichBlockCollageOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockCollage;
public static final fun inputRichBlockCollageOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockCollage;
public static final fun inputRichBlockDetailsOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockDetails;
public static final fun inputRichBlockDetailsOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockDetails;
public static final fun inputRichBlockDividerOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockDivider;
public static final fun inputRichBlockDividerOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockDivider;
public static final fun inputRichBlockFooterOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockFooter;
public static final fun inputRichBlockFooterOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockFooter;
public static final fun inputRichBlockListOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockList;
public static final fun inputRichBlockListOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockList;
public static final fun inputRichBlockMapOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMap;
public static final fun inputRichBlockMapOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMap;
public static final fun inputRichBlockMathematicalExpressionOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMathematicalExpression;
public static final fun inputRichBlockMathematicalExpressionOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMathematicalExpression;
public static final fun inputRichBlockMediaOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMedia;
public static final fun inputRichBlockMediaOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockMedia;
public static final fun inputRichBlockParagraphOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockParagraph;
public static final fun inputRichBlockParagraphOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockParagraph;
public static final fun inputRichBlockPhotoOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPhoto;
public static final fun inputRichBlockPhotoOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPhoto;
public static final fun inputRichBlockPreformattedOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPreformatted;
public static final fun inputRichBlockPreformattedOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPreformatted;
public static final fun inputRichBlockPullQuotationOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPullQuotation;
public static final fun inputRichBlockPullQuotationOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockPullQuotation;
public static final fun inputRichBlockSectionHeadingOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockSectionHeading;
public static final fun inputRichBlockSectionHeadingOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockSectionHeading;
public static final fun inputRichBlockSlideshowOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockSlideshow;
public static final fun inputRichBlockSlideshowOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockSlideshow;
public static final fun inputRichBlockTableOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockTable;
public static final fun inputRichBlockTableOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockTable;
public static final fun inputRichBlockThinkingOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockThinking;
public static final fun inputRichBlockThinkingOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockThinking;
public static final fun inputRichBlockVideoOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVideo;
public static final fun inputRichBlockVideoOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVideo;
public static final fun inputRichBlockVoiceNoteOrNull (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote;
public static final fun inputRichBlockVoiceNoteOrThrow (Ldev/inmo/tgbotapi/types/rich/InputRichBlock;)Ldev/inmo/tgbotapi/types/rich/InputRichBlockVoiceNote;
public static final fun inputRichMessageContentOrNull (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputRichMessageContent; 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 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 inputTextMessageContentOrNull (Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputMessageContent;)Ldev/inmo/tgbotapi/types/InlineQueries/InputMessageContent/InputTextMessageContent;
@@ -2794,6 +2862,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
public static final fun richBlockVoiceNoteOrThrow (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 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 richMessageContentOrThrow (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/RichMessageContent;
public static final fun richMessageMemberTelegramMediaOrNull (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia;
public static final fun richMessageMemberTelegramMediaOrThrow (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/RichMessageMemberTelegramMedia;
public static final fun richTextAnchorLinkOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchorLink; 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 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 richTextAnchorOrNull (Ldev/inmo/tgbotapi/types/rich/RichText;)Ldev/inmo/tgbotapi/types/rich/RichTextAnchor;
@@ -3004,6 +3074,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
public static final fun telegramMediaVideoOrThrow (Ldev/inmo/tgbotapi/types/media/InputPollMedia;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo; public static final fun telegramMediaVideoOrThrow (Ldev/inmo/tgbotapi/types/media/InputPollMedia;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;
public static final fun telegramMediaVideoOrThrow (Ldev/inmo/tgbotapi/types/media/InputPollOptionMedia;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo; public static final fun telegramMediaVideoOrThrow (Ldev/inmo/tgbotapi/types/media/InputPollOptionMedia;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;
public static final fun telegramMediaVideoOrThrow (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo; public static final fun telegramMediaVideoOrThrow (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVideo;
public static final fun telegramMediaVoiceNoteOrNull (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public static final fun telegramMediaVoiceNoteOrThrow (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramMediaVoiceNote;
public static final fun telegramPaidMediaLivePhotoOrNull (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramPaidMediaLivePhoto; public static final fun telegramPaidMediaLivePhotoOrNull (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramPaidMediaLivePhoto;
public static final fun telegramPaidMediaLivePhotoOrThrow (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramPaidMediaLivePhoto; public static final fun telegramPaidMediaLivePhotoOrThrow (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramPaidMediaLivePhoto;
public static final fun telegramPaidMediaOrNull (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramPaidMedia; public static final fun telegramPaidMediaOrNull (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/TelegramPaidMedia;

View File

@@ -262,6 +262,7 @@ import dev.inmo.tgbotapi.types.media.InputPollMedia
import dev.inmo.tgbotapi.types.media.InputPollOptionMedia import dev.inmo.tgbotapi.types.media.InputPollOptionMedia
import dev.inmo.tgbotapi.types.media.MediaGroupMemberTelegramMedia import dev.inmo.tgbotapi.types.media.MediaGroupMemberTelegramMedia
import dev.inmo.tgbotapi.types.media.PollMedia import dev.inmo.tgbotapi.types.media.PollMedia
import dev.inmo.tgbotapi.types.media.RichMessageMemberTelegramMedia
import dev.inmo.tgbotapi.types.media.SizedTelegramMedia import dev.inmo.tgbotapi.types.media.SizedTelegramMedia
import dev.inmo.tgbotapi.types.media.SpoilerableTelegramMedia import dev.inmo.tgbotapi.types.media.SpoilerableTelegramMedia
import dev.inmo.tgbotapi.types.media.TelegramFreeMedia import dev.inmo.tgbotapi.types.media.TelegramFreeMedia
@@ -276,6 +277,7 @@ import dev.inmo.tgbotapi.types.media.TelegramMediaPhoto
import dev.inmo.tgbotapi.types.media.TelegramMediaSticker import dev.inmo.tgbotapi.types.media.TelegramMediaSticker
import dev.inmo.tgbotapi.types.media.TelegramMediaVenue import dev.inmo.tgbotapi.types.media.TelegramMediaVenue
import dev.inmo.tgbotapi.types.media.TelegramMediaVideo import dev.inmo.tgbotapi.types.media.TelegramMediaVideo
import dev.inmo.tgbotapi.types.media.TelegramMediaVoiceNote
import dev.inmo.tgbotapi.types.media.TelegramPaidMedia import dev.inmo.tgbotapi.types.media.TelegramPaidMedia
import dev.inmo.tgbotapi.types.media.TelegramPaidMediaLivePhoto import dev.inmo.tgbotapi.types.media.TelegramPaidMediaLivePhoto
import dev.inmo.tgbotapi.types.media.TelegramPaidMediaPhoto import dev.inmo.tgbotapi.types.media.TelegramPaidMediaPhoto
@@ -550,6 +552,29 @@ import dev.inmo.tgbotapi.types.request.ChatShared
import dev.inmo.tgbotapi.types.request.ChatSharedRequest import dev.inmo.tgbotapi.types.request.ChatSharedRequest
import dev.inmo.tgbotapi.types.request.RequestResponse import dev.inmo.tgbotapi.types.request.RequestResponse
import dev.inmo.tgbotapi.types.request.UsersShared import dev.inmo.tgbotapi.types.request.UsersShared
import dev.inmo.tgbotapi.types.rich.InputRichBlock
import dev.inmo.tgbotapi.types.rich.InputRichBlockAnchor
import dev.inmo.tgbotapi.types.rich.InputRichBlockAnimation
import dev.inmo.tgbotapi.types.rich.InputRichBlockAudio
import dev.inmo.tgbotapi.types.rich.InputRichBlockBlockQuotation
import dev.inmo.tgbotapi.types.rich.InputRichBlockCollage
import dev.inmo.tgbotapi.types.rich.InputRichBlockDetails
import dev.inmo.tgbotapi.types.rich.InputRichBlockDivider
import dev.inmo.tgbotapi.types.rich.InputRichBlockFooter
import dev.inmo.tgbotapi.types.rich.InputRichBlockList
import dev.inmo.tgbotapi.types.rich.InputRichBlockMap
import dev.inmo.tgbotapi.types.rich.InputRichBlockMathematicalExpression
import dev.inmo.tgbotapi.types.rich.InputRichBlockMedia
import dev.inmo.tgbotapi.types.rich.InputRichBlockParagraph
import dev.inmo.tgbotapi.types.rich.InputRichBlockPhoto
import dev.inmo.tgbotapi.types.rich.InputRichBlockPreformatted
import dev.inmo.tgbotapi.types.rich.InputRichBlockPullQuotation
import dev.inmo.tgbotapi.types.rich.InputRichBlockSectionHeading
import dev.inmo.tgbotapi.types.rich.InputRichBlockSlideshow
import dev.inmo.tgbotapi.types.rich.InputRichBlockTable
import dev.inmo.tgbotapi.types.rich.InputRichBlockThinking
import dev.inmo.tgbotapi.types.rich.InputRichBlockVideo
import dev.inmo.tgbotapi.types.rich.InputRichBlockVoiceNote
import dev.inmo.tgbotapi.types.rich.RichBlock import dev.inmo.tgbotapi.types.rich.RichBlock
import dev.inmo.tgbotapi.types.rich.RichBlockAnchor import dev.inmo.tgbotapi.types.rich.RichBlockAnchor
import dev.inmo.tgbotapi.types.rich.RichBlockAnimation import dev.inmo.tgbotapi.types.rich.RichBlockAnimation
@@ -882,6 +907,12 @@ public inline fun TelegramMedia.duratedTelegramMediaOrThrow(): DuratedTelegramMe
public inline fun <T> TelegramMedia.ifDuratedTelegramMedia(block: (DuratedTelegramMedia) -> T): T? = duratedTelegramMediaOrNull() ?.let(block) public inline fun <T> TelegramMedia.ifDuratedTelegramMedia(block: (DuratedTelegramMedia) -> T): T? = duratedTelegramMediaOrNull() ?.let(block)
public inline fun TelegramMedia.telegramMediaVoiceNoteOrNull(): TelegramMediaVoiceNote? = this as? dev.inmo.tgbotapi.types.media.TelegramMediaVoiceNote
public inline fun TelegramMedia.telegramMediaVoiceNoteOrThrow(): TelegramMediaVoiceNote = this as dev.inmo.tgbotapi.types.media.TelegramMediaVoiceNote
public inline fun <T> TelegramMedia.ifTelegramMediaVoiceNote(block: (TelegramMediaVoiceNote) -> T): T? = telegramMediaVoiceNoteOrNull() ?.let(block)
public inline fun TelegramMedia.titledTelegramMediaOrNull(): TitledTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.TitledTelegramMedia public inline fun TelegramMedia.titledTelegramMediaOrNull(): TitledTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.TitledTelegramMedia
public inline fun TelegramMedia.titledTelegramMediaOrThrow(): TitledTelegramMedia = this as dev.inmo.tgbotapi.types.media.TitledTelegramMedia public inline fun TelegramMedia.titledTelegramMediaOrThrow(): TitledTelegramMedia = this as dev.inmo.tgbotapi.types.media.TitledTelegramMedia
@@ -936,6 +967,12 @@ public inline fun TelegramMedia.telegramMediaAnimationOrThrow(): TelegramMediaAn
public inline fun <T> TelegramMedia.ifTelegramMediaAnimation(block: (TelegramMediaAnimation) -> T): T? = telegramMediaAnimationOrNull() ?.let(block) public inline fun <T> TelegramMedia.ifTelegramMediaAnimation(block: (TelegramMediaAnimation) -> T): T? = telegramMediaAnimationOrNull() ?.let(block)
public inline fun TelegramMedia.richMessageMemberTelegramMediaOrNull(): RichMessageMemberTelegramMedia? = this as? dev.inmo.tgbotapi.types.media.RichMessageMemberTelegramMedia
public inline fun TelegramMedia.richMessageMemberTelegramMediaOrThrow(): RichMessageMemberTelegramMedia = this as dev.inmo.tgbotapi.types.media.RichMessageMemberTelegramMedia
public inline fun <T> TelegramMedia.ifRichMessageMemberTelegramMedia(block: (RichMessageMemberTelegramMedia) -> T): T? = richMessageMemberTelegramMediaOrNull() ?.let(block)
public inline fun TelegramMedia.telegramMediaVideoOrNull(): TelegramMediaVideo? = this as? dev.inmo.tgbotapi.types.media.TelegramMediaVideo public inline fun TelegramMedia.telegramMediaVideoOrNull(): TelegramMediaVideo? = this as? dev.inmo.tgbotapi.types.media.TelegramMediaVideo
public inline fun TelegramMedia.telegramMediaVideoOrThrow(): TelegramMediaVideo = this as dev.inmo.tgbotapi.types.media.TelegramMediaVideo public inline fun TelegramMedia.telegramMediaVideoOrThrow(): TelegramMediaVideo = this as dev.inmo.tgbotapi.types.media.TelegramMediaVideo
@@ -3336,6 +3373,138 @@ public inline fun InputMessageContent.inputRichMessageContentOrThrow(): InputRic
public inline fun <T> InputMessageContent.ifInputRichMessageContent(block: (InputRichMessageContent) -> T): T? = inputRichMessageContentOrNull() ?.let(block) public inline fun <T> InputMessageContent.ifInputRichMessageContent(block: (InputRichMessageContent) -> T): T? = inputRichMessageContentOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockMediaOrNull(): InputRichBlockMedia? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockMedia
public inline fun InputRichBlock.inputRichBlockMediaOrThrow(): InputRichBlockMedia = this as dev.inmo.tgbotapi.types.rich.InputRichBlockMedia
public inline fun <T> InputRichBlock.ifInputRichBlockMedia(block: (InputRichBlockMedia) -> T): T? = inputRichBlockMediaOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockParagraphOrNull(): InputRichBlockParagraph? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockParagraph
public inline fun InputRichBlock.inputRichBlockParagraphOrThrow(): InputRichBlockParagraph = this as dev.inmo.tgbotapi.types.rich.InputRichBlockParagraph
public inline fun <T> InputRichBlock.ifInputRichBlockParagraph(block: (InputRichBlockParagraph) -> T): T? = inputRichBlockParagraphOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockSectionHeadingOrNull(): InputRichBlockSectionHeading? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockSectionHeading
public inline fun InputRichBlock.inputRichBlockSectionHeadingOrThrow(): InputRichBlockSectionHeading = this as dev.inmo.tgbotapi.types.rich.InputRichBlockSectionHeading
public inline fun <T> InputRichBlock.ifInputRichBlockSectionHeading(block: (InputRichBlockSectionHeading) -> T): T? = inputRichBlockSectionHeadingOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockPreformattedOrNull(): InputRichBlockPreformatted? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockPreformatted
public inline fun InputRichBlock.inputRichBlockPreformattedOrThrow(): InputRichBlockPreformatted = this as dev.inmo.tgbotapi.types.rich.InputRichBlockPreformatted
public inline fun <T> InputRichBlock.ifInputRichBlockPreformatted(block: (InputRichBlockPreformatted) -> T): T? = inputRichBlockPreformattedOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockFooterOrNull(): InputRichBlockFooter? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockFooter
public inline fun InputRichBlock.inputRichBlockFooterOrThrow(): InputRichBlockFooter = this as dev.inmo.tgbotapi.types.rich.InputRichBlockFooter
public inline fun <T> InputRichBlock.ifInputRichBlockFooter(block: (InputRichBlockFooter) -> T): T? = inputRichBlockFooterOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockDividerOrNull(): InputRichBlockDivider? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockDivider
public inline fun InputRichBlock.inputRichBlockDividerOrThrow(): InputRichBlockDivider = this as dev.inmo.tgbotapi.types.rich.InputRichBlockDivider
public inline fun <T> InputRichBlock.ifInputRichBlockDivider(block: (InputRichBlockDivider) -> T): T? = inputRichBlockDividerOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockMathematicalExpressionOrNull(): InputRichBlockMathematicalExpression? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockMathematicalExpression
public inline fun InputRichBlock.inputRichBlockMathematicalExpressionOrThrow(): InputRichBlockMathematicalExpression = this as dev.inmo.tgbotapi.types.rich.InputRichBlockMathematicalExpression
public inline fun <T> InputRichBlock.ifInputRichBlockMathematicalExpression(block: (InputRichBlockMathematicalExpression) -> T): T? = inputRichBlockMathematicalExpressionOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockAnchorOrNull(): InputRichBlockAnchor? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockAnchor
public inline fun InputRichBlock.inputRichBlockAnchorOrThrow(): InputRichBlockAnchor = this as dev.inmo.tgbotapi.types.rich.InputRichBlockAnchor
public inline fun <T> InputRichBlock.ifInputRichBlockAnchor(block: (InputRichBlockAnchor) -> T): T? = inputRichBlockAnchorOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockListOrNull(): InputRichBlockList? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockList
public inline fun InputRichBlock.inputRichBlockListOrThrow(): InputRichBlockList = this as dev.inmo.tgbotapi.types.rich.InputRichBlockList
public inline fun <T> InputRichBlock.ifInputRichBlockList(block: (InputRichBlockList) -> T): T? = inputRichBlockListOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockBlockQuotationOrNull(): InputRichBlockBlockQuotation? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockBlockQuotation
public inline fun InputRichBlock.inputRichBlockBlockQuotationOrThrow(): InputRichBlockBlockQuotation = this as dev.inmo.tgbotapi.types.rich.InputRichBlockBlockQuotation
public inline fun <T> InputRichBlock.ifInputRichBlockBlockQuotation(block: (InputRichBlockBlockQuotation) -> T): T? = inputRichBlockBlockQuotationOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockPullQuotationOrNull(): InputRichBlockPullQuotation? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockPullQuotation
public inline fun InputRichBlock.inputRichBlockPullQuotationOrThrow(): InputRichBlockPullQuotation = this as dev.inmo.tgbotapi.types.rich.InputRichBlockPullQuotation
public inline fun <T> InputRichBlock.ifInputRichBlockPullQuotation(block: (InputRichBlockPullQuotation) -> T): T? = inputRichBlockPullQuotationOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockCollageOrNull(): InputRichBlockCollage? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockCollage
public inline fun InputRichBlock.inputRichBlockCollageOrThrow(): InputRichBlockCollage = this as dev.inmo.tgbotapi.types.rich.InputRichBlockCollage
public inline fun <T> InputRichBlock.ifInputRichBlockCollage(block: (InputRichBlockCollage) -> T): T? = inputRichBlockCollageOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockSlideshowOrNull(): InputRichBlockSlideshow? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockSlideshow
public inline fun InputRichBlock.inputRichBlockSlideshowOrThrow(): InputRichBlockSlideshow = this as dev.inmo.tgbotapi.types.rich.InputRichBlockSlideshow
public inline fun <T> InputRichBlock.ifInputRichBlockSlideshow(block: (InputRichBlockSlideshow) -> T): T? = inputRichBlockSlideshowOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockTableOrNull(): InputRichBlockTable? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockTable
public inline fun InputRichBlock.inputRichBlockTableOrThrow(): InputRichBlockTable = this as dev.inmo.tgbotapi.types.rich.InputRichBlockTable
public inline fun <T> InputRichBlock.ifInputRichBlockTable(block: (InputRichBlockTable) -> T): T? = inputRichBlockTableOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockDetailsOrNull(): InputRichBlockDetails? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockDetails
public inline fun InputRichBlock.inputRichBlockDetailsOrThrow(): InputRichBlockDetails = this as dev.inmo.tgbotapi.types.rich.InputRichBlockDetails
public inline fun <T> InputRichBlock.ifInputRichBlockDetails(block: (InputRichBlockDetails) -> T): T? = inputRichBlockDetailsOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockMapOrNull(): InputRichBlockMap? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockMap
public inline fun InputRichBlock.inputRichBlockMapOrThrow(): InputRichBlockMap = this as dev.inmo.tgbotapi.types.rich.InputRichBlockMap
public inline fun <T> InputRichBlock.ifInputRichBlockMap(block: (InputRichBlockMap) -> T): T? = inputRichBlockMapOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockAnimationOrNull(): InputRichBlockAnimation? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockAnimation
public inline fun InputRichBlock.inputRichBlockAnimationOrThrow(): InputRichBlockAnimation = this as dev.inmo.tgbotapi.types.rich.InputRichBlockAnimation
public inline fun <T> InputRichBlock.ifInputRichBlockAnimation(block: (InputRichBlockAnimation) -> T): T? = inputRichBlockAnimationOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockAudioOrNull(): InputRichBlockAudio? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockAudio
public inline fun InputRichBlock.inputRichBlockAudioOrThrow(): InputRichBlockAudio = this as dev.inmo.tgbotapi.types.rich.InputRichBlockAudio
public inline fun <T> InputRichBlock.ifInputRichBlockAudio(block: (InputRichBlockAudio) -> T): T? = inputRichBlockAudioOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockPhotoOrNull(): InputRichBlockPhoto? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockPhoto
public inline fun InputRichBlock.inputRichBlockPhotoOrThrow(): InputRichBlockPhoto = this as dev.inmo.tgbotapi.types.rich.InputRichBlockPhoto
public inline fun <T> InputRichBlock.ifInputRichBlockPhoto(block: (InputRichBlockPhoto) -> T): T? = inputRichBlockPhotoOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockVideoOrNull(): InputRichBlockVideo? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockVideo
public inline fun InputRichBlock.inputRichBlockVideoOrThrow(): InputRichBlockVideo = this as dev.inmo.tgbotapi.types.rich.InputRichBlockVideo
public inline fun <T> InputRichBlock.ifInputRichBlockVideo(block: (InputRichBlockVideo) -> T): T? = inputRichBlockVideoOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockVoiceNoteOrNull(): InputRichBlockVoiceNote? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockVoiceNote
public inline fun InputRichBlock.inputRichBlockVoiceNoteOrThrow(): InputRichBlockVoiceNote = this as dev.inmo.tgbotapi.types.rich.InputRichBlockVoiceNote
public inline fun <T> InputRichBlock.ifInputRichBlockVoiceNote(block: (InputRichBlockVoiceNote) -> T): T? = inputRichBlockVoiceNoteOrNull() ?.let(block)
public inline fun InputRichBlock.inputRichBlockThinkingOrNull(): InputRichBlockThinking? = this as? dev.inmo.tgbotapi.types.rich.InputRichBlockThinking
public inline fun InputRichBlock.inputRichBlockThinkingOrThrow(): InputRichBlockThinking = this as dev.inmo.tgbotapi.types.rich.InputRichBlockThinking
public inline fun <T> InputRichBlock.ifInputRichBlockThinking(block: (InputRichBlockThinking) -> T): T? = inputRichBlockThinkingOrNull() ?.let(block)
public inline fun RichText.richTextBoldOrNull(): RichTextBold? = this as? dev.inmo.tgbotapi.types.rich.RichTextBold 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.richTextBoldOrThrow(): RichTextBold = this as dev.inmo.tgbotapi.types.rich.RichTextBold