1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2026-06-11 01:57:23 +00:00

implement guest mode and make HUGE CHANGES IN MESSAGES HIERARCHY

This commit is contained in:
2026-05-17 23:20:10 +06:00
parent d47641c39a
commit 236939eab8
148 changed files with 1888 additions and 1335 deletions

View File

@@ -245,6 +245,10 @@ public abstract interface class dev/inmo/tgbotapi/abstracts/types/WithOptionalBu
public abstract fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String;
}
public abstract interface class dev/inmo/tgbotapi/abstracts/types/WithOptionalGuestQueryId {
public abstract fun getGuestQueryId-BCLlPIY ()Ljava/lang/String;
}
public abstract interface class dev/inmo/tgbotapi/abstracts/types/WithReplyMarkup {
public abstract fun getReplyMarkup ()Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;
}
@@ -1226,6 +1230,38 @@ public final class dev/inmo/tgbotapi/requests/answers/AnswerCallbackQueryKt {
public static synthetic fun createAnswer$default (Ldev/inmo/tgbotapi/types/queries/callback/CallbackQuery;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Integer;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/answers/AnswerCallbackQuery;
}
public final class dev/inmo/tgbotapi/requests/answers/AnswerGuestQuery : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest {
public static final field Companion Ldev/inmo/tgbotapi/requests/answers/AnswerGuestQuery$Companion;
public synthetic fun <init> (Ljava/lang/String;Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-87nd9ik ()Ljava/lang/String;
public final fun component2 ()Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;
public final fun copy--VhfLvE (Ljava/lang/String;Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;)Ldev/inmo/tgbotapi/requests/answers/AnswerGuestQuery;
public static synthetic fun copy--VhfLvE$default (Ldev/inmo/tgbotapi/requests/answers/AnswerGuestQuery;Ljava/lang/String;Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/answers/AnswerGuestQuery;
public fun equals (Ljava/lang/Object;)Z
public final fun getGuestQueryId-87nd9ik ()Ljava/lang/String;
public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy;
public final fun getResult ()Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;
public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy;
public fun hashCode ()I
public fun method ()Ljava/lang/String;
public fun toString ()Ljava/lang/String;
}
public final synthetic class dev/inmo/tgbotapi/requests/answers/AnswerGuestQuery$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/requests/answers/AnswerGuestQuery$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/answers/AnswerGuestQuery;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/requests/answers/AnswerGuestQuery;)V
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/requests/answers/AnswerGuestQuery$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/requests/answers/AnswerInlineQuery : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest {
public static final field Companion Ldev/inmo/tgbotapi/requests/answers/AnswerInlineQuery$Companion;
public synthetic fun <init> (Ljava/lang/String;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Boolean;Ljava/lang/String;Ldev/inmo/tgbotapi/requests/answers/InlineQueryResultsButton;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -10973,6 +11009,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt {
public static final field giveawayMessageIdField Ljava/lang/String;
public static final field googlePlaceIdField Ljava/lang/String;
public static final field googlePlaceTypeField Ljava/lang/String;
public static final field guestQueryIdField Ljava/lang/String;
public static final field hasAggressiveAntiSpamEnabledField Ljava/lang/String;
public static final field hasColorsField Ljava/lang/String;
public static final field hasCustomCertificateField Ljava/lang/String;
@@ -11303,6 +11340,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt {
public static final field suggestedUsernameField Ljava/lang/String;
public static final field supportInlineQueriesField Ljava/lang/String;
public static final field supportStreamingField Ljava/lang/String;
public static final field supportsGuestQueriesField Ljava/lang/String;
public static final field supportsStreamingField Ljava/lang/String;
public static final field switchInlineQueryChosenChatField Ljava/lang/String;
public static final field switchInlineQueryCurrentChatField Ljava/lang/String;
@@ -11829,6 +11867,36 @@ public final class dev/inmo/tgbotapi/types/GiftId$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/GuestQueryId {
public static final field Companion Ldev/inmo/tgbotapi/types/GuestQueryId$Companion;
public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/GuestQueryId;
public static fun constructor-impl (Ljava/lang/String;)Ljava/lang/String;
public fun equals (Ljava/lang/Object;)Z
public static fun equals-impl (Ljava/lang/String;Ljava/lang/Object;)Z
public static final fun equals-impl0 (Ljava/lang/String;Ljava/lang/String;)Z
public final fun getString ()Ljava/lang/String;
public fun hashCode ()I
public static fun hashCode-impl (Ljava/lang/String;)I
public fun toString ()Ljava/lang/String;
public static fun toString-impl (Ljava/lang/String;)Ljava/lang/String;
public final synthetic fun unbox-impl ()Ljava/lang/String;
}
public final synthetic class dev/inmo/tgbotapi/types/GuestQueryId$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/GuestQueryId$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public final fun deserialize-HWSHt_w (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String;
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public final fun serialize-oDZeUUE (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/GuestQueryId$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public abstract interface class dev/inmo/tgbotapi/types/IdChatIdentifier : dev/inmo/tgbotapi/types/ChatIdentifier {
public static final field Companion Ldev/inmo/tgbotapi/types/IdChatIdentifier$Companion;
public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String;
@@ -14952,6 +15020,7 @@ public final class dev/inmo/tgbotapi/types/UpdateTypesKt {
public static final field UPDATE_EDITED_BUSINESS_MESSAGE Ljava/lang/String;
public static final field UPDATE_EDITED_CHANNEL_POST Ljava/lang/String;
public static final field UPDATE_EDITED_MESSAGE Ljava/lang/String;
public static final field UPDATE_GUEST_MESSAGE Ljava/lang/String;
public static final field UPDATE_INLINE_QUERY Ljava/lang/String;
public static final field UPDATE_MANAGED_BOT Ljava/lang/String;
public static final field UPDATE_MESSAGE Ljava/lang/String;
@@ -18166,30 +18235,31 @@ public final class dev/inmo/tgbotapi/types/chat/DirectMessagesTopic$Companion {
public final class dev/inmo/tgbotapi/types/chat/ExtendedBot : dev/inmo/tgbotapi/types/chat/Bot, dev/inmo/tgbotapi/types/chat/ExtendedChat {
public static final field Companion Ldev/inmo/tgbotapi/types/chat/ExtendedBot$Companion;
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZLdev/inmo/tgbotapi/types/ChatPhoto;ILdev/inmo/tgbotapi/types/colors/ColorId;Ljava/lang/String;Ljava/lang/String;IZZZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZLdev/inmo/tgbotapi/types/ChatPhoto;ILdev/inmo/tgbotapi/types/colors/ColorId;Ljava/lang/String;Ljava/lang/String;IZZZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZZLdev/inmo/tgbotapi/types/ChatPhoto;ILdev/inmo/tgbotapi/types/colors/ColorId;Ljava/lang/String;Ljava/lang/String;IZZZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZZLdev/inmo/tgbotapi/types/ChatPhoto;ILdev/inmo/tgbotapi/types/colors/ColorId;Ljava/lang/String;Ljava/lang/String;IZZZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;ZLkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/IdChatIdentifier;
public final fun component10-f3WtEc0 ()I
public final fun component11-mg_h9nU ()Ldev/inmo/tgbotapi/types/colors/ColorId;
public final fun component12-GbmMWyQ ()Ljava/lang/String;
public final fun component10 ()Ldev/inmo/tgbotapi/types/ChatPhoto;
public final fun component11-f3WtEc0 ()I
public final fun component12-mg_h9nU ()Ldev/inmo/tgbotapi/types/colors/ColorId;
public final fun component13-GbmMWyQ ()Ljava/lang/String;
public final fun component14 ()I
public final fun component15 ()Z
public final fun component14-GbmMWyQ ()Ljava/lang/String;
public final fun component15 ()I
public final fun component16 ()Z
public final fun component17 ()Z
public final fun component18 ()Ldev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;
public final fun component19 ()Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;
public final fun component18 ()Z
public final fun component19 ()Ldev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;
public final fun component2 ()Ljava/lang/String;
public final fun component20 ()Z
public final fun component20 ()Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;
public final fun component21 ()Z
public final fun component3 ()Ljava/lang/String;
public final fun component4-san03mo ()Ljava/lang/String;
public final fun component5 ()Z
public final fun component6 ()Z
public final fun component7 ()Z
public final fun component8 ()Z
public final fun component9 ()Ldev/inmo/tgbotapi/types/ChatPhoto;
public final fun copy-vM2md78 (Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZLdev/inmo/tgbotapi/types/ChatPhoto;ILdev/inmo/tgbotapi/types/colors/ColorId;Ljava/lang/String;Ljava/lang/String;IZZZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;Z)Ldev/inmo/tgbotapi/types/chat/ExtendedBot;
public static synthetic fun copy-vM2md78$default (Ldev/inmo/tgbotapi/types/chat/ExtendedBot;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZLdev/inmo/tgbotapi/types/ChatPhoto;ILdev/inmo/tgbotapi/types/colors/ColorId;Ljava/lang/String;Ljava/lang/String;IZZZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/ExtendedBot;
public final fun component9 ()Z
public final fun copy-PETKox0 (Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZZLdev/inmo/tgbotapi/types/ChatPhoto;ILdev/inmo/tgbotapi/types/colors/ColorId;Ljava/lang/String;Ljava/lang/String;IZZZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;Z)Ldev/inmo/tgbotapi/types/chat/ExtendedBot;
public static synthetic fun copy-PETKox0$default (Ldev/inmo/tgbotapi/types/chat/ExtendedBot;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZZZLdev/inmo/tgbotapi/types/ChatPhoto;ILdev/inmo/tgbotapi/types/colors/ColorId;Ljava/lang/String;Ljava/lang/String;IZZZLdev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/ExtendedBot;
public fun equals (Ljava/lang/Object;)Z
public fun getAccentColorId-f3WtEc0 ()I
public fun getAcceptedGiftTypes ()Ldev/inmo/tgbotapi/types/gifts/AcceptedGiftTypes;
@@ -18209,6 +18279,7 @@ public final class dev/inmo/tgbotapi/types/chat/ExtendedBot : dev/inmo/tgbotapi/
public fun getMaxReactionsCount ()I
public fun getProfileAccentColorId-mg_h9nU ()Ldev/inmo/tgbotapi/types/colors/ColorId;
public fun getProfileBackgroundCustomEmojiId-GbmMWyQ ()Ljava/lang/String;
public final fun getSupportsGuestQueries ()Z
public final fun getSupportsInlineQueries ()Z
public fun getUniqueGiftColors ()Ldev/inmo/tgbotapi/types/gifts/unique/UniqueGiftColors;
public fun getUsername-san03mo ()Ljava/lang/String;
@@ -20526,13 +20597,13 @@ public final class dev/inmo/tgbotapi/types/checklists/ChecklistTaskId$Companion
public final class dev/inmo/tgbotapi/types/checklists/ChecklistTasksAdded : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/CommonEvent {
public static final field Companion Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksAdded$Companion;
public fun <init> (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;Ljava/util/List;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public fun <init> (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;Ljava/util/List;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
public final fun component2 ()Ljava/util/List;
public final fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;Ljava/util/List;)Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksAdded;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksAdded;Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksAdded;
public final fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;Ljava/util/List;)Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksAdded;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksAdded;Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksAdded;
public fun equals (Ljava/lang/Object;)Z
public final fun getChecklistMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public final fun getChecklistMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
public final fun getTasks ()Ljava/util/List;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
@@ -20555,15 +20626,15 @@ public final class dev/inmo/tgbotapi/types/checklists/ChecklistTasksAdded$Compan
public final class dev/inmo/tgbotapi/types/checklists/ChecklistTasksDone : dev/inmo/tgbotapi/types/message/ChatEvents/abstracts/CommonEvent {
public static final field Companion Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksDone$Companion;
public fun <init> (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;Ljava/util/List;Ljava/util/List;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;Ljava/util/List;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public fun <init> (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;Ljava/util/List;Ljava/util/List;)V
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;Ljava/util/List;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
public final fun component2 ()Ljava/util/List;
public final fun component3 ()Ljava/util/List;
public final fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;Ljava/util/List;Ljava/util/List;)Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksDone;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksDone;Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;Ljava/util/List;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksDone;
public final fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;Ljava/util/List;Ljava/util/List;)Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksDone;
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksDone;Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;Ljava/util/List;Ljava/util/List;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/checklists/ChecklistTasksDone;
public fun equals (Ljava/lang/Object;)Z
public final fun getChecklistMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public final fun getChecklistMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
public final fun getMarkedAsDone ()Ljava/util/List;
public final fun getMarkedAsNotDone ()Ljava/util/List;
public fun hashCode ()I
@@ -23847,6 +23918,33 @@ public final class dev/inmo/tgbotapi/types/giveaway/GiveawayResults$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/guest/SentGuestMessage {
public static final field Companion Ldev/inmo/tgbotapi/types/guest/SentGuestMessage$Companion;
public synthetic fun <init> (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-u1p_GH0 ()Ljava/lang/String;
public final fun copy-_tnj6io (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/guest/SentGuestMessage;
public static synthetic fun copy-_tnj6io$default (Ldev/inmo/tgbotapi/types/guest/SentGuestMessage;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/guest/SentGuestMessage;
public fun equals (Ljava/lang/Object;)Z
public final fun getInlineMessageId-u1p_GH0 ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
public final synthetic class dev/inmo/tgbotapi/types/guest/SentGuestMessage$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/guest/SentGuestMessage$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/guest/SentGuestMessage;
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/guest/SentGuestMessage;)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/guest/SentGuestMessage$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public final class dev/inmo/tgbotapi/types/location/LiveLocation : dev/inmo/tgbotapi/abstracts/Headed, dev/inmo/tgbotapi/abstracts/Livable, dev/inmo/tgbotapi/abstracts/ProximityAlertable, dev/inmo/tgbotapi/types/location/Location {
public static final field Companion Ldev/inmo/tgbotapi/types/location/LiveLocation$Companion;
public static final field INDEFINITE_LIVE_PERIOD I
@@ -26561,6 +26659,57 @@ public final class dev/inmo/tgbotapi/types/message/FromChannelSuggestedChannelDi
public fun toString ()Ljava/lang/String;
}
public final class dev/inmo/tgbotapi/types/message/GuestContentMessageImpl : dev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage {
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/chat/PreviewChat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/content/MessageContent;DLkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/MessageOrigin;Ldev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/chat/PreviewChat;ZLjava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/chat/PreviewChat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/content/MessageContent;DLkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/MessageOrigin;Ldev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/chat/PreviewChat;ZLjava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-APLFQys ()J
public final fun component10 ()Ldev/inmo/tgbotapi/types/ReplyInfo;
public final fun component11 ()Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
public final fun component12 ()Ldev/inmo/tgbotapi/types/chat/CommonBot;
public final fun component13-CsYhHCU ()Ljava/lang/String;
public final fun component14 ()Ldev/inmo/tgbotapi/types/chat/User;
public final fun component15 ()Ldev/inmo/tgbotapi/types/chat/PreviewChat;
public final fun component16 ()Z
public final fun component17 ()Ljava/lang/Integer;
public final fun component2 ()Ldev/inmo/tgbotapi/types/chat/User;
public final fun component3 ()Ldev/inmo/tgbotapi/types/chat/PreviewChat;
public final fun component4-87nd9ik ()Ljava/lang/String;
public final fun component5 ()Ldev/inmo/tgbotapi/types/message/content/MessageContent;
public final fun component6-Wg0KzQs ()D
public final fun component7-Ivn3T5g ()Lkorlibs/time/DateTime;
public final fun component8 ()Z
public final fun component9 ()Ldev/inmo/tgbotapi/types/message/MessageOrigin;
public final fun copy-sw4s1ag (JLdev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/chat/PreviewChat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/content/MessageContent;DLkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/MessageOrigin;Ldev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/chat/PreviewChat;ZLjava/lang/Integer;)Ldev/inmo/tgbotapi/types/message/GuestContentMessageImpl;
public static synthetic fun copy-sw4s1ag$default (Ldev/inmo/tgbotapi/types/message/GuestContentMessageImpl;JLdev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/chat/PreviewChat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/content/MessageContent;DLkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/MessageOrigin;Ldev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/chat/PreviewChat;ZLjava/lang/Integer;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/GuestContentMessageImpl;
public fun equals (Ljava/lang/Object;)Z
public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String;
public fun getChat ()Ldev/inmo/tgbotapi/types/chat/PreviewChat;
public fun getContent ()Ldev/inmo/tgbotapi/types/message/content/MessageContent;
public fun getCost ()Ljava/lang/Integer;
public fun getDate-Wg0KzQs ()D
public fun getEditDate-Ivn3T5g ()Lkorlibs/time/DateTime;
public fun getForwardInfo ()Ldev/inmo/tgbotapi/types/message/ForwardInfo;
public fun getForwardOrigin ()Ldev/inmo/tgbotapi/types/message/MessageOrigin;
public fun getForwardable ()Z
public fun getFrom ()Ldev/inmo/tgbotapi/types/chat/User;
public fun getFromOffline ()Z
public fun getGuestBotCallerChat ()Ldev/inmo/tgbotapi/types/chat/PreviewChat;
public fun getGuestBotCallerUser ()Ldev/inmo/tgbotapi/types/chat/User;
public fun getGuestQueryId-87nd9ik ()Ljava/lang/String;
public synthetic fun getGuestQueryId-BCLlPIY ()Ljava/lang/String;
public fun getHasProtectedContent ()Z
public fun getMediaGroupId-CsYhHCU ()Ljava/lang/String;
public fun getMessageId-APLFQys ()J
public fun getMetaInfo-fV8YnZ8 ()Lkotlin/Triple;
public fun getReplyInfo ()Ldev/inmo/tgbotapi/types/ReplyInfo;
public fun getReplyMarkup ()Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;
public fun getReplyTo ()Ldev/inmo/tgbotapi/types/message/abstracts/Message;
public fun getSenderBot ()Ldev/inmo/tgbotapi/types/chat/CommonBot;
public fun getUser ()Ldev/inmo/tgbotapi/types/chat/User;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
public final class dev/inmo/tgbotapi/types/message/HTMLParseMode : dev/inmo/tgbotapi/types/message/ParseMode {
public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/HTMLParseMode;
public fun getParseModeName ()Ljava/lang/String;
@@ -26789,7 +26938,7 @@ public final class dev/inmo/tgbotapi/types/message/ParseModeSerializer : kotlinx
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
}
public final class dev/inmo/tgbotapi/types/message/PassportMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage, dev/inmo/tgbotapi/types/message/abstracts/FromUserMessage {
public final class dev/inmo/tgbotapi/types/message/PassportMessage : dev/inmo/tgbotapi/types/message/abstracts/ChatMessage, dev/inmo/tgbotapi/types/message/abstracts/FromUserMessage {
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/chat/PreviewChat;Ldev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/passport/PassportData;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-APLFQys ()J
public final fun component2 ()Ldev/inmo/tgbotapi/types/chat/PreviewChat;
@@ -27199,7 +27348,18 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/ChannelPaidPost$Def
public static fun isPaidPost (Ldev/inmo/tgbotapi/types/message/abstracts/ChannelPaidPost;)Z
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/ChatEventMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage : dev/inmo/tgbotapi/types/message/abstracts/ChatMessage, dev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage {
}
public final class dev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage$DefaultImpls {
public static fun getBusinessConnectionId-nXr5wdE (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;)Ljava/lang/String;
public static fun getForwardInfo (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;)Ldev/inmo/tgbotapi/types/message/ForwardInfo;
public static fun getForwardable (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;)Z
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;)Lkotlin/Triple;
public static fun getReplyTo (Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;)Ldev/inmo/tgbotapi/types/message/abstracts/Message;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/ChatEventMessage : dev/inmo/tgbotapi/types/message/abstracts/ChatMessage {
public abstract fun getChatEvent ()Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;
}
@@ -27208,6 +27368,14 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/ChatEventMessage$De
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/ChatEventMessage;)Lkotlin/Triple;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/ChatMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
}
public final class dev/inmo/tgbotapi/types/message/abstracts/ChatMessage$DefaultImpls {
public static fun getBusinessConnectionId-nXr5wdE (Ldev/inmo/tgbotapi/types/message/abstracts/ChatMessage;)Ljava/lang/String;
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/ChatMessage;)Lkotlin/Triple;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/CommonChannelDirectMessagesContentMessage : dev/inmo/tgbotapi/types/message/abstracts/ChannelDirectMessagesContentMessage, dev/inmo/tgbotapi/types/message/abstracts/FromUserMessage, dev/inmo/tgbotapi/types/message/abstracts/PotentiallyFromUserGroupContentMessage {
}
@@ -27221,6 +27389,17 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/CommonChannelDirect
public static fun getUser (Ldev/inmo/tgbotapi/types/message/abstracts/CommonChannelDirectMessagesContentMessage;)Ldev/inmo/tgbotapi/types/chat/User;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage, dev/inmo/tgbotapi/types/message/abstracts/ContentMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyBusinessMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyEditedMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyForwardedMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyMarkedUp, dev/inmo/tgbotapi/types/message/abstracts/PossiblyMediaGroupMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyOfflineMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyPaidMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyReplyMessage {
}
public final class dev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage$DefaultImpls {
public static fun getBusinessConnectionId-nXr5wdE (Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;)Ljava/lang/String;
public static fun getForwardInfo (Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;)Ldev/inmo/tgbotapi/types/message/ForwardInfo;
public static fun getForwardable (Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;)Z
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;)Lkotlin/Triple;
public static fun getReplyTo (Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;)Ldev/inmo/tgbotapi/types/message/abstracts/Message;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/CommonForumContentMessage : dev/inmo/tgbotapi/types/message/abstracts/ForumContentMessage, dev/inmo/tgbotapi/types/message/abstracts/FromUserMessage, dev/inmo/tgbotapi/types/message/abstracts/PotentiallyFromUserGroupContentMessage {
}
@@ -27246,17 +27425,6 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/CommonGroupContentM
public static fun getUser (Ldev/inmo/tgbotapi/types/message/abstracts/CommonGroupContentMessage;)Ldev/inmo/tgbotapi/types/chat/User;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/CommonMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage, dev/inmo/tgbotapi/types/message/abstracts/ContentMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyBusinessMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyEditedMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyForwardedMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyMarkedUp, dev/inmo/tgbotapi/types/message/abstracts/PossiblyMediaGroupMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyOfflineMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyPaidMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblyReplyMessage {
}
public final class dev/inmo/tgbotapi/types/message/abstracts/CommonMessage$DefaultImpls {
public static fun getBusinessConnectionId-nXr5wdE (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;)Ljava/lang/String;
public static fun getForwardInfo (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;)Ldev/inmo/tgbotapi/types/message/ForwardInfo;
public static fun getForwardable (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;)Z
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;)Lkotlin/Triple;
public static fun getReplyTo (Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;)Ldev/inmo/tgbotapi/types/message/abstracts/Message;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/CommonSuggestedChannelDirectMessagesContentMessage : dev/inmo/tgbotapi/types/message/abstracts/FromUserMessage, dev/inmo/tgbotapi/types/message/abstracts/PotentiallyFromUserGroupContentMessage, dev/inmo/tgbotapi/types/message/abstracts/SuggestedChannelDirectMessagesContentMessage {
}
@@ -27394,6 +27562,25 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/GroupEventMessage$D
public static fun getUser (Ldev/inmo/tgbotapi/types/message/abstracts/GroupEventMessage;)Ldev/inmo/tgbotapi/types/chat/User;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage : dev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage, dev/inmo/tgbotapi/types/message/abstracts/FromUserMessage, dev/inmo/tgbotapi/types/message/abstracts/GuestMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBot, dev/inmo/tgbotapi/types/message/abstracts/SpecialMessage {
public abstract fun getGuestQueryId-87nd9ik ()Ljava/lang/String;
}
public final class dev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage$DefaultImpls {
public static fun getBusinessConnectionId-nXr5wdE (Ldev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;)Ljava/lang/String;
public static fun getForwardInfo (Ldev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;)Ldev/inmo/tgbotapi/types/message/ForwardInfo;
public static fun getForwardable (Ldev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;)Z
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;)Lkotlin/Triple;
public static fun getReplyTo (Ldev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;)Ldev/inmo/tgbotapi/types/message/abstracts/Message;
public static fun getUser (Ldev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;)Ldev/inmo/tgbotapi/types/chat/User;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/GuestMessage : dev/inmo/tgbotapi/abstracts/types/WithOptionalGuestQueryId {
public abstract fun getGuestBotCallerChat ()Ldev/inmo/tgbotapi/types/chat/PreviewChat;
public abstract fun getGuestBotCallerUser ()Ldev/inmo/tgbotapi/types/chat/User;
public abstract fun getGuestQueryId-87nd9ik ()Ljava/lang/String;
}
public final class dev/inmo/tgbotapi/types/message/abstracts/InaccessibleMessage : dev/inmo/tgbotapi/types/message/abstracts/Message {
public static final field Companion Ldev/inmo/tgbotapi/types/message/abstracts/InaccessibleMessage$Companion;
public synthetic fun <init> (Ldev/inmo/tgbotapi/types/chat/PreviewChat;JLkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -27476,7 +27663,7 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/Message$MetaInfo$Co
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/OptionallyFromUserMessage : dev/inmo/tgbotapi/abstracts/OptionallyFromUser, dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/OptionallyFromUserMessage : dev/inmo/tgbotapi/abstracts/OptionallyFromUser, dev/inmo/tgbotapi/types/message/abstracts/Message {
}
public final class dev/inmo/tgbotapi/types/message/abstracts/OptionallyFromUserMessage$DefaultImpls {
@@ -27493,7 +27680,7 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/PossiblyBusinessMes
public static fun getBusinessConnectionId-nXr5wdE (Ldev/inmo/tgbotapi/types/message/abstracts/PossiblyBusinessMessage;)Ljava/lang/String;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblyEditedMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblyEditedMessage : dev/inmo/tgbotapi/types/message/abstracts/Message {
public abstract fun getEditDate-Ivn3T5g ()Lkorlibs/time/DateTime;
}
@@ -27502,7 +27689,7 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/PossiblyEditedMessa
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/PossiblyEditedMessage;)Lkotlin/Triple;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblyForwardedMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblyForwardedMessage : dev/inmo/tgbotapi/types/message/abstracts/Message {
public fun getForwardInfo ()Ldev/inmo/tgbotapi/types/message/ForwardInfo;
public abstract fun getForwardOrigin ()Ldev/inmo/tgbotapi/types/message/MessageOrigin;
}
@@ -27545,7 +27732,7 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/PossiblyPaidMessage
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/PossiblyPaidMessage;)Lkotlin/Triple;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblyPaymentMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblyPaymentMessage : dev/inmo/tgbotapi/types/message/abstracts/ChatMessage {
public abstract fun getPaymentInfo ()Ldev/inmo/tgbotapi/types/message/payments/abstracts/PaymentInfo;
}
@@ -27567,7 +27754,7 @@ public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/Possib
public abstract fun getSenderBot ()Ldev/inmo/tgbotapi/types/chat/CommonBot;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage : dev/inmo/tgbotapi/types/message/abstracts/CommonMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBot {
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage : dev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage, dev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBot {
}
public final class dev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage$DefaultImpls {
@@ -27578,7 +27765,7 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotC
public static fun getReplyTo (Ldev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage;)Ldev/inmo/tgbotapi/types/message/abstracts/Message;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblyTopicMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PossiblyTopicMessage : dev/inmo/tgbotapi/types/message/abstracts/ChatMessage {
public abstract fun getThreadCreatingInfo ()Ldev/inmo/tgbotapi/types/message/ChatEvents/forum/ForumTopicCreated;
public abstract fun getThreadId-S3HF-10 ()Ldev/inmo/tgbotapi/types/MessageThreadId;
}
@@ -27647,7 +27834,7 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/PublicContentMessag
public static fun getReplyTo (Ldev/inmo/tgbotapi/types/message/abstracts/PublicContentMessage;)Ldev/inmo/tgbotapi/types/message/abstracts/Message;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/SignedMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/SignedMessage : dev/inmo/tgbotapi/types/message/abstracts/ChatMessage {
public abstract fun getAuthorSignature ()Ljava/lang/String;
}
@@ -27656,6 +27843,14 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/SignedMessage$Defau
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/SignedMessage;)Lkotlin/Triple;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/SpecialMessage : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
}
public final class dev/inmo/tgbotapi/types/message/abstracts/SpecialMessage$DefaultImpls {
public static fun getBusinessConnectionId-nXr5wdE (Ldev/inmo/tgbotapi/types/message/abstracts/SpecialMessage;)Ljava/lang/String;
public static fun getMetaInfo-fV8YnZ8 (Ldev/inmo/tgbotapi/types/message/abstracts/SpecialMessage;)Lkotlin/Triple;
}
public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/SuggestedChannelDirectMessagesContentMessage : dev/inmo/tgbotapi/types/message/abstracts/ChannelDirectMessagesContentMessage {
public abstract fun getSuggestedPostInfo ()Ldev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;
}
@@ -27691,7 +27886,7 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/UnconnectedFromChan
public static fun getSenderChat (Ldev/inmo/tgbotapi/types/message/abstracts/UnconnectedFromChannelGroupContentMessage;)Ldev/inmo/tgbotapi/types/chat/PreviewChannelChat;
}
public final class dev/inmo/tgbotapi/types/message/abstracts/UnknownMessageType : dev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage {
public final class dev/inmo/tgbotapi/types/message/abstracts/UnknownMessageType : dev/inmo/tgbotapi/types/message/abstracts/ChatMessage {
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/chat/PreviewChat;DLjava/lang/Exception;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-APLFQys ()J
public final fun component2 ()Ldev/inmo/tgbotapi/types/chat/PreviewChat;
@@ -28200,16 +28395,16 @@ public final class dev/inmo/tgbotapi/types/message/content/MediaGroupCollectionC
public final class dev/inmo/tgbotapi/types/message/content/MediaGroupCollectionContent$PartWrapper {
public static final field Companion Ldev/inmo/tgbotapi/types/message/content/MediaGroupCollectionContent$PartWrapper$Companion;
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/content/MediaGroupPartContent;Ldev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/content/MediaGroupPartContent;Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-APLFQys ()J
public final fun component2 ()Ldev/inmo/tgbotapi/types/message/content/MediaGroupPartContent;
public final fun component3 ()Ldev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage;
public final fun copy-mydxz3Q (JLdev/inmo/tgbotapi/types/message/content/MediaGroupPartContent;Ldev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage;)Ldev/inmo/tgbotapi/types/message/content/MediaGroupCollectionContent$PartWrapper;
public static synthetic fun copy-mydxz3Q$default (Ldev/inmo/tgbotapi/types/message/content/MediaGroupCollectionContent$PartWrapper;JLdev/inmo/tgbotapi/types/message/content/MediaGroupPartContent;Ldev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/content/MediaGroupCollectionContent$PartWrapper;
public final fun component3 ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;
public final fun copy-mydxz3Q (JLdev/inmo/tgbotapi/types/message/content/MediaGroupPartContent;Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;)Ldev/inmo/tgbotapi/types/message/content/MediaGroupCollectionContent$PartWrapper;
public static synthetic fun copy-mydxz3Q$default (Ldev/inmo/tgbotapi/types/message/content/MediaGroupCollectionContent$PartWrapper;JLdev/inmo/tgbotapi/types/message/content/MediaGroupPartContent;Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/content/MediaGroupCollectionContent$PartWrapper;
public fun equals (Ljava/lang/Object;)Z
public final fun getContent ()Ldev/inmo/tgbotapi/types/message/content/MediaGroupPartContent;
public final fun getMessageId-APLFQys ()J
public final fun getSourceMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage;
public final fun getSourceMessage ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
@@ -34413,8 +34608,8 @@ public final class dev/inmo/tgbotapi/types/update/BusinessMessageUpdate : dev/in
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-4k5XoGU ()J
public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;
public fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/ContentMessage;)Ldev/inmo/tgbotapi/types/update/BusinessMessageUpdate;
public synthetic fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/ContentMessage;)Ldev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate;
public fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/BusinessMessageUpdate;
public synthetic fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate;
public final fun copy-VElHuNg (JLdev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;)Ldev/inmo/tgbotapi/types/update/BusinessMessageUpdate;
public static synthetic fun copy-VElHuNg$default (Ldev/inmo/tgbotapi/types/update/BusinessMessageUpdate;JLdev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/update/BusinessMessageUpdate;
public fun equals (Ljava/lang/Object;)Z
@@ -34444,7 +34639,7 @@ public final class dev/inmo/tgbotapi/types/update/ChannelPostUpdate : dev/inmo/t
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-4k5XoGU ()J
public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;
public fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/ContentMessage;)Ldev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate;
public fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate;
public final fun copy-VElHuNg (JLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/ChannelPostUpdate;
public static synthetic fun copy-VElHuNg$default (Ldev/inmo/tgbotapi/types/update/ChannelPostUpdate;JLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/update/ChannelPostUpdate;
public fun equals (Ljava/lang/Object;)Z
@@ -34640,7 +34835,7 @@ public final class dev/inmo/tgbotapi/types/update/EditBusinessMessageUpdate : de
public fun equals (Ljava/lang/Object;)Z
public synthetic fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;
public fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;
public synthetic fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public synthetic fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
public synthetic fun getData ()Ljava/lang/Object;
public fun getUpdateId-4k5XoGU ()J
public fun hashCode ()I
@@ -34648,14 +34843,14 @@ public final class dev/inmo/tgbotapi/types/update/EditBusinessMessageUpdate : de
}
public final class dev/inmo/tgbotapi/types/update/EditChannelPostUpdate : dev/inmo/tgbotapi/types/update/abstracts/BaseEditMessageUpdate {
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/abstracts/CommonMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-4k5XoGU ()J
public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public final fun copy-VElHuNg (JLdev/inmo/tgbotapi/types/message/abstracts/CommonMessage;)Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;
public static synthetic fun copy-VElHuNg$default (Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;JLdev/inmo/tgbotapi/types/message/abstracts/CommonMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;
public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
public final fun copy-VElHuNg (JLdev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;)Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;
public static synthetic fun copy-VElHuNg$default (Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;JLdev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;
public fun equals (Ljava/lang/Object;)Z
public synthetic fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;
public fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
public synthetic fun getData ()Ljava/lang/Object;
public fun getUpdateId-4k5XoGU ()J
public fun hashCode ()I
@@ -34663,14 +34858,31 @@ public final class dev/inmo/tgbotapi/types/update/EditChannelPostUpdate : dev/in
}
public final class dev/inmo/tgbotapi/types/update/EditMessageUpdate : dev/inmo/tgbotapi/types/update/abstracts/BaseEditMessageUpdate {
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/abstracts/CommonMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-4k5XoGU ()J
public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public final fun copy-VElHuNg (JLdev/inmo/tgbotapi/types/message/abstracts/CommonMessage;)Ldev/inmo/tgbotapi/types/update/EditMessageUpdate;
public static synthetic fun copy-VElHuNg$default (Ldev/inmo/tgbotapi/types/update/EditMessageUpdate;JLdev/inmo/tgbotapi/types/message/abstracts/CommonMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/update/EditMessageUpdate;
public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
public final fun copy-VElHuNg (JLdev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;)Ldev/inmo/tgbotapi/types/update/EditMessageUpdate;
public static synthetic fun copy-VElHuNg$default (Ldev/inmo/tgbotapi/types/update/EditMessageUpdate;JLdev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/update/EditMessageUpdate;
public fun equals (Ljava/lang/Object;)Z
public synthetic fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;
public fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
public synthetic fun getData ()Ljava/lang/Object;
public fun getUpdateId-4k5XoGU ()J
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
public final class dev/inmo/tgbotapi/types/update/GuestMessageUpdate : dev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate {
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-4k5XoGU ()J
public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;
public fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/GuestMessageUpdate;
public synthetic fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate;
public final fun copy-VElHuNg (JLdev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;)Ldev/inmo/tgbotapi/types/update/GuestMessageUpdate;
public static synthetic fun copy-VElHuNg$default (Ldev/inmo/tgbotapi/types/update/GuestMessageUpdate;JLdev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/update/GuestMessageUpdate;
public fun equals (Ljava/lang/Object;)Z
public synthetic fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;
public fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/GuestContentMessage;
public synthetic fun getData ()Ljava/lang/Object;
public fun getUpdateId-4k5XoGU ()J
public fun hashCode ()I
@@ -34725,8 +34937,8 @@ public final class dev/inmo/tgbotapi/types/update/MessageUpdate : dev/inmo/tgbot
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1-4k5XoGU ()J
public final fun component2 ()Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;
public fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/ContentMessage;)Ldev/inmo/tgbotapi/types/update/MessageUpdate;
public synthetic fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/ContentMessage;)Ldev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate;
public fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/MessageUpdate;
public synthetic fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate;
public final fun copy-VElHuNg (JLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/MessageUpdate;
public static synthetic fun copy-VElHuNg$default (Ldev/inmo/tgbotapi/types/update/MessageUpdate;JLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/update/MessageUpdate;
public fun equals (Ljava/lang/Object;)Z
@@ -34838,7 +35050,7 @@ public final class dev/inmo/tgbotapi/types/update/ShippingQueryUpdate : dev/inmo
}
public abstract interface class dev/inmo/tgbotapi/types/update/abstracts/BaseEditMessageUpdate : dev/inmo/tgbotapi/types/update/abstracts/BaseMessageUpdate {
public abstract fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/CommonMessage;
public abstract fun getData ()Ldev/inmo/tgbotapi/types/message/abstracts/ChatContentMessage;
}
public abstract interface class dev/inmo/tgbotapi/types/update/abstracts/BaseMessageUpdate : dev/inmo/tgbotapi/types/update/abstracts/Update {
@@ -34846,7 +35058,7 @@ public abstract interface class dev/inmo/tgbotapi/types/update/abstracts/BaseMes
}
public abstract interface class dev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate : dev/inmo/tgbotapi/types/update/abstracts/BaseMessageUpdate {
public abstract fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/ContentMessage;)Ldev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate;
public abstract fun copy (Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;)Ldev/inmo/tgbotapi/types/update/abstracts/BaseSentMessageUpdate;
}
public abstract interface class dev/inmo/tgbotapi/types/update/abstracts/ChatMemberUpdatedUpdate : dev/inmo/tgbotapi/types/update/abstracts/Update {
@@ -35007,6 +35219,7 @@ public abstract class dev/inmo/tgbotapi/updateshandlers/AbstractFlowsUpdatesFilt
public fun getEditedChannelPostsFlow ()Lkotlinx/coroutines/flow/Flow;
public fun getEditedMessageMediaGroupsFlow ()Lkotlinx/coroutines/flow/Flow;
public fun getEditedMessagesFlow ()Lkotlinx/coroutines/flow/Flow;
public fun getGuestMessageUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
public fun getInlineQueriesFlow ()Lkotlinx/coroutines/flow/Flow;
public fun getManagedBotUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
public fun getMessageMediaGroupsFlow ()Lkotlinx/coroutines/flow/Flow;
@@ -35049,6 +35262,7 @@ public abstract interface class dev/inmo/tgbotapi/updateshandlers/FlowsUpdatesFi
public abstract fun getEditedChannelPostsFlow ()Lkotlinx/coroutines/flow/Flow;
public fun getEditedMessageMediaGroupsFlow ()Lkotlinx/coroutines/flow/Flow;
public abstract fun getEditedMessagesFlow ()Lkotlinx/coroutines/flow/Flow;
public abstract fun getGuestMessageUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
public abstract fun getInlineQueriesFlow ()Lkotlinx/coroutines/flow/Flow;
public abstract fun getManagedBotUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
public fun getMessageMediaGroupsFlow ()Lkotlinx/coroutines/flow/Flow;
@@ -35571,7 +35785,7 @@ public final class dev/inmo/tgbotapi/utils/extensions/AsReferenceKt {
}
public final class dev/inmo/tgbotapi/utils/extensions/MediaGroupContentMessageCreatorKt {
public static final fun asMediaGroupMessage (Ljava/util/List;)Ldev/inmo/tgbotapi/types/message/abstracts/PossiblySentViaBotCommonMessage;
public static final fun asMediaGroupMessage (Ljava/util/List;)Ldev/inmo/tgbotapi/types/message/abstracts/CommonContentMessage;
}
public final class dev/inmo/tgbotapi/utils/extensions/OptionalDirectMessageThreadIdKt {

View File

@@ -0,0 +1,7 @@
package dev.inmo.tgbotapi.abstracts.types
import dev.inmo.tgbotapi.types.GuestQueryId
interface WithOptionalGuestQueryId {
val guestQueryId: GuestQueryId?
}

View File

@@ -0,0 +1,26 @@
package dev.inmo.tgbotapi.requests.answers
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.GuestQueryId
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.InlineQueryResult
import dev.inmo.tgbotapi.types.guest.SentGuestMessage
import dev.inmo.tgbotapi.types.guestQueryIdField
import dev.inmo.tgbotapi.types.resultField
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.SerializationStrategy
import kotlinx.serialization.Serializable
@Serializable
data class AnswerGuestQuery(
@SerialName(guestQueryIdField)
val guestQueryId: GuestQueryId,
@SerialName(resultField)
val result: InlineQueryResult
) : SimpleRequest<SentGuestMessage> {
override fun method(): String = "answerGuestQuery"
override val resultDeserializer: DeserializationStrategy<SentGuestMessage>
get() = SentGuestMessage.serializer()
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -14,13 +14,14 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.checklists.Checklist
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.ChecklistContent
import dev.inmo.tgbotapi.types.message.content.GameContent
import kotlinx.serialization.*
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<ChecklistContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<ChecklistContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@Serializable
@@ -41,7 +42,7 @@ data class SendChecklist (
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : SendChatMessageRequest<ContentMessage<ChecklistContent>>,
) : SendChatMessageRequest<ChatContentMessage<ChecklistContent>>,
WithReplyParameters,
DisableNotification,
ProtectContent,
@@ -68,7 +69,7 @@ data class SendChecklist (
)
override fun method(): String = "sendChecklist"
override val resultDeserializer: DeserializationStrategy<ContentMessage<ChecklistContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<ChecklistContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -7,12 +7,13 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.ContactContent
import kotlinx.serialization.*
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<ContactContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<ContactContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@Serializable
@@ -49,8 +50,8 @@ data class SendContact(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : SendContentMessageRequest<ContentMessage<ContactContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<ContactContent>>
) : SendContentMessageRequest<ChatContentMessage<ContactContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<ContactContent>>
{
constructor(
chatId: ChatIdentifier,
@@ -83,7 +84,7 @@ data class SendContact(
)
override fun method(): String = "sendContact"
override val resultDeserializer: DeserializationStrategy<ContentMessage<ContactContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<ContactContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -10,12 +10,13 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.dice.DiceAnimationType
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.DiceContent
import kotlinx.serialization.*
internal val DiceContentMessageResultDeserializer: DeserializationStrategy<ContentMessage<DiceContent>>
internal val DiceContentMessageResultDeserializer: DeserializationStrategy<ChatContentMessage<DiceContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@Serializable
@@ -48,13 +49,13 @@ data class SendDice(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : SendContentMessageRequest<ContentMessage<DiceContent>>, ReplyingMarkupSendMessageRequest<ContentMessage<DiceContent>>, WithReplyParameters, DisableNotification,
) : SendContentMessageRequest<ChatContentMessage<DiceContent>>, ReplyingMarkupSendMessageRequest<ChatContentMessage<DiceContent>>, WithReplyParameters, DisableNotification,
OptionallyBusinessConnectionRequest {
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override fun method(): String = "sendDice"
override val resultDeserializer: DeserializationStrategy<ContentMessage<DiceContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<DiceContent>>
get() = DiceContentMessageResultDeserializer
}

View File

@@ -7,6 +7,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.location.LiveLocation
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.*
@@ -17,13 +18,13 @@ import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<LocationContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<LocationContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
private val liveResultDeserializer: DeserializationStrategy<ContentMessage<LiveLocationContent>>
private val liveResultDeserializer: DeserializationStrategy<ChatContentMessage<LiveLocationContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
private val staticResultDeserializer: DeserializationStrategy<ContentMessage<StaticLocationContent>>
private val staticResultDeserializer: DeserializationStrategy<ChatContentMessage<StaticLocationContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
fun SendLocation(
@@ -125,9 +126,9 @@ fun SendLiveLocation(
)
@Serializable(SendLocation.Companion::class)
sealed interface SendLocation<T : LocationContent> : SendContentMessageRequest<ContentMessage<T>>,
ReplyingMarkupSendMessageRequest<ContentMessage<T>>,
PositionedSendMessageRequest<ContentMessage<T>>,
sealed interface SendLocation<T : LocationContent> : SendContentMessageRequest<ChatContentMessage<T>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<T>>,
PositionedSendMessageRequest<ChatContentMessage<T>>,
HorizontallyAccured,
Livable,
ProximityAlertable,
@@ -179,7 +180,7 @@ sealed interface SendLocation<T : LocationContent> : SendContentMessageRequest<C
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : SendLocation<LiveLocationContent> {
override val resultDeserializer: DeserializationStrategy<ContentMessage<LiveLocationContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<LiveLocationContent>>
get() = liveResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
@@ -237,7 +238,7 @@ sealed interface SendLocation<T : LocationContent> : SendContentMessageRequest<C
get() = null
override val proximityAlertRadius: Meters?
get() = null
override val resultDeserializer: DeserializationStrategy<ContentMessage<StaticLocationContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<StaticLocationContent>>
get() = staticResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -10,6 +10,7 @@ import dev.inmo.tgbotapi.types.message.parseModeField
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.TextContent
@@ -18,7 +19,7 @@ import dev.inmo.tgbotapi.utils.extensions.makeString
import dev.inmo.tgbotapi.utils.throwRangeError
import kotlinx.serialization.*
internal val TextContentMessageResultDeserializer: DeserializationStrategy<ContentMessage<TextContent>>
internal val TextContentMessageResultDeserializer: DeserializationStrategy<ChatContentMessage<TextContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
fun SendTextMessage(
@@ -123,9 +124,9 @@ data class SendTextMessage internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : SendContentMessageRequest<ContentMessage<TextContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<TextContent>>,
TextableSendMessageRequest<ContentMessage<TextContent>>,
) : SendContentMessageRequest<ChatContentMessage<TextContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<TextContent>>,
TextableSendMessageRequest<ChatContentMessage<TextContent>>,
LinkPreviewOptionsContainer
{
override val textSources: TextSourcesList? by lazy {
@@ -139,7 +140,7 @@ data class SendTextMessage internal constructor(
}
override fun method(): String = "sendMessage"
override val resultDeserializer: DeserializationStrategy<ContentMessage<TextContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<TextContent>>
get() = TextContentMessageResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -5,13 +5,14 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.VenueContent
import dev.inmo.tgbotapi.types.venue.Venue
import kotlinx.serialization.*
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<VenueContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<VenueContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@Serializable
@@ -58,10 +59,10 @@ data class SendVenue(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : SendContentMessageRequest<ContentMessage<VenueContent>>,
PositionedSendMessageRequest<ContentMessage<VenueContent>>,
TitledSendMessageRequest<ContentMessage<VenueContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<VenueContent>>
) : SendContentMessageRequest<ChatContentMessage<VenueContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<VenueContent>>,
TitledSendMessageRequest<ChatContentMessage<VenueContent>>,
PositionedSendMessageRequest<ChatContentMessage<VenueContent>>
{
constructor(
chatId: ChatIdentifier,
@@ -99,7 +100,7 @@ data class SendVenue(
)
override fun method(): String = "sendVenue"
override val resultDeserializer: DeserializationStrategy<ContentMessage<VenueContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<VenueContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -7,12 +7,13 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.GameContent
import kotlinx.serialization.*
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<GameContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<GameContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@Serializable
@@ -45,10 +46,10 @@ data class SendGame (
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : SendContentMessageRequest<ContentMessage<GameContent>>,
) : SendContentMessageRequest<ChatContentMessage<GameContent>>,
WithReplyMarkup {
override fun method(): String = "sendGame"
override val resultDeserializer: DeserializationStrategy<ContentMessage<GameContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<GameContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -14,6 +14,7 @@ import dev.inmo.tgbotapi.types.message.parseModeField
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.AnimationContent
@@ -44,7 +45,7 @@ fun SendAnimation(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<AnimationContent>> {
): Request<ChatContentMessage<AnimationContent>> {
val animationAsFile = animation as? MultipartFile
val thumbAsFile = thumbnail as? MultipartFile
@@ -102,7 +103,7 @@ fun SendAnimation(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<AnimationContent>> {
): Request<ChatContentMessage<AnimationContent>> {
val animationAsFile = animation as? MultipartFile
val thumbAsFile = thumbnail as? MultipartFile
@@ -140,7 +141,7 @@ fun SendAnimation(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<AnimationContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<AnimationContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@ConsistentCopyVisibility
@@ -192,14 +193,14 @@ data class SendAnimationData internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : DataRequest<ContentMessage<AnimationContent>>,
SendContentMessageRequest<ContentMessage<AnimationContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<AnimationContent>>,
TextableSendMessageRequest<ContentMessage<AnimationContent>>,
ThumbedSendMessageRequest<ContentMessage<AnimationContent>>,
DuratedSendMessageRequest<ContentMessage<AnimationContent>>,
SizedSendMessageRequest<ContentMessage<AnimationContent>>,
WithCustomizableCaptionRequest<ContentMessage<AnimationContent>>,
) : DataRequest<ChatContentMessage<AnimationContent>>,
SendContentMessageRequest<ChatContentMessage<AnimationContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<AnimationContent>>,
TextableSendMessageRequest<ChatContentMessage<AnimationContent>>,
ThumbedSendMessageRequest<ChatContentMessage<AnimationContent>>,
DuratedSendMessageRequest<ChatContentMessage<AnimationContent>>,
SizedSendMessageRequest<ChatContentMessage<AnimationContent>>,
WithCustomizableCaptionRequest<ChatContentMessage<AnimationContent>>,
OptionallyWithSpoilerRequest
{
override val textSources: TextSourcesList? by lazy {
@@ -215,7 +216,7 @@ data class SendAnimationData internal constructor(
}
override fun method(): String = "sendAnimation"
override val resultDeserializer: DeserializationStrategy<ContentMessage<AnimationContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<AnimationContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -15,6 +15,7 @@ import dev.inmo.tgbotapi.types.message.parseModeField
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.AudioContent
@@ -43,7 +44,7 @@ fun SendAudio(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<AudioContent>> {
): Request<ChatContentMessage<AudioContent>> {
val audioAsFile = audio as? MultipartFile
val thumbAsFile = thumbnail as? MultipartFile
@@ -97,7 +98,7 @@ fun SendAudio(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<AudioContent>> {
): Request<ChatContentMessage<AudioContent>> {
val audioAsFile = audio as? MultipartFile
val thumbAsFile = thumbnail as? MultipartFile
@@ -133,7 +134,7 @@ fun SendAudio(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<AudioContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<AudioContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@ConsistentCopyVisibility
@@ -181,13 +182,13 @@ data class SendAudioData internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : DataRequest<ContentMessage<AudioContent>>,
SendContentMessageRequest<ContentMessage<AudioContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<AudioContent>>,
TextableSendMessageRequest<ContentMessage<AudioContent>>,
ThumbedSendMessageRequest<ContentMessage<AudioContent>>,
TitledSendMessageRequest<ContentMessage<AudioContent>>,
DuratedSendMessageRequest<ContentMessage<AudioContent>>,
) : DataRequest<ChatContentMessage<AudioContent>>,
SendContentMessageRequest<ChatContentMessage<AudioContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<AudioContent>>,
TextableSendMessageRequest<ChatContentMessage<AudioContent>>,
ThumbedSendMessageRequest<ChatContentMessage<AudioContent>>,
TitledSendMessageRequest<ChatContentMessage<AudioContent>>,
DuratedSendMessageRequest<ChatContentMessage<AudioContent>>,
Performerable
{
override val textSources: List<TextSource>? by lazy {
@@ -203,7 +204,7 @@ data class SendAudioData internal constructor(
}
override fun method(): String = "sendAudio"
override val resultDeserializer: DeserializationStrategy<ContentMessage<AudioContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<AudioContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -14,6 +14,7 @@ import dev.inmo.tgbotapi.types.message.parseModeField
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.DocumentContent
@@ -49,7 +50,7 @@ fun SendDocument(
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null,
disableContentTypeDetection: Boolean? = null
): Request<ContentMessage<DocumentContent>> {
): Request<ChatContentMessage<DocumentContent>> {
val documentAsFile = document as? MultipartFile
val thumbAsFile = thumbnail as? MultipartFile
@@ -108,7 +109,7 @@ fun SendDocument(
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null,
disableContentTypeDetection: Boolean? = null
): Request<ContentMessage<DocumentContent>> {
): Request<ChatContentMessage<DocumentContent>> {
val documentAsFile = document as? MultipartFile
val thumbAsFile = thumbnail as? MultipartFile
@@ -142,7 +143,7 @@ fun SendDocument(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<DocumentContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<DocumentContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
/**
@@ -195,11 +196,11 @@ data class SendDocumentData internal constructor(
override val replyMarkup: KeyboardMarkup? = null,
@SerialName(disableContentTypeDetectionField)
val disableContentTypeDetection: Boolean? = null
) : DataRequest<ContentMessage<DocumentContent>>,
SendContentMessageRequest<ContentMessage<DocumentContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<DocumentContent>>,
TextableSendMessageRequest<ContentMessage<DocumentContent>>,
ThumbedSendMessageRequest<ContentMessage<DocumentContent>>
) : DataRequest<ChatContentMessage<DocumentContent>>,
SendContentMessageRequest<ChatContentMessage<DocumentContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<DocumentContent>>,
TextableSendMessageRequest<ChatContentMessage<DocumentContent>>,
ThumbedSendMessageRequest<ChatContentMessage<DocumentContent>>
{
override val textSources: TextSourcesList? by lazy {
rawEntities ?.asTextSources(text ?: return@lazy null)
@@ -214,7 +215,7 @@ data class SendDocumentData internal constructor(
}
override fun method(): String = "sendDocument"
override val resultDeserializer: DeserializationStrategy<ContentMessage<DocumentContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<DocumentContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -14,6 +14,7 @@ import dev.inmo.tgbotapi.types.message.ParseMode
import dev.inmo.tgbotapi.types.message.parseModeField
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.LivePhotoContent
@@ -41,7 +42,7 @@ fun SendLivePhoto(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<LivePhotoContent>> {
): Request<ChatContentMessage<LivePhotoContent>> {
val livePhotoAsFile = livePhoto as? MultipartFile
val photoAsFile = photo as? MultipartFile
@@ -93,7 +94,7 @@ fun SendLivePhoto(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<LivePhotoContent>> {
): Request<ChatContentMessage<LivePhotoContent>> {
val livePhotoAsFile = livePhoto as? MultipartFile
val photoAsFile = photo as? MultipartFile
@@ -128,7 +129,7 @@ fun SendLivePhoto(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<LivePhotoContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<LivePhotoContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@ConsistentCopyVisibility
@@ -174,11 +175,11 @@ data class SendLivePhotoData internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : DataRequest<ContentMessage<LivePhotoContent>>,
SendContentMessageRequest<ContentMessage<LivePhotoContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<LivePhotoContent>>,
TextableSendMessageRequest<ContentMessage<LivePhotoContent>>,
WithCustomizableCaptionRequest<ContentMessage<LivePhotoContent>>,
) : DataRequest<ChatContentMessage<LivePhotoContent>>,
SendContentMessageRequest<ChatContentMessage<LivePhotoContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<LivePhotoContent>>,
TextableSendMessageRequest<ChatContentMessage<LivePhotoContent>>,
WithCustomizableCaptionRequest<ChatContentMessage<LivePhotoContent>>,
OptionallyWithSpoilerRequest
{
override val textSources: TextSourcesList? by lazy {
@@ -194,7 +195,7 @@ data class SendLivePhotoData internal constructor(
}
override fun method(): String = "sendLivePhoto"
override val resultDeserializer: DeserializationStrategy<ContentMessage<LivePhotoContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<LivePhotoContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -11,8 +11,9 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.media.*
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.CommonContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializerClass
import dev.inmo.tgbotapi.types.message.content.MediaGroupPartContent
import dev.inmo.tgbotapi.types.message.content.VisualMediaGroupPartContent
@@ -44,7 +45,7 @@ fun <T : MediaGroupPartContent> SendMediaGroup(
effectId: EffectId? = null,
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null
): Request<ContentMessage<MediaGroupContent<T>>> {
): Request<ChatContentMessage<MediaGroupContent<T>>> {
if (media.size !in mediaCountInMediaGroup) {
throwRangeError("Count of members in media group", mediaCountInMediaGroup, media.size)
}
@@ -87,7 +88,7 @@ fun <T : MediaGroupPartContent> SendMediaGroup(
data,
files.associateBy { it.fileId }
)
}) as Request<ContentMessage<MediaGroupContent<T>>>
}) as Request<ChatContentMessage<MediaGroupContent<T>>>
}
/**
@@ -187,16 +188,16 @@ inline fun SendVisualMediaGroup(
replyParameters = replyParameters
)
private object MessagesListSerializer: KSerializer<PossiblySentViaBotCommonMessage<MediaGroupContent<MediaGroupPartContent>>> {
private val serializer = ListSerializer(TelegramBotAPIMessageDeserializeOnlySerializerClass<PossiblySentViaBotCommonMessage<MediaGroupPartContent>>())
private object MessagesListSerializer: KSerializer<CommonContentMessage<MediaGroupContent<MediaGroupPartContent>>> {
private val serializer = ListSerializer(TelegramBotAPIMessageDeserializeOnlySerializerClass<CommonContentMessage<MediaGroupPartContent>>())
override val descriptor: SerialDescriptor = serializer.descriptor
override fun deserialize(decoder: Decoder): PossiblySentViaBotCommonMessage<MediaGroupContent<MediaGroupPartContent>> {
override fun deserialize(decoder: Decoder): CommonContentMessage<MediaGroupContent<MediaGroupPartContent>> {
val messages = serializer.deserialize(decoder)
return messages.asMediaGroupMessage()
}
override fun serialize(encoder: Encoder, value: PossiblySentViaBotCommonMessage<MediaGroupContent<MediaGroupPartContent>>) {
override fun serialize(encoder: Encoder, value: CommonContentMessage<MediaGroupContent<MediaGroupPartContent>>) {
serializer.serialize(encoder, value.content.group.map { it.sourceMessage })
}
@@ -230,8 +231,8 @@ data class SendMediaGroupData internal constructor(
override val suggestedPostParameters: SuggestedPostParameters? = null,
@SerialName(replyParametersField)
override val replyParameters: ReplyParameters? = null,
) : DataRequest<PossiblySentViaBotCommonMessage<MediaGroupContent<MediaGroupPartContent>>>,
SendContentMessageRequest<PossiblySentViaBotCommonMessage<MediaGroupContent<MediaGroupPartContent>>> {
) : DataRequest<CommonContentMessage<MediaGroupContent<MediaGroupPartContent>>>,
SendContentMessageRequest<CommonContentMessage<MediaGroupContent<MediaGroupPartContent>>> {
@Suppress("unused")
@SerialName(mediaField)
private val convertedMedia: String
@@ -245,7 +246,7 @@ data class SendMediaGroupData internal constructor(
override fun method(): String = "sendMediaGroup"
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override val resultDeserializer: DeserializationStrategy<PossiblySentViaBotCommonMessage<MediaGroupContent<MediaGroupPartContent>>>
override val resultDeserializer: DeserializationStrategy<CommonContentMessage<MediaGroupContent<MediaGroupPartContent>>>
get() = MessagesListSerializer
}

View File

@@ -18,6 +18,7 @@ import dev.inmo.tgbotapi.types.media.CoveredTelegramMedia
import dev.inmo.tgbotapi.types.media.ThumbedTelegramMedia
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.toRawMessageEntities
@@ -42,7 +43,7 @@ fun SendPaidMedia(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<PaidMediaInfoContent>> {
): Request<ChatContentMessage<PaidMediaInfoContent>> {
val data = SendPaidMediaData(
chatId = chatId,
starCount = starCount,
@@ -105,7 +106,7 @@ fun SendPaidMedia(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<PaidMediaInfoContent>> {
): Request<ChatContentMessage<PaidMediaInfoContent>> {
val data = SendPaidMediaData(
chatId = chatId,
starCount = starCount,
@@ -152,7 +153,7 @@ fun SendPaidMedia(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<PaidMediaInfoContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<PaidMediaInfoContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@ConsistentCopyVisibility
@@ -197,11 +198,11 @@ data class SendPaidMediaData internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : DataRequest<ContentMessage<PaidMediaInfoContent>>,
SendContentMessageRequest<ContentMessage<PaidMediaInfoContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<PaidMediaInfoContent>>,
TextableSendMessageRequest<ContentMessage<PaidMediaInfoContent>>,
WithCustomizableCaptionRequest<ContentMessage<PaidMediaInfoContent>>
) : DataRequest<ChatContentMessage<PaidMediaInfoContent>>,
SendContentMessageRequest<ChatContentMessage<PaidMediaInfoContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<PaidMediaInfoContent>>,
TextableSendMessageRequest<ChatContentMessage<PaidMediaInfoContent>>,
WithCustomizableCaptionRequest<ChatContentMessage<PaidMediaInfoContent>>
{
override val textSources: TextSourcesList? by lazy {
rawEntities ?.asTextSources(text ?: return@lazy null)
@@ -218,7 +219,7 @@ data class SendPaidMediaData internal constructor(
}
override fun method(): String = "sendPaidMedia"
override val resultDeserializer: DeserializationStrategy<ContentMessage<PaidMediaInfoContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<PaidMediaInfoContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -14,6 +14,7 @@ import dev.inmo.tgbotapi.types.message.parseModeField
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.PhotoContent
@@ -39,7 +40,7 @@ fun SendPhoto(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<PhotoContent>> {
): Request<ChatContentMessage<PhotoContent>> {
val data = SendPhotoData(
chatId = chatId,
photo = photo,
@@ -85,7 +86,7 @@ fun SendPhoto(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<PhotoContent>> {
): Request<ChatContentMessage<PhotoContent>> {
val data = SendPhotoData(
chatId = chatId,
photo = photo,
@@ -116,7 +117,7 @@ fun SendPhoto(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<PhotoContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<PhotoContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@ConsistentCopyVisibility
@@ -160,11 +161,11 @@ data class SendPhotoData internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : DataRequest<ContentMessage<PhotoContent>>,
SendContentMessageRequest<ContentMessage<PhotoContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<PhotoContent>>,
TextableSendMessageRequest<ContentMessage<PhotoContent>>,
WithCustomizableCaptionRequest<ContentMessage<PhotoContent>>,
) : DataRequest<ChatContentMessage<PhotoContent>>,
SendContentMessageRequest<ChatContentMessage<PhotoContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<PhotoContent>>,
TextableSendMessageRequest<ChatContentMessage<PhotoContent>>,
WithCustomizableCaptionRequest<ChatContentMessage<PhotoContent>>,
OptionallyWithSpoilerRequest
{
override val textSources: TextSourcesList? by lazy {
@@ -180,7 +181,7 @@ data class SendPhotoData internal constructor(
}
override fun method(): String = "sendPhoto"
override val resultDeserializer: DeserializationStrategy<ContentMessage<PhotoContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<PhotoContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -9,6 +9,7 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.StickerContent
@@ -29,7 +30,7 @@ fun SendSticker(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<StickerContent>> = SendStickerByFileId(
): Request<ChatContentMessage<StickerContent>> = SendStickerByFileId(
chatId = chatId,
sticker = sticker,
threadId = threadId,
@@ -53,7 +54,7 @@ fun SendSticker(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<StickerContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<StickerContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@ConsistentCopyVisibility
@@ -89,9 +90,9 @@ data class SendStickerByFileId internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : SendContentMessageRequest<ContentMessage<StickerContent>>, ReplyingMarkupSendMessageRequest<ContentMessage<StickerContent>> {
) : SendContentMessageRequest<ChatContentMessage<StickerContent>>, ReplyingMarkupSendMessageRequest<ChatContentMessage<StickerContent>> {
override fun method(): String = "sendSticker"
override val resultDeserializer: DeserializationStrategy<ContentMessage<StickerContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<StickerContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -16,6 +16,7 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.media.OptionallyStreamable
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.VideoContent
@@ -49,7 +50,7 @@ fun SendVideo(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<VideoContent>> {
): Request<ChatContentMessage<VideoContent>> {
val videoAsFile = video as? MultipartFile
val thumbAsFile = thumbnail as? MultipartFile
val coverAsFile = cover as? MultipartFile
@@ -114,7 +115,7 @@ fun SendVideo(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<VideoContent>> {
): Request<ChatContentMessage<VideoContent>> {
val videoAsFile = video as? MultipartFile
val thumbAsFile = thumbnail as? MultipartFile
val coverAsFile = cover as? MultipartFile
@@ -156,7 +157,7 @@ fun SendVideo(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<VideoContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<VideoContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@ConsistentCopyVisibility
@@ -214,15 +215,15 @@ data class SendVideoData internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : DataRequest<ContentMessage<VideoContent>>,
SendContentMessageRequest<ContentMessage<VideoContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<VideoContent>>,
TextableSendMessageRequest<ContentMessage<VideoContent>>,
ThumbedSendMessageRequest<ContentMessage<VideoContent>>,
DuratedSendMessageRequest<ContentMessage<VideoContent>>,
SizedSendMessageRequest<ContentMessage<VideoContent>>,
WithCustomizableCaptionRequest<ContentMessage<VideoContent>>,
CoveredSendMessageRequest<ContentMessage<VideoContent>>,
) : DataRequest<ChatContentMessage<VideoContent>>,
SendContentMessageRequest<ChatContentMessage<VideoContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<VideoContent>>,
TextableSendMessageRequest<ChatContentMessage<VideoContent>>,
ThumbedSendMessageRequest<ChatContentMessage<VideoContent>>,
DuratedSendMessageRequest<ChatContentMessage<VideoContent>>,
SizedSendMessageRequest<ChatContentMessage<VideoContent>>,
WithCustomizableCaptionRequest<ChatContentMessage<VideoContent>>,
CoveredSendMessageRequest<ChatContentMessage<VideoContent>>,
WithCustomStartMediaData,
OptionallyWithSpoilerRequest,
OptionallyStreamable
@@ -240,7 +241,7 @@ data class SendVideoData internal constructor(
}
override fun method(): String = "sendVideo"
override val resultDeserializer: DeserializationStrategy<ContentMessage<VideoContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<VideoContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -8,6 +8,7 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.VideoNoteContent
@@ -31,7 +32,7 @@ fun SendVideoNote(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<VideoNoteContent>> {
): Request<ChatContentMessage<VideoNoteContent>> {
val videoNoteAsFile = videoNote as? MultipartFile
val thumbAsFile = thumbnail as? MultipartFile
@@ -63,7 +64,7 @@ fun SendVideoNote(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<VideoNoteContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<VideoNoteContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@ConsistentCopyVisibility
@@ -103,18 +104,18 @@ data class SendVideoNoteData internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : DataRequest<ContentMessage<VideoNoteContent>>,
SendContentMessageRequest<ContentMessage<VideoNoteContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<VideoNoteContent>>,
ThumbedSendMessageRequest<ContentMessage<VideoNoteContent>>,
DuratedSendMessageRequest<ContentMessage<VideoNoteContent>>,
SizedSendMessageRequest<ContentMessage<VideoNoteContent>>
) : DataRequest<ChatContentMessage<VideoNoteContent>>,
SendContentMessageRequest<ChatContentMessage<VideoNoteContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<VideoNoteContent>>,
ThumbedSendMessageRequest<ChatContentMessage<VideoNoteContent>>,
DuratedSendMessageRequest<ChatContentMessage<VideoNoteContent>>,
SizedSendMessageRequest<ChatContentMessage<VideoNoteContent>>
{
override val height: Int?
get() = width
override fun method(): String = "sendVideoNote"
override val resultDeserializer: DeserializationStrategy<ContentMessage<VideoNoteContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<VideoNoteContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -12,6 +12,7 @@ import dev.inmo.tgbotapi.types.message.parseModeField
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.RawMessageEntity
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.VoiceContent
@@ -37,7 +38,7 @@ fun SendVoice(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<VoiceContent>> {
): Request<ChatContentMessage<VoiceContent>> {
val voiceAsFile = voice as? MultipartFile
val data = SendVoiceData(
@@ -84,7 +85,7 @@ fun SendVoice(
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<ContentMessage<VoiceContent>> {
): Request<ChatContentMessage<VoiceContent>> {
val voiceAsFile = voice as? MultipartFile
val data = SendVoiceData(
@@ -116,7 +117,7 @@ fun SendVoice(
}
}
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<VoiceContent>>
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<VoiceContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
@ConsistentCopyVisibility
@@ -158,11 +159,11 @@ data class SendVoiceData internal constructor(
override val replyParameters: ReplyParameters? = null,
@SerialName(replyMarkupField)
override val replyMarkup: KeyboardMarkup? = null
) : DataRequest<ContentMessage<VoiceContent>>,
SendContentMessageRequest<ContentMessage<VoiceContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<VoiceContent>>,
TextableSendMessageRequest<ContentMessage<VoiceContent>>,
DuratedSendMessageRequest<ContentMessage<VoiceContent>>
) : DataRequest<ChatContentMessage<VoiceContent>>,
SendContentMessageRequest<ChatContentMessage<VoiceContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<VoiceContent>>,
TextableSendMessageRequest<ChatContentMessage<VoiceContent>>,
DuratedSendMessageRequest<ChatContentMessage<VoiceContent>>
{
override val textSources: TextSourcesList? by lazy {
rawEntities ?.asTextSources(text ?: return@lazy null)
@@ -177,7 +178,7 @@ data class SendVoiceData internal constructor(
}
override fun method(): String = "sendVoice"
override val resultDeserializer: DeserializationStrategy<ContentMessage<VoiceContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<VoiceContent>>
get() = commonResultDeserializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -7,6 +7,7 @@ import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.InvoiceContent
@@ -17,7 +18,7 @@ import dev.inmo.tgbotapi.types.payments.abstracts.XTR
import dev.inmo.tgbotapi.types.threadId
import kotlinx.serialization.*
private val invoiceMessageSerializer: DeserializationStrategy<ContentMessage<InvoiceContent>>
private val invoiceMessageSerializer: DeserializationStrategy<ChatContentMessage<InvoiceContent>>
= TelegramBotAPIMessageDeserializationStrategyClass()
/**
@@ -90,10 +91,10 @@ data class SendInvoice(
DisableNotification,
WithReplyParameters,
WithReplyMarkup,
SendMessageRequest<ContentMessage<InvoiceContent>>,
OptionallyWithEffectRequest<ContentMessage<InvoiceContent>> {
SendMessageRequest<ChatContentMessage<InvoiceContent>>,
OptionallyWithEffectRequest<ChatContentMessage<InvoiceContent>> {
override fun method(): String = "sendInvoice"
override val resultDeserializer: DeserializationStrategy<ContentMessage<InvoiceContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<InvoiceContent>>
get() = invoiceMessageSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -11,6 +11,7 @@ import dev.inmo.tgbotapi.types.media.InputPollMedia
import dev.inmo.tgbotapi.types.message.ParseMode
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
import dev.inmo.tgbotapi.types.message.content.PollContent
@@ -21,7 +22,7 @@ import korlibs.time.millisecondsLong
import korlibs.time.seconds
import kotlinx.serialization.*
private val commonResultDeserializer: DeserializationStrategy<ContentMessage<PollContent>> = TelegramBotAPIMessageDeserializationStrategyClass()
private val commonResultDeserializer: DeserializationStrategy<ChatContentMessage<PollContent>> = TelegramBotAPIMessageDeserializationStrategyClass()
internal inline val ApproximateScheduledCloseInfo.openPeriod
get() = openDuration.millisecondsLong.div(1000)
@@ -289,8 +290,8 @@ internal fun ScheduledCloseInfo.checkSendData() {
}
}
sealed class SendPoll : SendContentMessageRequest<ContentMessage<PollContent>>,
ReplyingMarkupSendMessageRequest<ContentMessage<PollContent>>, TextedInput {
sealed class SendPoll : SendContentMessageRequest<ChatContentMessage<PollContent>>,
ReplyingMarkupSendMessageRequest<ChatContentMessage<PollContent>>, TextedInput {
abstract val question: String
override val text: String
get() = question
@@ -322,7 +323,7 @@ sealed class SendPoll : SendContentMessageRequest<ContentMessage<PollContent>>,
}
override fun method(): String = "sendPoll"
override val resultDeserializer: DeserializationStrategy<ContentMessage<PollContent>>
override val resultDeserializer: DeserializationStrategy<ChatContentMessage<PollContent>>
get() = commonResultDeserializer
}

View File

@@ -224,7 +224,9 @@ const val canTransferAndUpgradeGiftsField = "can_transfer_and_upgrade_gifts"
const val canTransferStarsField = "can_transfer_stars"
const val canManageStoriesField = "can_manage_stories"
const val supportInlineQueriesField = "supports_inline_queries"
const val supportsGuestQueriesField = "supports_guest_queries"
const val canConnectToBusinessField = "can_connect_to_business"
const val guestQueryIdField = "guest_query_id"
const val textEntitiesField = "text_entities"
const val textParseModeField = "text_parse_mode"
const val entitiesField = "entities"

View File

@@ -0,0 +1,14 @@
package dev.inmo.tgbotapi.types
import kotlinx.serialization.Serializable
import kotlin.jvm.JvmInline
@Serializable
@JvmInline
value class GuestQueryId(
val string: String
) {
override fun toString(): String {
return string
}
}

View File

@@ -24,6 +24,8 @@ const val UPDATE_BUSINESS_MESSAGE = "business_message"
const val UPDATE_EDITED_BUSINESS_MESSAGE = "edited_business_message"
const val UPDATE_DELETED_BUSINESS_MESSAGES = "deleted_business_messages"
const val UPDATE_GUEST_MESSAGE = "guest_message"
const val UPDATE_MANAGED_BOT = "managed_bot"
val ALL_UPDATES_LIST_WITHOUT_REACTIONS = listOf(
@@ -39,6 +41,8 @@ val ALL_UPDATES_LIST_WITHOUT_REACTIONS = listOf(
UPDATE_EDITED_BUSINESS_MESSAGE,
UPDATE_DELETED_BUSINESS_MESSAGES,
UPDATE_GUEST_MESSAGE,
UPDATE_INLINE_QUERY,
UPDATE_CHOSEN_INLINE_RESULT,

View File

@@ -29,7 +29,7 @@ sealed interface KeyboardButton {
* [dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onText] in
* case you are using Behaviour Builder OR with [dev.inmo.tgbotapi.updateshandlers.FlowsUpdatesFilter.messagesFlow]
* and [kotlinx.coroutines.flow.filterIsInstance] and filtering by type
* [dev.inmo.tgbotapi.types.message.abstracts.CommonMessage] and [dev.inmo.tgbotapi.extensions.utils.onlyTextContentMessages]
* [dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage] and [dev.inmo.tgbotapi.extensions.utils.onlyTextContentMessages]
*/
@Serializable
data class SimpleKeyboardButton(
@@ -57,7 +57,7 @@ data class UnknownKeyboardButton internal constructor(
* to catch this contact in updates and data using [dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onContact] in
* case you are using Behaviour Builder OR with [dev.inmo.tgbotapi.updateshandlers.FlowsUpdatesFilter.messagesFlow]
* and [kotlinx.coroutines.flow.filterIsInstance] and filtering by type
* [dev.inmo.tgbotapi.types.message.abstracts.CommonMessage] and [dev.inmo.tgbotapi.extensions.utils.onlyContactContentMessages]
* [dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage] and [dev.inmo.tgbotapi.extensions.utils.onlyContactContentMessages]
*/
@Serializable
data class RequestContactKeyboardButton(
@@ -77,7 +77,7 @@ data class RequestContactKeyboardButton(
* to catch this location in updates and data using [dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onLocation] in
* case you are using Behaviour Builder OR with [dev.inmo.tgbotapi.updateshandlers.FlowsUpdatesFilter.messagesFlow]
* and [kotlinx.coroutines.flow.filterIsInstance] and filtering by type
* [dev.inmo.tgbotapi.types.message.abstracts.CommonMessage] and [dev.inmo.tgbotapi.extensions.utils.onlyLocationContentMessages]
* [dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage] and [dev.inmo.tgbotapi.extensions.utils.onlyLocationContentMessages]
*/
@Serializable
data class RequestLocationKeyboardButton(
@@ -114,7 +114,7 @@ data class WebAppKeyboardButton(
* to catch this poll in updates and data using [dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onPoll] in
* case you are using Behaviour Builder OR with [dev.inmo.tgbotapi.updateshandlers.FlowsUpdatesFilter.messagesFlow]
* and [kotlinx.coroutines.flow.filterIsInstance] and filtering by type
* [dev.inmo.tgbotapi.types.message.abstracts.CommonMessage] and [dev.inmo.tgbotapi.extensions.utils.onlyPollContentMessages]
* [dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage] and [dev.inmo.tgbotapi.extensions.utils.onlyPollContentMessages]
*/
@Serializable
data class RequestPollKeyboardButton(

View File

@@ -493,6 +493,8 @@ data class ExtendedBot(
val canReadAllGroupMessages: Boolean = false,
@SerialName(supportInlineQueriesField)
val supportsInlineQueries: Boolean = false,
@SerialName(supportsGuestQueriesField)
val supportsGuestQueries: Boolean = false,
@SerialName(canConnectToBusinessField)
val canConnectToBusiness: Boolean = false,
@SerialName(photoField)

View File

@@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.checklists
import dev.inmo.tgbotapi.types.checklistMessageField
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializerClass
import dev.inmo.tgbotapi.types.message.content.ChecklistContent
import dev.inmo.tgbotapi.types.tasksField
@@ -14,7 +14,7 @@ data class ChecklistTasksAdded(
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@SerialName(checklistMessageField)
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializerClass::class)
val checklistMessage: CommonMessage<ChecklistContent>,
val checklistMessage: ChatContentMessage<ChecklistContent>,
@SerialName(tasksField)
val tasks: List<ChecklistTask.Created>,
) : CommonEvent

View File

@@ -4,7 +4,7 @@ import dev.inmo.tgbotapi.types.checklistMessageField
import dev.inmo.tgbotapi.types.markedAsDoneTaskIdsField
import dev.inmo.tgbotapi.types.markedAsNotDoneTaskIdsField
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializerClass
import dev.inmo.tgbotapi.types.message.content.ChecklistContent
import kotlinx.serialization.SerialName
@@ -15,7 +15,7 @@ data class ChecklistTasksDone(
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@SerialName(checklistMessageField)
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializerClass::class)
val checklistMessage: CommonMessage<ChecklistContent>,
val checklistMessage: ChatContentMessage<ChecklistContent>,
@SerialName(markedAsDoneTaskIdsField)
val markedAsDone: List<ChecklistTaskId>? = null,
@SerialName(markedAsNotDoneTaskIdsField)

View File

@@ -0,0 +1,12 @@
package dev.inmo.tgbotapi.types.guest
import dev.inmo.tgbotapi.types.InlineMessageId
import dev.inmo.tgbotapi.types.inlineMessageIdField
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class SentGuestMessage(
@SerialName(inlineMessageIdField)
val inlineMessageId: InlineMessageId
)

View File

@@ -0,0 +1,32 @@
package dev.inmo.tgbotapi.types.message
import korlibs.time.DateTime
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
import dev.inmo.tgbotapi.types.chat.CommonBot
import dev.inmo.tgbotapi.types.chat.PreviewChat
import dev.inmo.tgbotapi.types.chat.User
import dev.inmo.tgbotapi.types.message.abstracts.GuestContentMessage
import dev.inmo.tgbotapi.types.message.content.MessageContent
import kotlinx.serialization.SerialName
data class GuestContentMessageImpl<T: MessageContent>(
override val messageId: MessageId,
override val from: User,
override val chat: PreviewChat,
override val guestQueryId: GuestQueryId,
override val content: T,
override val date: DateTime,
override val editDate: DateTime?,
override val hasProtectedContent: Boolean,
override val forwardOrigin: MessageOrigin?,
override val replyInfo: ReplyInfo?,
override val replyMarkup: InlineKeyboardMarkup?,
override val senderBot: CommonBot?,
override val mediaGroupId: MediaGroupId?,
override val guestBotCallerUser: User,
override val guestBotCallerChat: PreviewChat,
override val fromOffline: Boolean,
@SerialName(paidMessageStarCountField)
override val cost: Int? = null,
) : GuestContentMessage<T>

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.types.chat.User
import dev.inmo.tgbotapi.types.chat.PreviewChat
import dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatMessage
import dev.inmo.tgbotapi.types.passport.PassportData
data class PassportMessage(
@@ -14,4 +15,4 @@ data class PassportMessage(
override val from: User,
override val date: DateTime,
val passportData: PassportData
) : AccessibleMessage, FromUserMessage
) : ChatMessage, FromUserMessage

View File

@@ -184,6 +184,13 @@ internal data class RawMessage(
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
private val sender_business_bot: PreviewBot? = null,
// Guest mode
private val guest_query_id: GuestQueryId? = null,
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
private val guest_bot_caller_user: PreviewUser? = null,
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
private val guest_bot_caller_chat: PreviewChat? = null,
// Giveaways
private val giveaway_created: GiveawayCreated? = null,
private val giveaway: Giveaway? = null,
@@ -450,7 +457,27 @@ internal data class RawMessage(
external_reply != null -> external_reply
else -> null
}
when (chat) {
if (guest_query_id != null) {
GuestContentMessageImpl(
messageId = messageId,
from = checkedFrom ?: from ?: error("Was detected guest message, but owner (sender) of the message was not found"),
chat = chat,
guestQueryId = guest_query_id,
content = content,
date = date.asDate,
editDate = edit_date?.asDate,
hasProtectedContent = has_protected_content == true,
forwardOrigin = forward_origin,
replyInfo = replyInfo,
replyMarkup = reply_markup,
senderBot = via_bot,
mediaGroupId = media_group_id,
guestBotCallerUser = guest_bot_caller_user ?: error("For guest content message it is required to have user which called the bot"),
guestBotCallerChat = guest_bot_caller_chat ?: error("For guest content message it is required to have chat in that called the bot"),
fromOffline = is_from_offline,
cost = paid_star_count,
)
} else when (chat) {
is PreviewChannelDirectMessagesChat -> {
if (direct_messages_topic == null) error("direct_messages_topic must be presented for ChannelDirectMessagesChat messages")
val chatId = ChatIdWithChannelDirectMessageThreadId(

View File

@@ -0,0 +1,5 @@
package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.types.message.content.MessageContent
sealed interface ChatContentMessage<out T: MessageContent> : CommonContentMessage<T>, ChatMessage

View File

@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChatEvent
interface ChatEventMessage<T : ChatEvent> : AccessibleMessage {
interface ChatEventMessage<T : ChatEvent> : ChatMessage {
val chatEvent: T
}

View File

@@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.types.message.content.MessageContent
sealed interface CommonMessage<out T: MessageContent> : AccessibleMessage,
sealed interface CommonContentMessage<out T: MessageContent> : AccessibleMessage,
PossiblyForwardedMessage,
PossiblyEditedMessage,
PossiblyReplyMessage,
@@ -11,4 +11,4 @@ sealed interface CommonMessage<out T: MessageContent> : AccessibleMessage,
PossiblyOfflineMessage,
PossiblyMediaGroupMessage<T>,
PossiblyPaidMessage,
ContentMessage<T>
ContentMessage<T>

View File

@@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.types.message.content.MessageContent
interface ContentMessage<out T: MessageContent>: AccessibleMessage {
interface ContentMessage<out T: MessageContent> : AccessibleMessage {
val hasProtectedContent: Boolean
val content: T

View File

@@ -3,6 +3,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.abstracts.FromUser
import dev.inmo.tgbotapi.abstracts.OptionallyFromUser
interface OptionallyFromUserMessage : OptionallyFromUser, AccessibleMessage
interface OptionallyFromUserMessage : OptionallyFromUser, Message
interface FromUserMessage : OptionallyFromUserMessage, FromUser

View File

@@ -0,0 +1,12 @@
package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.types.GuestQueryId
import dev.inmo.tgbotapi.types.message.content.MessageContent
interface GuestContentMessage<T: MessageContent> : SpecialMessage,
CommonContentMessage<T>,
GuestMessage,
FromUserMessage,
PossiblySentViaBot {
override val guestQueryId: GuestQueryId
}

View File

@@ -0,0 +1,12 @@
package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.abstracts.types.WithOptionalGuestQueryId
import dev.inmo.tgbotapi.types.GuestQueryId
import dev.inmo.tgbotapi.types.chat.PreviewChat
import dev.inmo.tgbotapi.types.chat.User
interface GuestMessage : WithOptionalGuestQueryId {
override val guestQueryId: GuestQueryId
val guestBotCallerUser: User
val guestBotCallerChat: PreviewChat
}

View File

@@ -47,6 +47,9 @@ interface Message : WithPreviewChatAndMessageId, PossiblyBusinessMessage {
interface AccessibleMessage : Message
interface ChatMessage : AccessibleMessage
interface SpecialMessage : AccessibleMessage
@Serializable
data class InaccessibleMessage(
override val chat: PreviewChat,
@@ -61,7 +64,7 @@ data class UnknownMessageType(
override val chat: PreviewChat,
override val date: DateTime,
val insideException: Exception
) : AccessibleMessage
) : ChatMessage
internal class TelegramBotAPIMessageDeserializationStrategyClass<T> : DeserializationStrategy<T> {
@OptIn(InternalSerializationApi::class, ExperimentalSerializationApi::class)

View File

@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
import korlibs.time.DateTime
interface PossiblyEditedMessage : AccessibleMessage {
interface PossiblyEditedMessage : Message {
val editDate: DateTime?
}

View File

@@ -4,7 +4,7 @@ import dev.inmo.tgbotapi.types.message.ForwardInfo
import dev.inmo.tgbotapi.types.message.MessageOrigin
import dev.inmo.tgbotapi.types.message.forwardInfo
interface PossiblyForwardedMessage : AccessibleMessage {
interface PossiblyForwardedMessage : Message {
val forwardOrigin: MessageOrigin?
val forwardInfo: ForwardInfo?
get() = forwardOrigin ?.forwardInfo()

View File

@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.types.message.payments.abstracts.PaymentInfo
interface PossiblyPaymentMessage : AccessibleMessage {
interface PossiblyPaymentMessage : ChatMessage {
val paymentInfo: PaymentInfo?
}

View File

@@ -2,4 +2,4 @@ package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.types.message.content.MessageContent
sealed interface PossiblySentViaBotCommonMessage<out T: MessageContent> : CommonMessage<T>, PossiblySentViaBot
sealed interface PossiblySentViaBotCommonMessage<out T: MessageContent> : ChatContentMessage<T>, PossiblySentViaBot

View File

@@ -4,7 +4,7 @@ import dev.inmo.tgbotapi.requests.chat.forum.CreateForumTopic
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicCreated
interface PossiblyTopicMessage : AccessibleMessage {
interface PossiblyTopicMessage : ChatMessage {
val threadId: MessageThreadId?
val threadCreatingInfo: ForumTopicCreated?
}

View File

@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
import dev.inmo.tgbotapi.types.AuthorSignature
interface SignedMessage : AccessibleMessage {
interface SignedMessage : ChatMessage {
val authorSignature: AuthorSignature?
}

View File

@@ -165,7 +165,7 @@ sealed interface ResendableContent {
suggestedPostParameters: SuggestedPostParameters? = null,
replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null
): Request<out AccessibleMessage>
): Request<out ChatMessage>
fun createResend(
chatId: ChatIdentifier,
@@ -180,7 +180,7 @@ sealed interface ResendableContent {
replyToMessageId: MessageId?,
allowSendingWithoutReply: Boolean? = null,
replyMarkup: KeyboardMarkup? = null
): Request<out AccessibleMessage> = createResend(
): Request<out ChatMessage> = createResend(
chatId = chatId,
messageThreadId = messageThreadId,
directMessageThreadId = directMessageThreadId,

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.types.abstracts.WithOptionalQuoteInfo
import dev.inmo.tgbotapi.types.files.AudioFile
import dev.inmo.tgbotapi.types.files.DocumentFile
import dev.inmo.tgbotapi.types.media.*
import dev.inmo.tgbotapi.types.message.abstracts.CommonContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage
import kotlinx.serialization.Serializable
@@ -28,7 +29,7 @@ sealed interface MediaGroupCollectionContent<T : MediaGroupPartContent> : Texted
data class PartWrapper<T : MediaGroupPartContent>(
val messageId: MessageId,
val content: T,
val sourceMessage: PossiblySentViaBotCommonMessage<T>
val sourceMessage: CommonContentMessage<T>
)
val group: List<PartWrapper<T>>
val mediaGroupId: MediaGroupId

View File

@@ -10,6 +10,7 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.AnimationFile
import dev.inmo.tgbotapi.types.files.DocumentFile
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import kotlinx.serialization.Serializable
@@ -35,7 +36,7 @@ data class AnimationContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<AnimationContent>> = SendAnimation(
): Request<ChatContentMessage<AnimationContent>> = SendAnimation(
chatId = chatId,
animation = media.fileId,
thumbnail = media.thumbnail ?.fileId,

View File

@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.AudioFile
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -32,7 +32,7 @@ data class AudioContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<AudioContent>> = SendAudio(
): Request<ChatContentMessage<AudioContent>> = SendAudio(
chatId = chatId,
audio = media.fileId,
thumbnail = media.thumbnail ?.fileId,

View File

@@ -12,7 +12,7 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.checklists.Checklist
import dev.inmo.tgbotapi.types.checklists.ChecklistTask
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -31,7 +31,7 @@ data class ChecklistContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<ChecklistContent>> {
): Request<ChatContentMessage<ChecklistContent>> {
return SendChecklist(
chatId = chatId,
checklist = Checklist.Input(

View File

@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -25,7 +25,7 @@ data class ContactContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<ContactContent>> = SendContact(
): Request<ChatContentMessage<ContactContent>> = SendContact(
chatId = chatId,
contact = contact,
threadId = messageThreadId,

View File

@@ -7,7 +7,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.dice.Dice
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -26,7 +26,7 @@ data class DiceContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<DiceContent>> = SendDice(
): Request<ChatContentMessage<DiceContent>> = SendDice(
chatId = chatId,
animationType = dice.animationType,
threadId = messageThreadId,

View File

@@ -13,7 +13,7 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.DocumentFile
import dev.inmo.tgbotapi.types.files.asDocumentFile
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -35,7 +35,7 @@ data class DocumentContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<DocumentContent>> = SendDocument(
): Request<ChatContentMessage<DocumentContent>> = SendDocument(
chatId = chatId,
document = media.fileId,
thumbnail = media.thumbnail ?.fileId,

View File

@@ -7,7 +7,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.games.Game
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -26,7 +26,7 @@ data class GameContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<GameContent>> = SendGame(
): Request<ChatContentMessage<GameContent>> = SendGame(
chatId = chatId,
gameShortName = game.title,
threadId = messageThreadId,

View File

@@ -8,7 +8,7 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.chat.Chat
import dev.inmo.tgbotapi.types.giveaway.Giveaway
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -29,7 +29,8 @@ data class GiveawayContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<out AccessibleMessage> {
): Request<ChatContentMessage<GiveawayContent>> {
@Suppress("UNCHECKED_CAST")
return ForwardMessage(
chat.id,
toChatId = chatId,
@@ -38,6 +39,6 @@ data class GiveawayContent(
directMessageThreadId = directMessageThreadId,
disableNotification = disableNotification,
protectContent = protectContent
)
) as Request<ChatContentMessage<GiveawayContent>>
}
}

View File

@@ -7,7 +7,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.giveaway.GiveawayPublicResults
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -26,7 +26,8 @@ data class GiveawayPublicResultsContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<out AccessibleMessage> {
): Request<ChatContentMessage<GiveawayPublicResultsContent>> {
@Suppress("UNCHECKED_CAST")
return ForwardMessage(
giveaway.chat.id,
toChatId = chatId,
@@ -35,6 +36,6 @@ data class GiveawayPublicResultsContent(
directMessageThreadId = directMessageThreadId,
disableNotification = disableNotification,
protectContent = protectContent
)
) as Request<ChatContentMessage<GiveawayPublicResultsContent>>
}
}

View File

@@ -5,7 +5,7 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.payments.Invoice
import kotlinx.serialization.Serializable
@@ -25,7 +25,7 @@ data class InvoiceContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<InvoiceContent>> {
): Request<ChatContentMessage<InvoiceContent>> {
error("Unfortunately, currently InvoiceOfPayment can not be resend due to requirement of additional parameters," +
" which can't be provided during the call of this method")
}

View File

@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.LivePhotoFile
import dev.inmo.tgbotapi.types.files.toTelegramMediaLivePhoto
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -34,7 +34,7 @@ data class LivePhotoContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<LivePhotoContent>> = SendLivePhoto(
): Request<ChatContentMessage<LivePhotoContent>> = SendLivePhoto(
chatId = chatId,
livePhoto = media.fileId,
photo = media.photo ?.fileId ?: media.fileId,

View File

@@ -8,7 +8,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.location.*
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.descriptors.buildClassSerialDescriptor
@@ -107,7 +107,7 @@ data class LiveLocationContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<LiveLocationContent>> = SendLiveLocation(
): Request<ChatContentMessage<LiveLocationContent>> = SendLiveLocation(
chatId = chatId,
latitude = location.latitude,
longitude = location.longitude,
@@ -148,7 +148,7 @@ data class StaticLocationContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<StaticLocationContent>> = SendStaticLocation(
): Request<ChatContentMessage<StaticLocationContent>> = SendStaticLocation(
chatId = chatId,
latitude = location.latitude,
longitude = location.longitude,

View File

@@ -9,7 +9,7 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.TelegramMediaFile
import dev.inmo.tgbotapi.types.media.TelegramFreeMedia
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.textsources.TextSource
import kotlinx.serialization.Serializable
@@ -44,7 +44,7 @@ data class MediaGroupContent<T : MediaGroupPartContent>(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<MediaGroupContent<MediaGroupPartContent>>> = SendMediaGroup<MediaGroupPartContent>(
): Request<ChatContentMessage<MediaGroupContent<MediaGroupPartContent>>> = SendMediaGroup<MediaGroupPartContent>(
chatId = chatId,
media = group.map { it.content.toMediaGroupMemberTelegramMedia() },
threadId = messageThreadId,

View File

@@ -12,7 +12,7 @@ import dev.inmo.tgbotapi.types.files.*
import dev.inmo.tgbotapi.types.files.toTelegramPaidMediaVideo
import dev.inmo.tgbotapi.types.media.*
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.message.payments.PaidMedia
import kotlinx.serialization.Serializable
@@ -36,7 +36,7 @@ data class PaidMediaInfoContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<PaidMediaInfoContent>> = SendPaidMedia(
): Request<ChatContentMessage<PaidMediaInfoContent>> = SendPaidMedia(
chatId = chatId,
starCount = paidMediaInfo.stars,
media = paidMediaInfo.media.mapNotNull {

View File

@@ -11,7 +11,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.*
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -37,7 +37,7 @@ data class PhotoContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<PhotoContent>> = SendPhoto(
): Request<ChatContentMessage<PhotoContent>> = SendPhoto(
chatId = chatId,
photo = media.fileId,
entities = textSources,

View File

@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.polls.Poll
import kotlinx.serialization.Serializable
@@ -26,7 +26,7 @@ data class PollContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<PollContent>> = poll.createRequest(
): Request<ChatContentMessage<PollContent>> = poll.createRequest(
chatId = chatId,
threadId = messageThreadId,
directMessageThreadId = directMessageThreadId,

View File

@@ -8,7 +8,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.Sticker
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -27,7 +27,7 @@ data class StickerContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<StickerContent>> = SendSticker(
): Request<ChatContentMessage<StickerContent>> = SendSticker(
chatId = chatId,
sticker = media.fileId,
threadId = messageThreadId,

View File

@@ -7,7 +7,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.chat.Chat
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyForwardedMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.stories.Story
import kotlinx.serialization.Serializable
@@ -29,7 +29,8 @@ data class StoryContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<PossiblyForwardedMessage> {
): Request<ChatContentMessage<StoryContent>> {
@Suppress("UNCHECKED_CAST")
return ForwardMessage(
chat.id,
toChatId = chatId,
@@ -38,6 +39,6 @@ data class StoryContent(
directMessageThreadId = directMessageThreadId,
disableNotification = disableNotification,
protectContent = protectContent
)
) as Request<ChatContentMessage<StoryContent>>
}
}

View File

@@ -8,7 +8,7 @@ import dev.inmo.tgbotapi.types.abstracts.WithOptionalQuoteInfo
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -30,7 +30,7 @@ data class TextContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<TextContent>> = SendTextMessage(
): Request<ChatContentMessage<TextContent>> = SendTextMessage(
chatId = chatId,
entities = textSources,
linkPreviewOptions = linkPreviewOptions,

View File

@@ -1,41 +1,41 @@
package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
typealias TextedMessage = CommonMessage<TextedContent>
typealias TextedMessage = ChatContentMessage<TextedContent>
typealias InvoiceMessage = CommonMessage<InvoiceContent>
typealias VenueMessage = CommonMessage<VenueContent>
typealias GameMessage = CommonMessage<GameContent>
typealias DiceMessage = CommonMessage<DiceContent>
typealias ContactMessage = CommonMessage<ContactContent>
typealias PollMessage = CommonMessage<PollContent>
typealias TextMessage = CommonMessage<TextContent>
typealias StoryMessage = CommonMessage<StoryContent>
typealias InvoiceMessage = ChatContentMessage<InvoiceContent>
typealias VenueMessage = ChatContentMessage<VenueContent>
typealias GameMessage = ChatContentMessage<GameContent>
typealias DiceMessage = ChatContentMessage<DiceContent>
typealias ContactMessage = ChatContentMessage<ContactContent>
typealias PollMessage = ChatContentMessage<PollContent>
typealias TextMessage = ChatContentMessage<TextContent>
typealias StoryMessage = ChatContentMessage<StoryContent>
typealias LocationMessage = CommonMessage<LocationContent>
typealias LiveLocationMessage = CommonMessage<LiveLocationContent>
typealias StaticLocationMessage = CommonMessage<StaticLocationContent>
typealias LocationMessage = ChatContentMessage<LocationContent>
typealias LiveLocationMessage = ChatContentMessage<LiveLocationContent>
typealias StaticLocationMessage = ChatContentMessage<StaticLocationContent>
typealias MediaCollectionMessage<T> = CommonMessage<MediaCollectionContent<T>>
typealias MediaMessage = CommonMessage<MediaContent>
typealias VideoNoteMessage = CommonMessage<VideoNoteContent>
typealias StickerMessage = CommonMessage<StickerContent>
typealias TextedMediaMessage = CommonMessage<TextedMediaContent>
typealias VoiceMessage = CommonMessage<VoiceContent>
typealias MediaGroupMessage<T> = CommonMessage<MediaGroupContent<T>>
typealias AudioMediaGroupMessage = CommonMessage<AudioMediaGroupPartContent>
typealias AudioMessage = CommonMessage<AudioContent>
typealias DocumentMediaGroupMessage = CommonMessage<DocumentMediaGroupPartContent>
typealias DocumentMessage = CommonMessage<DocumentContent>
typealias VisualMediaGroupMessage = CommonMessage<VisualMediaGroupPartContent>
typealias VideoMessage = CommonMessage<VideoContent>
typealias LivePhotoMessage = CommonMessage<LivePhotoContent>
typealias PhotoMessage = CommonMessage<PhotoContent>
typealias AnimationMessage = CommonMessage<AnimationContent>
typealias ScheduledGiveawayContentMessage = CommonMessage<GiveawayContent>
typealias GiveawayPublicResultsContentMessage = CommonMessage<GiveawayPublicResultsContent>
typealias PaidMediaInfoContentMessage = CommonMessage<PaidMediaInfoContent>
typealias ChecklistMessage = CommonMessage<ChecklistContent>
typealias MediaCollectionMessage<T> = ChatContentMessage<MediaCollectionContent<T>>
typealias MediaMessage = ChatContentMessage<MediaContent>
typealias VideoNoteMessage = ChatContentMessage<VideoNoteContent>
typealias StickerMessage = ChatContentMessage<StickerContent>
typealias TextedMediaMessage = ChatContentMessage<TextedMediaContent>
typealias VoiceMessage = ChatContentMessage<VoiceContent>
typealias MediaGroupMessage<T> = ChatContentMessage<MediaGroupContent<T>>
typealias AudioMediaGroupMessage = ChatContentMessage<AudioMediaGroupPartContent>
typealias AudioMessage = ChatContentMessage<AudioContent>
typealias DocumentMediaGroupMessage = ChatContentMessage<DocumentMediaGroupPartContent>
typealias DocumentMessage = ChatContentMessage<DocumentContent>
typealias VisualMediaGroupMessage = ChatContentMessage<VisualMediaGroupPartContent>
typealias VideoMessage = ChatContentMessage<VideoContent>
typealias LivePhotoMessage = ChatContentMessage<LivePhotoContent>
typealias PhotoMessage = ChatContentMessage<PhotoContent>
typealias AnimationMessage = ChatContentMessage<AnimationContent>
typealias ScheduledGiveawayContentMessage = ChatContentMessage<GiveawayContent>
typealias GiveawayPublicResultsContentMessage = ChatContentMessage<GiveawayPublicResultsContent>
typealias PaidMediaInfoContentMessage = ChatContentMessage<PaidMediaInfoContent>
typealias ChecklistMessage = ChatContentMessage<ChecklistContent>

View File

@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.venue.Venue
import kotlinx.serialization.Serializable
@@ -26,7 +26,7 @@ data class VenueContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<VenueContent>> = SendVenue(
): Request<ChatContentMessage<VenueContent>> = SendVenue(
chatId = chatId,
venue = venue,
threadId = messageThreadId,

View File

@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.VideoFile
import dev.inmo.tgbotapi.types.files.toTelegramMediaVideo
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -34,7 +34,7 @@ data class VideoContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<VideoContent>> = SendVideo(
): Request<ChatContentMessage<VideoContent>> = SendVideo(
chatId = chatId,
video = media.fileId,
thumbnail = media.thumbnail ?.fileId,

View File

@@ -8,7 +8,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.VideoNoteFile
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -27,7 +27,7 @@ data class VideoNoteContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<VideoNoteContent>> = SendVideoNote(
): Request<ChatContentMessage<VideoNoteContent>> = SendVideoNote(
chatId = chatId,
videoNote = media.fileId,
thumbnail = media.thumbnail ?.fileId,

View File

@@ -9,7 +9,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.files.VoiceFile
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import kotlinx.serialization.Serializable
@Serializable
@@ -31,7 +31,7 @@ data class VoiceContent(
suggestedPostParameters: SuggestedPostParameters?,
replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup?
): Request<ContentMessage<VoiceContent>> = SendVoice(
): Request<ChatContentMessage<VoiceContent>> = SendVoice(
chatId = chatId,
voice = media.fileId,
entities = textSources,

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.types.update
import dev.inmo.tgbotapi.types.UpdateId
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.CommonContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
@@ -13,5 +14,5 @@ data class BusinessMessageUpdate(
/**
* @param newData Must be [BusinessContentMessage]
*/
override fun copy(newData: ContentMessage<*>) = copy(updateId, newData as BusinessContentMessage<*>)
override fun copy(newData: AccessibleMessage) = copy(updateId, newData as BusinessContentMessage<*>)
}

View File

@@ -2,12 +2,11 @@ package dev.inmo.tgbotapi.types.update
import dev.inmo.tgbotapi.types.UpdateId
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
data class ChannelPostUpdate(
override val updateId: UpdateId,
override val data: AccessibleMessage
) : BaseSentMessageUpdate {
override fun copy(newData: ContentMessage<*>): BaseSentMessageUpdate = copy(updateId, newData)
override fun copy(newData: AccessibleMessage): BaseSentMessageUpdate = copy(updateId, newData)
}

View File

@@ -2,9 +2,6 @@ package dev.inmo.tgbotapi.types.update
import dev.inmo.tgbotapi.types.UpdateId
import dev.inmo.tgbotapi.types.business_connection.BusinessMessagesDeleted
import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.update.abstracts.BaseEditMessageUpdate
import dev.inmo.tgbotapi.types.update.abstracts.Update
data class DeletedBusinessMessageUpdate(

View File

@@ -2,7 +2,6 @@ package dev.inmo.tgbotapi.types.update
import dev.inmo.tgbotapi.types.UpdateId
import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.update.abstracts.BaseEditMessageUpdate
data class EditBusinessMessageUpdate(

View File

@@ -1,10 +1,10 @@
package dev.inmo.tgbotapi.types.update
import dev.inmo.tgbotapi.types.UpdateId
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.update.abstracts.BaseEditMessageUpdate
data class EditChannelPostUpdate(
override val updateId: UpdateId,
override val data: CommonMessage<*>
override val data: ChatContentMessage<*>
) : BaseEditMessageUpdate

View File

@@ -1,10 +1,10 @@
package dev.inmo.tgbotapi.types.update
import dev.inmo.tgbotapi.types.UpdateId
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
import dev.inmo.tgbotapi.types.update.abstracts.BaseEditMessageUpdate
data class EditMessageUpdate(
override val updateId: UpdateId,
override val data: CommonMessage<*>
override val data: ChatContentMessage<*>
) : BaseEditMessageUpdate

View File

@@ -0,0 +1,18 @@
package dev.inmo.tgbotapi.types.update
import dev.inmo.tgbotapi.types.UpdateId
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.CommonContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.GuestContentMessage
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
data class GuestMessageUpdate(
override val updateId: UpdateId,
override val data: GuestContentMessage<*>
) : BaseSentMessageUpdate {
/**
* @param newData Must be [GuestContentMessage]
*/
override fun copy(newData: AccessibleMessage) = copy(updateId, newData as GuestContentMessage<*>)
}

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.update
import dev.inmo.tgbotapi.types.UpdateId
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.CommonContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
@@ -9,5 +10,5 @@ data class MessageUpdate(
override val updateId: UpdateId,
override val data: AccessibleMessage
) : BaseSentMessageUpdate {
override fun copy(newData: ContentMessage<*>) = copy(updateId, newData)
override fun copy(newData: AccessibleMessage) = copy(updateId, newData)
}

View File

@@ -31,13 +31,13 @@ internal data class RawUpdate constructor(
val updateId: UpdateId,
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
private val edited_message: CommonMessage<*>? = null,
private val edited_message: ChatContentMessage<*>? = null,
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
private val message: AccessibleMessage? = null,
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
private val edited_channel_post: CommonMessage<*>? = null,
private val edited_channel_post: ChatContentMessage<*>? = null,
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
private val channel_post: AccessibleMessage? = null,
@@ -64,6 +64,9 @@ internal data class RawUpdate constructor(
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
private val edited_business_message: BusinessContentMessage<*>? = null,
private val deleted_business_messages: BusinessMessagesDeleted? = null,
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
private val guest_message: GuestContentMessage<*>? = null,
private val purchased_paid_media: PaidMediaPurchased? = null,
private val managed_bot: ManagedBotUpdated? = null,
) {
@@ -101,6 +104,7 @@ internal data class RawUpdate constructor(
business_message != null -> BusinessMessageUpdate(updateId, business_message)
edited_business_message != null -> EditBusinessMessageUpdate(updateId, edited_business_message)
deleted_business_messages != null -> DeletedBusinessMessageUpdate(updateId, deleted_business_messages)
guest_message != null -> GuestMessageUpdate(updateId, guest_message)
purchased_paid_media != null -> PaidMediaPurchasedUpdate(updateId, purchased_paid_media)
managed_bot != null -> ManagedBotUpdate(updateId, managed_bot)
else -> UnknownUpdate(

View File

@@ -1,7 +1,7 @@
package dev.inmo.tgbotapi.types.update.abstracts
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChatContentMessage
interface BaseEditMessageUpdate : BaseMessageUpdate {
override val data: CommonMessage<*>
override val data: ChatContentMessage<*>
}

View File

@@ -1,6 +1,8 @@
package dev.inmo.tgbotapi.types.update.abstracts
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.CommonContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.Message
interface BaseMessageUpdate : Update {
override val data: AccessibleMessage

View File

@@ -1,7 +1,6 @@
package dev.inmo.tgbotapi.types.update.abstracts
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
interface BaseSentMessageUpdate : BaseMessageUpdate {
/**
@@ -9,5 +8,5 @@ interface BaseSentMessageUpdate : BaseMessageUpdate {
*
* **THERE IS NO ANY GUARANTEE THAT THIS METHOD WILL NOT THROW ANY EXCEPTION**
*/
fun copy(newData: ContentMessage<*>): BaseSentMessageUpdate
fun copy(newData: AccessibleMessage): BaseSentMessageUpdate
}

View File

@@ -44,6 +44,7 @@ interface FlowsUpdatesFilter : UpdatesFilter {
val businessMessageUpdatesFlow: Flow<BusinessMessageUpdate>
val editBusinessMessageUpdatesFlow: Flow<EditBusinessMessageUpdate>
val deleteBusinessMessageUpdatesFlow: Flow<DeletedBusinessMessageUpdate>
val guestMessageUpdatesFlow: Flow<GuestMessageUpdate>
val paidMediaPurchasedUpdatesFlow: Flow<PaidMediaPurchasedUpdate>
val managedBotUpdatesFlow: Flow<ManagedBotUpdate>
val unknownUpdatesFlow: Flow<UnknownUpdate>
@@ -73,6 +74,7 @@ abstract class AbstractFlowsUpdatesFilter : FlowsUpdatesFilter {
override val businessMessageUpdatesFlow: Flow<BusinessMessageUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
override val editBusinessMessageUpdatesFlow: Flow<EditBusinessMessageUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
override val deleteBusinessMessageUpdatesFlow: Flow<DeletedBusinessMessageUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
override val guestMessageUpdatesFlow: Flow<GuestMessageUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
override val paidMediaPurchasedUpdatesFlow: Flow<PaidMediaPurchasedUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
override val managedBotUpdatesFlow: Flow<ManagedBotUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
}

View File

@@ -8,7 +8,7 @@ import dev.inmo.tgbotapi.types.message.content.MediaGroupPartContent
import dev.inmo.tgbotapi.utils.RiskFeature
@RiskFeature("This API is experimental and can be changed without any notice, use with caution")
fun <T : MediaGroupPartContent> List<PossiblySentViaBotCommonMessage<T>>.asMediaGroupMessage(): PossiblySentViaBotCommonMessage<MediaGroupContent<T>> {
fun <T : MediaGroupPartContent> List<CommonContentMessage<T>>.asMediaGroupMessage(): CommonContentMessage<MediaGroupContent<T>> {
val sourceMessage = first()
val content = MediaGroupContent(
map { MediaGroupCollectionContent.PartWrapper(it.messageId, it.content, it) },
@@ -267,5 +267,24 @@ fun <T : MediaGroupPartContent> List<PossiblySentViaBotCommonMessage<T>>.asMedia
suggestedPostInfo = sourceMessage.suggestedPostInfo,
cost = sourceMessage.cost,
)
is GuestContentMessage -> GuestContentMessageImpl(
messageId = sourceMessage.messageId,
from = sourceMessage.user,
chat = sourceMessage.chat,
guestQueryId = sourceMessage.guestQueryId,
content = content,
date = sourceMessage.date,
editDate = sourceMessage.editDate,
hasProtectedContent = sourceMessage.hasProtectedContent,
forwardOrigin = sourceMessage.forwardOrigin,
replyInfo = sourceMessage.replyInfo,
replyMarkup = sourceMessage.replyMarkup,
senderBot = sourceMessage.senderBot,
mediaGroupId = sourceMessage.mediaGroupId,
guestBotCallerUser = sourceMessage.guestBotCallerUser,
guestBotCallerChat = sourceMessage.guestBotCallerChat,
fromOffline = sourceMessage.fromOffline,
cost = sourceMessage.cost,
)
}
}