mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2026-07-30 13:47:09 +00:00
Add Bot API 10.2 subscription updates support
New BotSubscriptionUpdated payload (user, invoicePayload, typed state: Canceled/Active/Failed/Unknown) in dev.inmo.tgbotapi.types.payments and the BotSubscriptionUpdatedUpdate for the new subscription update (UPDATE_SUBSCRIPTION), FlowsUpdatesFilter.botSubscriptionUpdatedUpdatesFlow, onBotSubscriptionUpdated trigger, waitBotSubscriptionUpdated expectation and class casts. Notes the Telegram-side Mini App method-origin security hardening. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -26,6 +26,8 @@
|
|||||||
* (`Communities`) Added `CommunityId` value class and `Community` type (`id`/`name`)
|
* (`Communities`) Added `CommunityId` value class and `Community` type (`id`/`name`)
|
||||||
* (`Communities`) Added `CommunityChatAdded` (`community`) and `CommunityChatRemoved` (fieldless) chat events (`CommonEvent`); `RawMessage` parses `community_chat_added`/`community_chat_removed`
|
* (`Communities`) Added `CommunityChatAdded` (`community`) and `CommunityChatRemoved` (fieldless) chat events (`CommonEvent`); `RawMessage` parses `community_chat_added`/`community_chat_removed`
|
||||||
* (`Communities`) Added `community` field to `ExtendedChat` (`ChatFullInfo.community`), parsed for `ExtendedChannelChatImpl`, `ExtendedGroupChatImpl`, `ExtendedSupergroupChatImpl`, `ExtendedForumChatImpl`, `ExtendedChannelDirectMessagesChatImpl` and `ExtendedBot`
|
* (`Communities`) Added `community` field to `ExtendedChat` (`ChatFullInfo.community`), parsed for `ExtendedChannelChatImpl`, `ExtendedGroupChatImpl`, `ExtendedSupergroupChatImpl`, `ExtendedForumChatImpl`, `ExtendedChannelDirectMessagesChatImpl` and `ExtendedBot`
|
||||||
|
* (`Bot Subscriptions`) Added `BotSubscriptionUpdated` (`user`, `invoicePayload`, `state`) and `BotSubscriptionUpdatedUpdate`; `state` is modeled as the typed sealed `BotSubscriptionUpdated.State` (`Canceled`/`Active`/`Failed`, with an `Unknown` fallback), mirroring `TransactionType`
|
||||||
|
* (`Bot Subscriptions`) `RawUpdate` parses the new `subscription` field; added `UPDATE_SUBSCRIPTION` to `ALL_UPDATES_LIST_WITHOUT_REACTIONS`; `FlowsUpdatesFilter` gained `botSubscriptionUpdatedUpdatesFlow`
|
||||||
* `API`:
|
* `API`:
|
||||||
* (`Ephemeral Messages`) Threaded `receiverUserId`/`callbackQueryId` through the `sendXxx`/`send`/`reply`/`replyWithXxx` extensions for the 13 ephemeral-capable senders (`send/Sends.kt`, `send/Replies.kt`, `send/RepliesWithChatsAndMessages.kt` and their per-type extension files); `reply(to = ...)` now automatically sends an ephemeral reply when `to` is itself ephemeral (see Breaking changes)
|
* (`Ephemeral Messages`) Threaded `receiverUserId`/`callbackQueryId` through the `sendXxx`/`send`/`reply`/`replyWithXxx` extensions for the 13 ephemeral-capable senders (`send/Sends.kt`, `send/Replies.kt`, `send/RepliesWithChatsAndMessages.kt` and their per-type extension files); `reply(to = ...)` now automatically sends an ephemeral reply when `to` is itself ephemeral (see Breaking changes)
|
||||||
* (`Ephemeral Messages`) Added `editEphemeralMessageText`/`editEphemeralMessageMedia`/`editEphemeralMessageCaption`/`editEphemeralMessageReplyMarkup` and `deleteEphemeralMessage` `TelegramBot` extensions (the latter also accepts a `PossiblyEphemeralMessage` directly)
|
* (`Ephemeral Messages`) Added `editEphemeralMessageText`/`editEphemeralMessageMedia`/`editEphemeralMessageCaption`/`editEphemeralMessageReplyMarkup` and `deleteEphemeralMessage` `TelegramBot` extensions (the latter also accepts a `PossiblyEphemeralMessage` directly)
|
||||||
@@ -34,6 +36,11 @@
|
|||||||
* `BehaviourBuilder`:
|
* `BehaviourBuilder`:
|
||||||
* (`Communities`) Added `onCommunityChatAdded`/`onCommunityChatRemoved` triggers
|
* (`Communities`) Added `onCommunityChatAdded`/`onCommunityChatRemoved` triggers
|
||||||
* (`Communities`) Added `waitCommunityChatAdded`/`waitCommunityChatRemoved` and `waitCommunityChatAddedEventsMessages`/`waitCommunityChatRemovedEventsMessages` expectations
|
* (`Communities`) Added `waitCommunityChatAdded`/`waitCommunityChatRemoved` and `waitCommunityChatAddedEventsMessages`/`waitCommunityChatRemovedEventsMessages` expectations
|
||||||
|
* (`Bot Subscriptions`) Added `onBotSubscriptionUpdated` trigger, `waitBotSubscriptionUpdated` expectation and `ByUserBotSubscriptionUpdatedMarkerFactory`
|
||||||
|
* `Utils`:
|
||||||
|
* (`Bot Subscriptions`) Added class casts for `BotSubscriptionUpdatedUpdate` (`whenBotSubscriptionUpdatedUpdate`/`asBotSubscriptionUpdatedUpdate`/`requireBotSubscriptionUpdatedUpdate`); regenerated class casts extensions (`botSubscriptionUpdatedUpdateOrNull`/`OrThrow`, `botSubscriptionUpdatedOrNull`/`OrThrow`)
|
||||||
|
* `WebApps`:
|
||||||
|
* Telegram hardened Mini App method-origin security, auto-enabling for all Mini Apps on July 20, 2026; no library change required
|
||||||
|
|
||||||
## 35.1.0
|
## 35.1.0
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ public final class dev/inmo/tgbotapi/extensions/behaviour_builder/DefaultBehavio
|
|||||||
public fun getAllowedUpdates ()Ljava/util/List;
|
public fun getAllowedUpdates ()Ljava/util/List;
|
||||||
public fun getAsUpdateReceiver ()Lkotlin/jvm/functions/Function2;
|
public fun getAsUpdateReceiver ()Lkotlin/jvm/functions/Function2;
|
||||||
public fun getBot ()Ldev/inmo/tgbotapi/bot/RequestsExecutor;
|
public fun getBot ()Ldev/inmo/tgbotapi/bot/RequestsExecutor;
|
||||||
|
public fun getBotSubscriptionUpdatedUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public fun getBusinessConnectionUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public fun getBusinessConnectionUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public fun getBusinessMessageUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public fun getBusinessMessageUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public fun getCallbackQueriesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public fun getCallbackQueriesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
|
|||||||
@@ -166,6 +166,11 @@ public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/B
|
|||||||
public static synthetic fun expectOne$default (Ldev/inmo/tgbotapi/updateshandlers/FlowsUpdatesFilter;Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun expectOne$default (Ldev/inmo/tgbotapi/updateshandlers/FlowsUpdatesFilter;Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitBotSubscriptionUpdatedKt {
|
||||||
|
public static final fun waitBotSubscriptionUpdated (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
|
||||||
|
public static synthetic fun waitBotSubscriptionUpdated$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitBusinessConnectionKt {
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitBusinessConnectionKt {
|
||||||
public static final fun waitBusinessConnection (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
|
public static final fun waitBusinessConnection (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow;
|
||||||
public static synthetic fun waitBusinessConnection$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
|
public static synthetic fun waitBusinessConnection$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/flow/Flow;
|
||||||
@@ -1032,6 +1037,11 @@ public final class dev/inmo/tgbotapi/extensions/behaviour_builder/filters/Messag
|
|||||||
public static final fun getMessageFilterForums ()Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/SimpleFilter;
|
public static final fun getMessageFilterForums ()Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/SimpleFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/BotSubscriptionUpdatedTriggersKt {
|
||||||
|
public static final fun onBotSubscriptionUpdated (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/SimpleFilter;Lkotlin/jvm/functions/Function4;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function3;)Lkotlinx/coroutines/Job;
|
||||||
|
public static synthetic fun onBotSubscriptionUpdated$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/SimpleFilter;Lkotlin/jvm/functions/Function4;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlinx/coroutines/Job;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/BusinessConnectionTriggersKt {
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/BusinessConnectionTriggersKt {
|
||||||
public static final fun onBusinessConnection (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/SimpleFilter;Lkotlin/jvm/functions/Function4;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function3;)Lkotlinx/coroutines/Job;
|
public static final fun onBusinessConnection (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/SimpleFilter;Lkotlin/jvm/functions/Function4;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function3;)Lkotlinx/coroutines/Job;
|
||||||
public static synthetic fun onBusinessConnection$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/SimpleFilter;Lkotlin/jvm/functions/Function4;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlinx/coroutines/Job;
|
public static synthetic fun onBusinessConnection$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/SimpleFilter;Lkotlin/jvm/functions/Function4;Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory;Lkotlin/jvm/functions/Function4;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)Lkotlinx/coroutines/Job;
|
||||||
@@ -1882,6 +1892,12 @@ public final class dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_f
|
|||||||
public fun invoke-ErVIubg (Ldev/inmo/tgbotapi/types/polls/Poll;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public fun invoke-ErVIubg (Ldev/inmo/tgbotapi/types/polls/Poll;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByUserBotSubscriptionUpdatedMarkerFactory : dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByUserBotSubscriptionUpdatedMarkerFactory;
|
||||||
|
public fun invoke (Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public synthetic fun invoke (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByUserBusinessConnectionUpdatedMarkerFactory : dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory {
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByUserBusinessConnectionUpdatedMarkerFactory : dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory {
|
||||||
public static final field INSTANCE Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByUserBusinessConnectionUpdatedMarkerFactory;
|
public static final field INSTANCE Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByUserBusinessConnectionUpdatedMarkerFactory;
|
||||||
public fun invoke (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public fun invoke (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.behaviour_builder.expectations
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.botSubscriptionUpdatedUpdateOrNull
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.Request
|
||||||
|
import dev.inmo.tgbotapi.types.payments.BotSubscriptionUpdated
|
||||||
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
|
fun BehaviourContext.waitBotSubscriptionUpdated(
|
||||||
|
initRequest: Request<*>? = null,
|
||||||
|
errorFactory: NullableRequestBuilder<*> = { null }
|
||||||
|
): Flow<BotSubscriptionUpdated> = expectFlow(
|
||||||
|
initRequest,
|
||||||
|
errorFactory
|
||||||
|
) {
|
||||||
|
(it.botSubscriptionUpdatedUpdateOrNull() ?.data).let(::listOfNotNull)
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.CustomBehaviourContextAndTwoTypesReceiver
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.CustomBehaviourContextAndTypeReceiver
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.SimpleFilter
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.ByUserBotSubscriptionUpdatedMarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.botSubscriptionUpdatedUpdateOrNull
|
||||||
|
import dev.inmo.tgbotapi.types.payments.BotSubscriptionUpdated
|
||||||
|
import dev.inmo.tgbotapi.types.update.abstracts.Update
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param initialFilter This filter will be called to remove unnecessary data BEFORE [scenarioReceiver] call
|
||||||
|
* @param subcontextUpdatesFilter This filter will be applied to each update inside of [scenarioReceiver]. For example,
|
||||||
|
* this filter will be used if you will call [dev.inmo.tgbotapi.extensions.behaviour_builder.expectations.waitContentMessage].
|
||||||
|
* Use [dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextAndTwoTypesReceiver] function to create your own.
|
||||||
|
* Use [dev.inmo.tgbotapi.extensions.behaviour_builder.utils.plus] or [dev.inmo.tgbotapi.extensions.behaviour_builder.utils.times]
|
||||||
|
* to combinate several filters
|
||||||
|
* @param [markerFactory] **Pass null to handle requests fully parallel**. Will be used to identify different "stream".
|
||||||
|
* [scenarioReceiver] will be called synchronously in one "stream". Output of [markerFactory] will be used as a key for
|
||||||
|
* "stream"
|
||||||
|
* @param scenarioReceiver Main callback which will be used to handle incoming data if [initialFilter] will pass that
|
||||||
|
* data
|
||||||
|
*/
|
||||||
|
fun <BC : BehaviourContext> BC.onBotSubscriptionUpdated(
|
||||||
|
initialFilter: SimpleFilter<BotSubscriptionUpdated>? = null,
|
||||||
|
subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, BotSubscriptionUpdated, Update>? = null,
|
||||||
|
markerFactory: MarkerFactory<in BotSubscriptionUpdated, Any>? = ByUserBotSubscriptionUpdatedMarkerFactory,
|
||||||
|
additionalSubcontextInitialAction: CustomBehaviourContextAndTwoTypesReceiver<BC, Unit, Update, BotSubscriptionUpdated>? = null,
|
||||||
|
scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, BotSubscriptionUpdated>
|
||||||
|
) = on(markerFactory, initialFilter, subcontextUpdatesFilter, additionalSubcontextInitialAction, scenarioReceiver) {
|
||||||
|
(it.botSubscriptionUpdatedUpdateOrNull() ?.data) ?.let(::listOfNotNull)
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.payments.BotSubscriptionUpdated
|
||||||
|
|
||||||
|
object ByUserBotSubscriptionUpdatedMarkerFactory : MarkerFactory<BotSubscriptionUpdated, Any> {
|
||||||
|
override suspend fun invoke(data: BotSubscriptionUpdated) = data.user
|
||||||
|
}
|
||||||
@@ -15851,6 +15851,7 @@ public final class dev/inmo/tgbotapi/types/UpdateTypesKt {
|
|||||||
public static final field UPDATE_PURCHASED_PAID_MEDIA Ljava/lang/String;
|
public static final field UPDATE_PURCHASED_PAID_MEDIA Ljava/lang/String;
|
||||||
public static final field UPDATE_REMOVE_CHAT_BOOST Ljava/lang/String;
|
public static final field UPDATE_REMOVE_CHAT_BOOST Ljava/lang/String;
|
||||||
public static final field UPDATE_SHIPPING_QUERY Ljava/lang/String;
|
public static final field UPDATE_SHIPPING_QUERY Ljava/lang/String;
|
||||||
|
public static final field UPDATE_SUBSCRIPTION Ljava/lang/String;
|
||||||
public static final fun getALL_UPDATES_LIST ()Ljava/util/List;
|
public static final fun getALL_UPDATES_LIST ()Ljava/util/List;
|
||||||
public static final fun getALL_UPDATES_LIST_WITHOUT_REACTIONS ()Ljava/util/List;
|
public static final fun getALL_UPDATES_LIST_WITHOUT_REACTIONS ()Ljava/util/List;
|
||||||
}
|
}
|
||||||
@@ -32796,6 +32797,103 @@ public final class dev/inmo/tgbotapi/types/payments/AffiliateInfo$Companion {
|
|||||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated : dev/inmo/tgbotapi/abstracts/WithUser {
|
||||||
|
public static final field Companion Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$Companion;
|
||||||
|
public fun <init> (Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State;)V
|
||||||
|
public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/User;
|
||||||
|
public final fun component2 ()Ljava/lang/String;
|
||||||
|
public final fun component3 ()Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State;
|
||||||
|
public final fun copy (Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State;)Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;
|
||||||
|
public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;
|
||||||
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public final fun getInvoicePayload ()Ljava/lang/String;
|
||||||
|
public final fun getState ()Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State;
|
||||||
|
public fun getUser ()Ldev/inmo/tgbotapi/types/chat/User;
|
||||||
|
public fun hashCode ()I
|
||||||
|
public fun toString ()Ljava/lang/String;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final synthetic class dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$$serializer;
|
||||||
|
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||||
|
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;
|
||||||
|
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/payments/BotSubscriptionUpdated;)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/payments/BotSubscriptionUpdated$Companion {
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract interface class dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State {
|
||||||
|
public static final field Companion Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Companion;
|
||||||
|
public abstract fun getName ()Ljava/lang/String;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Active : dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Active;
|
||||||
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public fun getName ()Ljava/lang/String;
|
||||||
|
public fun hashCode ()I
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
public fun toString ()Ljava/lang/String;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Canceled : dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Canceled;
|
||||||
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public fun getName ()Ljava/lang/String;
|
||||||
|
public fun hashCode ()I
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
public fun toString ()Ljava/lang/String;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Companion {
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Failed : dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Failed;
|
||||||
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public fun getName ()Ljava/lang/String;
|
||||||
|
public fun hashCode ()I
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
public fun toString ()Ljava/lang/String;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Unknown : dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State {
|
||||||
|
public static final field Companion Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Unknown$Companion;
|
||||||
|
public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Unknown;
|
||||||
|
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 fun getName ()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/payments/BotSubscriptionUpdated$State$Unknown$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Unknown$$serializer;
|
||||||
|
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||||
|
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
|
||||||
|
public final fun deserialize-56ZYDkg (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-OHdutMU (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V
|
||||||
|
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated$State$Unknown$Companion {
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/types/payments/CurrenciedKt {
|
public final class dev/inmo/tgbotapi/types/payments/CurrenciedKt {
|
||||||
public static final fun javaCurrency (Ldev/inmo/tgbotapi/types/payments/abstracts/Currencied;)Ljava/util/Currency;
|
public static final fun javaCurrency (Ldev/inmo/tgbotapi/types/payments/abstracts/Currencied;)Ljava/util/Currency;
|
||||||
}
|
}
|
||||||
@@ -38618,6 +38716,36 @@ public final class dev/inmo/tgbotapi/types/stories/StoryAreaType$Weather$Compani
|
|||||||
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate : dev/inmo/tgbotapi/types/update/abstracts/Update {
|
||||||
|
public static final field Companion Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate$Companion;
|
||||||
|
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||||
|
public final fun component1-4k5XoGU ()J
|
||||||
|
public final fun component2 ()Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;
|
||||||
|
public final fun copy-VElHuNg (JLdev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;)Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate;
|
||||||
|
public static synthetic fun copy-VElHuNg$default (Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate;JLdev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate;
|
||||||
|
public fun equals (Ljava/lang/Object;)Z
|
||||||
|
public fun getData ()Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;
|
||||||
|
public synthetic fun getData ()Ljava/lang/Object;
|
||||||
|
public fun getUpdateId-4k5XoGU ()J
|
||||||
|
public fun hashCode ()I
|
||||||
|
public fun toString ()Ljava/lang/String;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final synthetic class dev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate$$serializer;
|
||||||
|
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
|
||||||
|
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate;
|
||||||
|
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/update/BotSubscriptionUpdatedUpdate;)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/update/BotSubscriptionUpdatedUpdate$Companion {
|
||||||
|
public final fun serializer ()Lkotlinx/serialization/KSerializer;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/types/update/BusinessConnectionUpdate : dev/inmo/tgbotapi/types/update/abstracts/Update {
|
public final class dev/inmo/tgbotapi/types/update/BusinessConnectionUpdate : dev/inmo/tgbotapi/types/update/abstracts/Update {
|
||||||
public static final field Companion Ldev/inmo/tgbotapi/types/update/BusinessConnectionUpdate$Companion;
|
public static final field Companion Ldev/inmo/tgbotapi/types/update/BusinessConnectionUpdate$Companion;
|
||||||
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/business_connection/BusinessConnection;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
public synthetic fun <init> (JLdev/inmo/tgbotapi/types/business_connection/BusinessConnection;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||||
@@ -39245,6 +39373,7 @@ public final class dev/inmo/tgbotapi/types/webapps/query/SentWebAppMessage$Compa
|
|||||||
public abstract class dev/inmo/tgbotapi/updateshandlers/AbstractFlowsUpdatesFilter : dev/inmo/tgbotapi/updateshandlers/FlowsUpdatesFilter {
|
public abstract class dev/inmo/tgbotapi/updateshandlers/AbstractFlowsUpdatesFilter : dev/inmo/tgbotapi/updateshandlers/FlowsUpdatesFilter {
|
||||||
public fun <init> ()V
|
public fun <init> ()V
|
||||||
public fun getAllowedUpdates ()Ljava/util/List;
|
public fun getAllowedUpdates ()Ljava/util/List;
|
||||||
|
public fun getBotSubscriptionUpdatedUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public fun getBusinessConnectionUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public fun getBusinessConnectionUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public fun getBusinessMessageUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public fun getBusinessMessageUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public fun getCallbackQueriesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public fun getCallbackQueriesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
@@ -39288,6 +39417,7 @@ public final class dev/inmo/tgbotapi/updateshandlers/DefaultFlowsUpdatesFilter :
|
|||||||
public abstract interface class dev/inmo/tgbotapi/updateshandlers/FlowsUpdatesFilter : dev/inmo/tgbotapi/updateshandlers/UpdatesFilter {
|
public abstract interface class dev/inmo/tgbotapi/updateshandlers/FlowsUpdatesFilter : dev/inmo/tgbotapi/updateshandlers/UpdatesFilter {
|
||||||
public abstract fun getAllUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public abstract fun getAllUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public fun getAllowedUpdates ()Ljava/util/List;
|
public fun getAllowedUpdates ()Ljava/util/List;
|
||||||
|
public abstract fun getBotSubscriptionUpdatedUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public abstract fun getBusinessConnectionUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public abstract fun getBusinessConnectionUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public abstract fun getBusinessMessageUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public abstract fun getBusinessMessageUpdatesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
public abstract fun getCallbackQueriesFlow ()Lkotlinx/coroutines/flow/Flow;
|
public abstract fun getCallbackQueriesFlow ()Lkotlinx/coroutines/flow/Flow;
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ const val UPDATE_GUEST_MESSAGE = "guest_message"
|
|||||||
|
|
||||||
const val UPDATE_MANAGED_BOT = "managed_bot"
|
const val UPDATE_MANAGED_BOT = "managed_bot"
|
||||||
|
|
||||||
|
const val UPDATE_SUBSCRIPTION = "subscription"
|
||||||
|
|
||||||
val ALL_UPDATES_LIST_WITHOUT_REACTIONS = listOf(
|
val ALL_UPDATES_LIST_WITHOUT_REACTIONS = listOf(
|
||||||
UPDATE_MESSAGE,
|
UPDATE_MESSAGE,
|
||||||
UPDATE_EDITED_MESSAGE,
|
UPDATE_EDITED_MESSAGE,
|
||||||
@@ -65,6 +67,8 @@ val ALL_UPDATES_LIST_WITHOUT_REACTIONS = listOf(
|
|||||||
UPDATE_REMOVE_CHAT_BOOST,
|
UPDATE_REMOVE_CHAT_BOOST,
|
||||||
|
|
||||||
UPDATE_MANAGED_BOT,
|
UPDATE_MANAGED_BOT,
|
||||||
|
|
||||||
|
UPDATE_SUBSCRIPTION,
|
||||||
)
|
)
|
||||||
|
|
||||||
val ALL_UPDATES_LIST = ALL_UPDATES_LIST_WITHOUT_REACTIONS + listOf(
|
val ALL_UPDATES_LIST = ALL_UPDATES_LIST_WITHOUT_REACTIONS + listOf(
|
||||||
|
|||||||
@@ -0,0 +1,85 @@
|
|||||||
|
@file:OptIn(ExperimentalSerializationApi::class)
|
||||||
|
|
||||||
|
package dev.inmo.tgbotapi.types.payments
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.WithUser
|
||||||
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
|
import dev.inmo.tgbotapi.types.invoicePayloadField
|
||||||
|
import dev.inmo.tgbotapi.types.stateField
|
||||||
|
import dev.inmo.tgbotapi.types.userField
|
||||||
|
import kotlinx.serialization.EncodeDefault
|
||||||
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
|
import kotlinx.serialization.KSerializer
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.descriptors.PrimitiveKind
|
||||||
|
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
|
||||||
|
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||||
|
import kotlinx.serialization.encoding.Decoder
|
||||||
|
import kotlinx.serialization.encoding.Encoder
|
||||||
|
import kotlin.jvm.JvmInline
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Information about changes to a user payment subscription toward the current bot
|
||||||
|
*
|
||||||
|
* @param user User who subscribed for payments toward the bot
|
||||||
|
* @param invoicePayload Bot-specified invoice payload
|
||||||
|
* @param state New state of the subscription
|
||||||
|
*/
|
||||||
|
@Serializable
|
||||||
|
data class BotSubscriptionUpdated(
|
||||||
|
@SerialName(userField)
|
||||||
|
override val user: User,
|
||||||
|
@SerialName(invoicePayloadField)
|
||||||
|
val invoicePayload: String,
|
||||||
|
@SerialName(stateField)
|
||||||
|
val state: State
|
||||||
|
) : WithUser {
|
||||||
|
@Serializable(StateSerializer::class)
|
||||||
|
sealed interface State {
|
||||||
|
val name: String
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data object Canceled : State {
|
||||||
|
@EncodeDefault
|
||||||
|
override val name = "canceled"
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data object Active : State {
|
||||||
|
@EncodeDefault
|
||||||
|
override val name = "active"
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data object Failed : State {
|
||||||
|
@EncodeDefault
|
||||||
|
override val name = "failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@JvmInline
|
||||||
|
value class Unknown(override val name: String) : State
|
||||||
|
}
|
||||||
|
|
||||||
|
private object StateSerializer : KSerializer<State> {
|
||||||
|
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor(
|
||||||
|
serialName = "dev.inmo.tgbotapi.types.payments.BotSubscriptionUpdated.State",
|
||||||
|
kind = PrimitiveKind.STRING
|
||||||
|
)
|
||||||
|
|
||||||
|
override fun deserialize(decoder: Decoder): State {
|
||||||
|
val value = decoder.decodeString()
|
||||||
|
return when (value) {
|
||||||
|
State.Canceled.name -> State.Canceled
|
||||||
|
State.Active.name -> State.Active
|
||||||
|
State.Failed.name -> State.Failed
|
||||||
|
else -> State.Unknown(value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun serialize(encoder: Encoder, value: State) {
|
||||||
|
encoder.encodeString(value.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.update
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.UpdateId
|
||||||
|
import dev.inmo.tgbotapi.types.payments.BotSubscriptionUpdated
|
||||||
|
import dev.inmo.tgbotapi.types.update.abstracts.Update
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class BotSubscriptionUpdatedUpdate(
|
||||||
|
override val updateId: UpdateId,
|
||||||
|
override val data: BotSubscriptionUpdated
|
||||||
|
) : Update
|
||||||
@@ -15,6 +15,7 @@ import dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated
|
|||||||
import dev.inmo.tgbotapi.types.managed_bots.ManagedBotUpdated
|
import dev.inmo.tgbotapi.types.managed_bots.ManagedBotUpdated
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.*
|
import dev.inmo.tgbotapi.types.message.abstracts.*
|
||||||
import dev.inmo.tgbotapi.types.message.payments.PaidMediaPurchased
|
import dev.inmo.tgbotapi.types.message.payments.PaidMediaPurchased
|
||||||
|
import dev.inmo.tgbotapi.types.payments.BotSubscriptionUpdated
|
||||||
import dev.inmo.tgbotapi.types.payments.PreCheckoutQuery
|
import dev.inmo.tgbotapi.types.payments.PreCheckoutQuery
|
||||||
import dev.inmo.tgbotapi.types.payments.ShippingQuery
|
import dev.inmo.tgbotapi.types.payments.ShippingQuery
|
||||||
import dev.inmo.tgbotapi.types.polls.Poll
|
import dev.inmo.tgbotapi.types.polls.Poll
|
||||||
@@ -69,6 +70,7 @@ internal data class RawUpdate constructor(
|
|||||||
private val guest_message: RequestGuestContentMessage<*>? = null,
|
private val guest_message: RequestGuestContentMessage<*>? = null,
|
||||||
private val purchased_paid_media: PaidMediaPurchased? = null,
|
private val purchased_paid_media: PaidMediaPurchased? = null,
|
||||||
private val managed_bot: ManagedBotUpdated? = null,
|
private val managed_bot: ManagedBotUpdated? = null,
|
||||||
|
private val subscription: BotSubscriptionUpdated? = null,
|
||||||
) {
|
) {
|
||||||
@Transient
|
@Transient
|
||||||
private var initedUpdate: Update? = null
|
private var initedUpdate: Update? = null
|
||||||
@@ -107,6 +109,7 @@ internal data class RawUpdate constructor(
|
|||||||
guest_message != null -> GuestMessageUpdate(updateId, guest_message)
|
guest_message != null -> GuestMessageUpdate(updateId, guest_message)
|
||||||
purchased_paid_media != null -> PaidMediaPurchasedUpdate(updateId, purchased_paid_media)
|
purchased_paid_media != null -> PaidMediaPurchasedUpdate(updateId, purchased_paid_media)
|
||||||
managed_bot != null -> ManagedBotUpdate(updateId, managed_bot)
|
managed_bot != null -> ManagedBotUpdate(updateId, managed_bot)
|
||||||
|
subscription != null -> BotSubscriptionUpdatedUpdate(updateId, subscription)
|
||||||
else -> UnknownUpdate(
|
else -> UnknownUpdate(
|
||||||
updateId,
|
updateId,
|
||||||
raw
|
raw
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ interface FlowsUpdatesFilter : UpdatesFilter {
|
|||||||
val guestMessageUpdatesFlow: Flow<GuestMessageUpdate>
|
val guestMessageUpdatesFlow: Flow<GuestMessageUpdate>
|
||||||
val paidMediaPurchasedUpdatesFlow: Flow<PaidMediaPurchasedUpdate>
|
val paidMediaPurchasedUpdatesFlow: Flow<PaidMediaPurchasedUpdate>
|
||||||
val managedBotUpdatesFlow: Flow<ManagedBotUpdate>
|
val managedBotUpdatesFlow: Flow<ManagedBotUpdate>
|
||||||
|
val botSubscriptionUpdatedUpdatesFlow: Flow<BotSubscriptionUpdatedUpdate>
|
||||||
val unknownUpdatesFlow: Flow<UnknownUpdate>
|
val unknownUpdatesFlow: Flow<UnknownUpdate>
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,6 +78,7 @@ abstract class AbstractFlowsUpdatesFilter : FlowsUpdatesFilter {
|
|||||||
override val guestMessageUpdatesFlow: Flow<GuestMessageUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
override val guestMessageUpdatesFlow: Flow<GuestMessageUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
||||||
override val paidMediaPurchasedUpdatesFlow: Flow<PaidMediaPurchasedUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
override val paidMediaPurchasedUpdatesFlow: Flow<PaidMediaPurchasedUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
||||||
override val managedBotUpdatesFlow: Flow<ManagedBotUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
override val managedBotUpdatesFlow: Flow<ManagedBotUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
||||||
|
override val botSubscriptionUpdatedUpdatesFlow: Flow<BotSubscriptionUpdatedUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsKt {
|
|||||||
public static final fun asBoldTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/BoldTextSource;
|
public static final fun asBoldTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/BoldTextSource;
|
||||||
public static final fun asBot (Ldev/inmo/tgbotapi/types/chat/Chat;)Ldev/inmo/tgbotapi/types/chat/Bot;
|
public static final fun asBot (Ldev/inmo/tgbotapi/types/chat/Chat;)Ldev/inmo/tgbotapi/types/chat/Bot;
|
||||||
public static final fun asBotCommandTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/BotCommandTextSource;
|
public static final fun asBotCommandTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/BotCommandTextSource;
|
||||||
|
public static final fun asBotSubscriptionUpdatedUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate;
|
||||||
public static final fun asBowlingDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/BowlingDiceAnimationType;
|
public static final fun asBowlingDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/BowlingDiceAnimationType;
|
||||||
public static final fun asCallbackDataInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackDataInlineKeyboardButton;
|
public static final fun asCallbackDataInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackDataInlineKeyboardButton;
|
||||||
public static final fun asCallbackGameInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackGameInlineKeyboardButton;
|
public static final fun asCallbackGameInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackGameInlineKeyboardButton;
|
||||||
@@ -376,6 +377,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsKt {
|
|||||||
public static final fun requireBoldTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/BoldTextSource;
|
public static final fun requireBoldTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/BoldTextSource;
|
||||||
public static final fun requireBot (Ldev/inmo/tgbotapi/types/chat/Chat;)Ldev/inmo/tgbotapi/types/chat/Bot;
|
public static final fun requireBot (Ldev/inmo/tgbotapi/types/chat/Chat;)Ldev/inmo/tgbotapi/types/chat/Bot;
|
||||||
public static final fun requireBotCommandTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/BotCommandTextSource;
|
public static final fun requireBotCommandTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/BotCommandTextSource;
|
||||||
|
public static final fun requireBotSubscriptionUpdatedUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate;
|
||||||
public static final fun requireBowlingDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/BowlingDiceAnimationType;
|
public static final fun requireBowlingDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/BowlingDiceAnimationType;
|
||||||
public static final fun requireCallbackDataInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackDataInlineKeyboardButton;
|
public static final fun requireCallbackDataInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackDataInlineKeyboardButton;
|
||||||
public static final fun requireCallbackGameInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackGameInlineKeyboardButton;
|
public static final fun requireCallbackGameInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/CallbackGameInlineKeyboardButton;
|
||||||
@@ -722,6 +724,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsKt {
|
|||||||
public static final fun whenBoldTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun whenBoldTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun whenBot (Ldev/inmo/tgbotapi/types/chat/Chat;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun whenBot (Ldev/inmo/tgbotapi/types/chat/Chat;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun whenBotCommandTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun whenBotCommandTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun whenBotSubscriptionUpdatedUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun whenBowlingDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun whenBowlingDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun whenCallbackDataInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun whenCallbackDataInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun whenCallbackGameInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun whenCallbackGameInlineKeyboardButton (Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardButtons/InlineKeyboardButton;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
@@ -1132,6 +1135,10 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
public static final fun botOrNull (Ldev/inmo/tgbotapi/types/chat/Chat;)Ldev/inmo/tgbotapi/types/chat/Bot;
|
public static final fun botOrNull (Ldev/inmo/tgbotapi/types/chat/Chat;)Ldev/inmo/tgbotapi/types/chat/Bot;
|
||||||
public static final fun botOrThrow (Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonRequestUsers;)Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonRequestUsers$Bot;
|
public static final fun botOrThrow (Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonRequestUsers;)Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonRequestUsers$Bot;
|
||||||
public static final fun botOrThrow (Ldev/inmo/tgbotapi/types/chat/Chat;)Ldev/inmo/tgbotapi/types/chat/Bot;
|
public static final fun botOrThrow (Ldev/inmo/tgbotapi/types/chat/Chat;)Ldev/inmo/tgbotapi/types/chat/Bot;
|
||||||
|
public static final fun botSubscriptionUpdatedOrNull (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;
|
||||||
|
public static final fun botSubscriptionUpdatedOrThrow (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/payments/BotSubscriptionUpdated;
|
||||||
|
public static final fun botSubscriptionUpdatedUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate;
|
||||||
|
public static final fun botSubscriptionUpdatedUpdateOrThrow (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/BotSubscriptionUpdatedUpdate;
|
||||||
public static final fun bowlingDiceAnimationTypeOrNull (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/BowlingDiceAnimationType;
|
public static final fun bowlingDiceAnimationTypeOrNull (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/BowlingDiceAnimationType;
|
||||||
public static final fun bowlingDiceAnimationTypeOrThrow (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/BowlingDiceAnimationType;
|
public static final fun bowlingDiceAnimationTypeOrThrow (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/BowlingDiceAnimationType;
|
||||||
public static final fun businessChatIdOrNull (Ldev/inmo/tgbotapi/types/ChatIdentifier;)Lkotlin/Pair;
|
public static final fun businessChatIdOrNull (Ldev/inmo/tgbotapi/types/ChatIdentifier;)Lkotlin/Pair;
|
||||||
@@ -1635,6 +1642,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
public static final fun ifBot (Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonRequestUsers;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifBot (Ldev/inmo/tgbotapi/types/buttons/KeyboardButtonRequestUsers;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifBot (Ldev/inmo/tgbotapi/types/chat/Chat;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifBot (Ldev/inmo/tgbotapi/types/chat/Chat;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifBotCommandTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifBotCommandTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifBotSubscriptionUpdated (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifBotSubscriptionUpdatedUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifBowlingDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifBowlingDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifBusinessChat (Ldev/inmo/tgbotapi/types/chat/Chat;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifBusinessChat (Ldev/inmo/tgbotapi/types/chat/Chat;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifBusinessChatId (Ldev/inmo/tgbotapi/types/ChatIdentifier;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifBusinessChatId (Ldev/inmo/tgbotapi/types/ChatIdentifier;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
|||||||
@@ -2328,6 +2328,16 @@ inline fun Update.asChatJoinRequestUpdate(): ChatJoinRequestUpdate? = this as? C
|
|||||||
@PreviewFeature
|
@PreviewFeature
|
||||||
inline fun Update.requireChatJoinRequestUpdate(): ChatJoinRequestUpdate = this as ChatJoinRequestUpdate
|
inline fun Update.requireChatJoinRequestUpdate(): ChatJoinRequestUpdate = this as ChatJoinRequestUpdate
|
||||||
|
|
||||||
|
@PreviewFeature
|
||||||
|
inline fun <T> Update.whenBotSubscriptionUpdatedUpdate(block: (BotSubscriptionUpdatedUpdate) -> T) =
|
||||||
|
asBotSubscriptionUpdatedUpdate()?.let(block)
|
||||||
|
|
||||||
|
@PreviewFeature
|
||||||
|
inline fun Update.asBotSubscriptionUpdatedUpdate(): BotSubscriptionUpdatedUpdate? = this as? BotSubscriptionUpdatedUpdate
|
||||||
|
|
||||||
|
@PreviewFeature
|
||||||
|
inline fun Update.requireBotSubscriptionUpdatedUpdate(): BotSubscriptionUpdatedUpdate = this as BotSubscriptionUpdatedUpdate
|
||||||
|
|
||||||
@PreviewFeature
|
@PreviewFeature
|
||||||
inline fun <T> TelegramMediaFile.whenAnimationFile(block: (AnimationFile) -> T) = asAnimationFile()?.let(block)
|
inline fun <T> TelegramMediaFile.whenAnimationFile(block: (AnimationFile) -> T) = asAnimationFile()?.let(block)
|
||||||
|
|
||||||
|
|||||||
@@ -521,6 +521,7 @@ import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportEle
|
|||||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithReverseSide
|
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithReverseSide
|
||||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithSelfie
|
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.EncryptedPassportElementWithSelfie
|
||||||
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.UnknownEncryptedPassportElement
|
import dev.inmo.tgbotapi.types.passport.encrypted.abstracts.UnknownEncryptedPassportElement
|
||||||
|
import dev.inmo.tgbotapi.types.payments.BotSubscriptionUpdated
|
||||||
import dev.inmo.tgbotapi.types.payments.PreCheckoutQuery
|
import dev.inmo.tgbotapi.types.payments.PreCheckoutQuery
|
||||||
import dev.inmo.tgbotapi.types.payments.ShippingQuery
|
import dev.inmo.tgbotapi.types.payments.ShippingQuery
|
||||||
import dev.inmo.tgbotapi.types.payments.stars.RevenueWithdrawalState
|
import dev.inmo.tgbotapi.types.payments.stars.RevenueWithdrawalState
|
||||||
@@ -630,6 +631,7 @@ import dev.inmo.tgbotapi.types.rich.RichTextSuperscript
|
|||||||
import dev.inmo.tgbotapi.types.rich.RichTextTextMention
|
import dev.inmo.tgbotapi.types.rich.RichTextTextMention
|
||||||
import dev.inmo.tgbotapi.types.rich.RichTextUnderline
|
import dev.inmo.tgbotapi.types.rich.RichTextUnderline
|
||||||
import dev.inmo.tgbotapi.types.rich.RichTextUrl
|
import dev.inmo.tgbotapi.types.rich.RichTextUrl
|
||||||
|
import dev.inmo.tgbotapi.types.update.BotSubscriptionUpdatedUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.BusinessConnectionUpdate
|
import dev.inmo.tgbotapi.types.update.BusinessConnectionUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.BusinessMessageUpdate
|
import dev.inmo.tgbotapi.types.update.BusinessMessageUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.CallbackQueryUpdate
|
import dev.inmo.tgbotapi.types.update.CallbackQueryUpdate
|
||||||
@@ -4096,6 +4098,12 @@ public inline fun Update.chatMessageReactionsCountUpdatedUpdateOrThrow(): ChatMe
|
|||||||
|
|
||||||
public inline fun <T> Update.ifChatMessageReactionsCountUpdatedUpdate(block: (ChatMessageReactionsCountUpdatedUpdate) -> T): T? = chatMessageReactionsCountUpdatedUpdateOrNull() ?.let(block)
|
public inline fun <T> Update.ifChatMessageReactionsCountUpdatedUpdate(block: (ChatMessageReactionsCountUpdatedUpdate) -> T): T? = chatMessageReactionsCountUpdatedUpdateOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun Update.botSubscriptionUpdatedUpdateOrNull(): BotSubscriptionUpdatedUpdate? = this as? dev.inmo.tgbotapi.types.update.BotSubscriptionUpdatedUpdate
|
||||||
|
|
||||||
|
public inline fun Update.botSubscriptionUpdatedUpdateOrThrow(): BotSubscriptionUpdatedUpdate = this as dev.inmo.tgbotapi.types.update.BotSubscriptionUpdatedUpdate
|
||||||
|
|
||||||
|
public inline fun <T> Update.ifBotSubscriptionUpdatedUpdate(block: (BotSubscriptionUpdatedUpdate) -> T): T? = botSubscriptionUpdatedUpdateOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun Update.chatJoinRequestUpdateOrNull(): ChatJoinRequestUpdate? = this as? dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate
|
public inline fun Update.chatJoinRequestUpdateOrNull(): ChatJoinRequestUpdate? = this as? dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate
|
||||||
|
|
||||||
public inline fun Update.chatJoinRequestUpdateOrThrow(): ChatJoinRequestUpdate = this as dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate
|
public inline fun Update.chatJoinRequestUpdateOrThrow(): ChatJoinRequestUpdate = this as dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate
|
||||||
@@ -4930,6 +4938,12 @@ public inline fun OptionallyWithUser.shippingQueryOrThrow(): ShippingQuery = thi
|
|||||||
|
|
||||||
public inline fun <T> OptionallyWithUser.ifShippingQuery(block: (ShippingQuery) -> T): T? = shippingQueryOrNull() ?.let(block)
|
public inline fun <T> OptionallyWithUser.ifShippingQuery(block: (ShippingQuery) -> T): T? = shippingQueryOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun OptionallyWithUser.botSubscriptionUpdatedOrNull(): BotSubscriptionUpdated? = this as? dev.inmo.tgbotapi.types.payments.BotSubscriptionUpdated
|
||||||
|
|
||||||
|
public inline fun OptionallyWithUser.botSubscriptionUpdatedOrThrow(): BotSubscriptionUpdated = this as dev.inmo.tgbotapi.types.payments.BotSubscriptionUpdated
|
||||||
|
|
||||||
|
public inline fun <T> OptionallyWithUser.ifBotSubscriptionUpdated(block: (BotSubscriptionUpdated) -> T): T? = botSubscriptionUpdatedOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun OptionallyWithUser.chatInviteLinkOrNull(): ChatInviteLink? = this as? dev.inmo.tgbotapi.types.ChatInviteLink
|
public inline fun OptionallyWithUser.chatInviteLinkOrNull(): ChatInviteLink? = this as? dev.inmo.tgbotapi.types.ChatInviteLink
|
||||||
|
|
||||||
public inline fun OptionallyWithUser.chatInviteLinkOrThrow(): ChatInviteLink = this as dev.inmo.tgbotapi.types.ChatInviteLink
|
public inline fun OptionallyWithUser.chatInviteLinkOrThrow(): ChatInviteLink = this as dev.inmo.tgbotapi.types.ChatInviteLink
|
||||||
|
|||||||
Reference in New Issue
Block a user