mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-12-26 16:15:52 +00:00
Compare commits
14 Commits
v11.0.0
...
e4a3acdd68
| Author | SHA1 | Date | |
|---|---|---|---|
| e4a3acdd68 | |||
| 953bdef657 | |||
| 64ef0fa160 | |||
| c1f40c1030 | |||
| 8de584b292 | |||
| cb7bb01671 | |||
| a7b2bb820b | |||
| be9c0cff61 | |||
| 6ac6ad0c0a | |||
| dbc69def0b | |||
| b8061966be | |||
| 0e0af73633 | |||
| 2a2aeed045 | |||
| fdc007f609 |
@@ -1,9 +1,13 @@
|
|||||||
# TelegramBotAPI changelog
|
# TelegramBotAPI changelog
|
||||||
|
|
||||||
|
## 12.0.0
|
||||||
|
|
||||||
## 11.0.0
|
## 11.0.0
|
||||||
|
|
||||||
**THIS UPDATE CONTAINS REMOVES OF DEPRECATED THINGS**
|
**THIS UPDATE CONTAINS REMOVES OF DEPRECATED THINGS**
|
||||||
|
|
||||||
|
**THIS UPDATE CONTAINS A LOT OF BREAKING CHANGES**
|
||||||
|
|
||||||
* `Core`:
|
* `Core`:
|
||||||
* `MessageId` now is `value class`. `MessageIdentifier` become deprecated
|
* `MessageId` now is `value class`. `MessageIdentifier` become deprecated
|
||||||
* `MessageThreadId` now is `value class`
|
* `MessageThreadId` now is `value class`
|
||||||
|
|||||||
@@ -6,4 +6,4 @@ kotlin.incremental=true
|
|||||||
kotlin.incremental.js=true
|
kotlin.incremental.js=true
|
||||||
|
|
||||||
library_group=dev.inmo
|
library_group=dev.inmo
|
||||||
library_version=11.0.0
|
library_version=12.0.0
|
||||||
|
|||||||
@@ -1006,6 +1006,11 @@ public final class dev/inmo/tgbotapi/extensions/api/games/SetGameScoreByInlineMe
|
|||||||
public static synthetic fun setGameScore-zwYr1CI$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/CommonUser;JLjava/lang/String;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun setGameScore-zwYr1CI$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/CommonUser;JLjava/lang/String;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/get/GetBusinessConnectionKt {
|
||||||
|
public static final fun getBusinessConnection (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun getBusinessConnection-spp27rg (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/get/GetCustomEmojiStickersKt {
|
public final class dev/inmo/tgbotapi/extensions/api/get/GetCustomEmojiStickersKt {
|
||||||
public static final fun getCustomEmojiStickerOrNull (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun getCustomEmojiStickerOrNull (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun getCustomEmojiStickerOrNull-fRZnA7w (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun getCustomEmojiStickerOrNull-fRZnA7w (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.get
|
||||||
|
|
||||||
|
import dev.inmo.micro_utils.common.Warning
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.get.GetBusinessConnection
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
|
|
||||||
|
suspend fun TelegramBot.getBusinessConnection(
|
||||||
|
id: BusinessConnectionId
|
||||||
|
) = execute(GetBusinessConnection(id = id))
|
||||||
|
|
||||||
|
@Warning("This method may lead to error due to raw String type usage")
|
||||||
|
suspend fun TelegramBot.getBusinessConnection(
|
||||||
|
id: String
|
||||||
|
) = getBusinessConnection(
|
||||||
|
BusinessConnectionId(id)
|
||||||
|
)
|
||||||
@@ -92,6 +92,15 @@ 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/WaitBusinessConnectionKt {
|
||||||
|
public static final fun waitBusinessConnection (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun waitBusinessConnection$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun waitBusinessConnectionDisabled (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun waitBusinessConnectionDisabled$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun waitBusinessConnectionEnabled (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun waitBusinessConnectionEnabled$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitCallbackQueryKt {
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitCallbackQueryKt {
|
||||||
public static final fun waitDataCallbackQuery (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun waitDataCallbackQuery (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun waitDataCallbackQuery$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun waitDataCallbackQuery$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
@@ -323,6 +332,11 @@ public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/W
|
|||||||
public static synthetic fun waitDeepLinks$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Lkotlin/text/Regex;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun waitDeepLinks$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Lkotlin/text/Regex;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitDeletedBusinessMessagesKt {
|
||||||
|
public static final fun waitDeletedBusinessMessages (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun waitDeletedBusinessMessages$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitEditedContentKt {
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/expectations/WaitEditedContentKt {
|
||||||
public static final fun waitEditedAnimation (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun waitEditedAnimation (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun waitEditedAnimation$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun waitEditedAnimation$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ldev/inmo/tgbotapi/requests/abstracts/Request;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
@@ -722,6 +736,15 @@ 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/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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
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/Function3;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun onBusinessConnectionDisabled (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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun onBusinessConnectionDisabled$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/Function3;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun onBusinessConnectionEnabled (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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun onBusinessConnectionEnabled$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/Function3;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/CallbackQueryTriggersKt {
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/CallbackQueryTriggersKt {
|
||||||
public static final fun onDataCallbackQuery (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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun onDataCallbackQuery (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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun onDataCallbackQuery (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ljava/lang/String;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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun onDataCallbackQuery (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Ljava/lang/String;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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
@@ -933,6 +956,11 @@ public final class dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handl
|
|||||||
public static synthetic fun onDeepLink$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Lkotlin/text/Regex;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/Function3;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun onDeepLink$default (Ldev/inmo/tgbotapi/extensions/behaviour_builder/BehaviourContext;Lkotlin/text/Regex;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/Function3;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/DeletedBusinessMessagesTriggersKt {
|
||||||
|
public static final fun onBusinessMessagesDeleted (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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun onBusinessMessagesDeleted$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/Function3;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/EditedContentTriggersKt {
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/triggers_handling/EditedContentTriggersKt {
|
||||||
public static final fun onEditedAnimation (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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun onEditedAnimation (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/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun onEditedAnimation$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/Function3;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun onEditedAnimation$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/Function3;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
@@ -1265,6 +1293,12 @@ public final class dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_f
|
|||||||
public static final fun AnyMarkerFactory ()Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory;
|
public static final fun AnyMarkerFactory ()Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByBusinessConnectionIdBusinessMessagesDeletedMarkerFactory : dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory {
|
||||||
|
public static final field INSTANCE Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByBusinessConnectionIdBusinessMessagesDeletedMarkerFactory;
|
||||||
|
public synthetic fun invoke (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public fun invoke-__cXnbI (Ldev/inmo/tgbotapi/types/business_connection/BusinessMessagesDeleted;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByChatChatJoinRequestMarkerFactory : dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory {
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByChatChatJoinRequestMarkerFactory : dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory {
|
||||||
public static final field INSTANCE Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByChatChatJoinRequestMarkerFactory;
|
public static final field INSTANCE Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByChatChatJoinRequestMarkerFactory;
|
||||||
public fun invoke (Ldev/inmo/tgbotapi/types/chat/ChatJoinRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public fun invoke (Ldev/inmo/tgbotapi/types/chat/ChatJoinRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
@@ -1337,6 +1371,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/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 fun invoke (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;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/ByUserCallbackQueryMarkerFactory : dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory {
|
public final class dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByUserCallbackQueryMarkerFactory : dev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/MarkerFactory {
|
||||||
public static final field INSTANCE Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByUserCallbackQueryMarkerFactory;
|
public static final field INSTANCE Ldev/inmo/tgbotapi/extensions/behaviour_builder/utils/marker_factories/ByUserCallbackQueryMarkerFactory;
|
||||||
public fun invoke (Ldev/inmo/tgbotapi/types/queries/callback/CallbackQuery;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public fun invoke (Ldev/inmo/tgbotapi/types/queries/callback/CallbackQuery;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.behaviour_builder.expectations
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.businessConnectionUpdateOrNull
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.disabledOrNull
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.enabledOrNull
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.shippingQueryUpdateOrNull
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.Request
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
||||||
|
import dev.inmo.tgbotapi.types.payments.ShippingQuery
|
||||||
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
|
suspend fun BehaviourContext.waitBusinessConnection(
|
||||||
|
initRequest: Request<*>? = null,
|
||||||
|
errorFactory: NullableRequestBuilder<*> = { null }
|
||||||
|
): Flow<BusinessConnection> = expectFlow(
|
||||||
|
initRequest,
|
||||||
|
errorFactory
|
||||||
|
) {
|
||||||
|
(it.businessConnectionUpdateOrNull() ?.data).let(::listOfNotNull)
|
||||||
|
}
|
||||||
|
|
||||||
|
suspend fun BehaviourContext.waitBusinessConnectionEnabled(
|
||||||
|
initRequest: Request<*>? = null,
|
||||||
|
errorFactory: NullableRequestBuilder<*> = { null }
|
||||||
|
): Flow<BusinessConnection> = expectFlow(
|
||||||
|
initRequest,
|
||||||
|
errorFactory
|
||||||
|
) {
|
||||||
|
(it.businessConnectionUpdateOrNull() ?.data ?.enabledOrNull()).let(::listOfNotNull)
|
||||||
|
}
|
||||||
|
|
||||||
|
suspend fun BehaviourContext.waitBusinessConnectionDisabled(
|
||||||
|
initRequest: Request<*>? = null,
|
||||||
|
errorFactory: NullableRequestBuilder<*> = { null }
|
||||||
|
): Flow<BusinessConnection> = expectFlow(
|
||||||
|
initRequest,
|
||||||
|
errorFactory
|
||||||
|
) {
|
||||||
|
(it.businessConnectionUpdateOrNull() ?.data ?.disabledOrNull()).let(::listOfNotNull)
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.behaviour_builder.expectations
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.*
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.Request
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessMessagesDeleted
|
||||||
|
import dev.inmo.tgbotapi.types.payments.ShippingQuery
|
||||||
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
|
suspend fun BehaviourContext.waitDeletedBusinessMessages(
|
||||||
|
initRequest: Request<*>? = null,
|
||||||
|
errorFactory: NullableRequestBuilder<*> = { null }
|
||||||
|
): Flow<BusinessMessagesDeleted> = expectFlow(
|
||||||
|
initRequest,
|
||||||
|
errorFactory
|
||||||
|
) {
|
||||||
|
(it.deletedBusinessMessageUpdateOrNull() ?.data).let(::listOfNotNull)
|
||||||
|
}
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
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.ByUserBusinessConnectionUpdatedMarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.businessConnectionUpdateOrNull
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.disabledOrNull
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.enabledOrNull
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
||||||
|
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] 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
|
||||||
|
*/
|
||||||
|
suspend fun <BC : BehaviourContext> BC.onBusinessConnection(
|
||||||
|
initialFilter: SimpleFilter<BusinessConnection>? = null,
|
||||||
|
subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, BusinessConnection, Update>? = null,
|
||||||
|
markerFactory: MarkerFactory<in BusinessConnection, Any> = ByUserBusinessConnectionUpdatedMarkerFactory,
|
||||||
|
scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, BusinessConnection>
|
||||||
|
) = on(markerFactory, initialFilter, subcontextUpdatesFilter, scenarioReceiver) {
|
||||||
|
(it.businessConnectionUpdateOrNull() ?.data) ?.let(::listOfNotNull)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @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] 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
|
||||||
|
*/
|
||||||
|
suspend fun <BC : BehaviourContext> BC.onBusinessConnectionEnabled(
|
||||||
|
initialFilter: SimpleFilter<BusinessConnection.Enabled>? = null,
|
||||||
|
subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, BusinessConnection.Enabled, Update>? = null,
|
||||||
|
markerFactory: MarkerFactory<in BusinessConnection.Enabled, Any> = ByUserBusinessConnectionUpdatedMarkerFactory,
|
||||||
|
scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, BusinessConnection.Enabled>
|
||||||
|
) = on(markerFactory, initialFilter, subcontextUpdatesFilter, scenarioReceiver) {
|
||||||
|
(it.businessConnectionUpdateOrNull() ?.data ?.enabledOrNull()) ?.let(::listOfNotNull)
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @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] 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
|
||||||
|
*/
|
||||||
|
suspend fun <BC : BehaviourContext> BC.onBusinessConnectionDisabled(
|
||||||
|
initialFilter: SimpleFilter<BusinessConnection.Disabled>? = null,
|
||||||
|
subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, BusinessConnection.Disabled, Update>? = null,
|
||||||
|
markerFactory: MarkerFactory<in BusinessConnection.Disabled, Any> = ByUserBusinessConnectionUpdatedMarkerFactory,
|
||||||
|
scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, BusinessConnection.Disabled>
|
||||||
|
) = on(markerFactory, initialFilter, subcontextUpdatesFilter, scenarioReceiver) {
|
||||||
|
(it.businessConnectionUpdateOrNull() ?.data ?.disabledOrNull()) ?.let(::listOfNotNull)
|
||||||
|
}
|
||||||
|
|
||||||
@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.extensions.behaviour_builder.*
|
|||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.filters.ChatMemberUpdatedFilterByChat
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.filters.ChatMemberUpdatedFilterByChat
|
||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.SimpleFilter
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.SimpleFilter
|
||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.ByChatChatMemberUpdatedMarkerFactory
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.ByChatChatMemberUpdatedMarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.ByUserBusinessConnectionUpdatedMarkerFactory
|
||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory
|
||||||
import dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated
|
import dev.inmo.tgbotapi.types.chat.member.ChatMemberUpdated
|
||||||
import dev.inmo.tgbotapi.types.update.CommonChatMemberUpdatedUpdate
|
import dev.inmo.tgbotapi.types.update.CommonChatMemberUpdatedUpdate
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
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.ByBusinessConnectionIdBusinessMessagesDeletedMarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.ByUserBusinessConnectionUpdatedMarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.businessConnectionUpdateOrNull
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.deletedBusinessMessageUpdateOrNull
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.disabledOrNull
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.enabledOrNull
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessMessagesDeleted
|
||||||
|
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] 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
|
||||||
|
*/
|
||||||
|
suspend fun <BC : BehaviourContext> BC.onBusinessMessagesDeleted(
|
||||||
|
initialFilter: SimpleFilter<BusinessMessagesDeleted>? = null,
|
||||||
|
subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, BusinessMessagesDeleted, Update>? = null,
|
||||||
|
markerFactory: MarkerFactory<in BusinessMessagesDeleted, Any> = ByBusinessConnectionIdBusinessMessagesDeletedMarkerFactory,
|
||||||
|
scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, BusinessMessagesDeleted>
|
||||||
|
) = on(markerFactory, initialFilter, subcontextUpdatesFilter, scenarioReceiver) {
|
||||||
|
(it.deletedBusinessMessageUpdateOrNull() ?.data) ?.let(::listOfNotNull)
|
||||||
|
}
|
||||||
|
|
||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.extensions.behaviour_builder.filters.CommonMessageFilte
|
|||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.filters.MessageFilterByChat
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.filters.MessageFilterByChat
|
||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.ByChatMessageMarkerFactory
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.ByChatMessageMarkerFactory
|
||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.baseEditMessageUpdateOrNull
|
||||||
import dev.inmo.tgbotapi.extensions.utils.editMessageUpdateOrNull
|
import dev.inmo.tgbotapi.extensions.utils.editMessageUpdateOrNull
|
||||||
import dev.inmo.tgbotapi.extensions.utils.withContent
|
import dev.inmo.tgbotapi.extensions.utils.withContent
|
||||||
import dev.inmo.tgbotapi.types.files.TelegramMediaFile
|
import dev.inmo.tgbotapi.types.files.TelegramMediaFile
|
||||||
@@ -19,10 +20,7 @@ internal suspend inline fun <BC : BehaviourContext, reified T : MessageContent>
|
|||||||
markerFactory: MarkerFactory<in CommonMessage<T>, Any> = ByChatMessageMarkerFactory,
|
markerFactory: MarkerFactory<in CommonMessage<T>, Any> = ByChatMessageMarkerFactory,
|
||||||
noinline scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, CommonMessage<T>>
|
noinline scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, CommonMessage<T>>
|
||||||
) = on(markerFactory, initialFilter, subcontextUpdatesFilter, scenarioReceiver) {
|
) = on(markerFactory, initialFilter, subcontextUpdatesFilter, scenarioReceiver) {
|
||||||
when (it) {
|
it.baseEditMessageUpdateOrNull() ?.data ?.withContent<T>() ?.let(::listOfNotNull)
|
||||||
is BaseEditMessageUpdate -> (it.data.withContent<T>())
|
|
||||||
else -> null
|
|
||||||
} ?.let(::listOfNotNull)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessMessagesDeleted
|
||||||
|
|
||||||
|
object ByBusinessConnectionIdBusinessMessagesDeletedMarkerFactory : MarkerFactory<BusinessMessagesDeleted, Any> {
|
||||||
|
override suspend fun invoke(data: BusinessMessagesDeleted) = data.businessConnectionId
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.boosts.ChatBoostUpdated
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
||||||
|
|
||||||
|
|
||||||
|
object ByUserBusinessConnectionUpdatedMarkerFactory : MarkerFactory<BusinessConnection, Any> {
|
||||||
|
override suspend fun invoke(data: BusinessConnection) = data.user
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.abstracts.types
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
|
|
||||||
|
interface OptionallyBusinessConnectionRequest {
|
||||||
|
val businessConnectionId: BusinessConnectionId?
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.abstracts.types
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
|
|
||||||
|
interface WithBusinessConnectionId : WithOptionalBusinessConnectionId {
|
||||||
|
override val businessConnectionId: BusinessConnectionId
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.abstracts.types
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
|
|
||||||
|
interface WithOptionalBusinessConnectionId {
|
||||||
|
val businessConnectionId: BusinessConnectionId?
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.chat.get
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
|
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.BusinessChatId
|
||||||
import dev.inmo.tgbotapi.types.ChatIdWithThreadId
|
import dev.inmo.tgbotapi.types.ChatIdWithThreadId
|
||||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||||
import dev.inmo.tgbotapi.types.chat.ExtendedChatSerializer
|
import dev.inmo.tgbotapi.types.chat.ExtendedChatSerializer
|
||||||
@@ -16,10 +17,10 @@ data class GetChat(
|
|||||||
): ChatRequest, SimpleRequest<ExtendedChat> {
|
): ChatRequest, SimpleRequest<ExtendedChat> {
|
||||||
override fun method(): String = "getChat"
|
override fun method(): String = "getChat"
|
||||||
@Transient
|
@Transient
|
||||||
override val resultDeserializer: DeserializationStrategy<ExtendedChat> = if (chatId is ChatIdWithThreadId) {
|
override val resultDeserializer: DeserializationStrategy<ExtendedChat> = when {
|
||||||
ExtendedChatSerializer.BasedOnForumThread(chatId.threadId)
|
chatId is ChatIdWithThreadId -> ExtendedChatSerializer.BasedOnForumThread(chatId.threadId)
|
||||||
} else {
|
chatId is BusinessChatId -> ExtendedChatSerializer.BasedOnBusinessConnection(chatId.businessId)
|
||||||
ExtendedChatSerializer.Companion
|
else -> ExtendedChatSerializer.Companion
|
||||||
}
|
}
|
||||||
override val requestSerializer: SerializationStrategy<*>
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
get() = serializer()
|
get() = serializer()
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.get
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
|
import dev.inmo.tgbotapi.types.files.PathedFile
|
||||||
|
import dev.inmo.tgbotapi.types.idField
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class GetBusinessConnection(
|
||||||
|
@SerialName(idField)
|
||||||
|
val id: BusinessConnectionId
|
||||||
|
) : SimpleRequest<BusinessConnection> {
|
||||||
|
override fun method(): String {
|
||||||
|
return "getBusinessConnection"
|
||||||
|
}
|
||||||
|
|
||||||
|
override val resultDeserializer: DeserializationStrategy<BusinessConnection>
|
||||||
|
get() = BusinessConnection.serializer()
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.OptionallyMessageThreadRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.OptionallyMessageThreadRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||||
@@ -28,6 +29,7 @@ fun CopyMessage(
|
|||||||
text: String? = null,
|
text: String? = null,
|
||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = toChatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -40,6 +42,7 @@ fun CopyMessage(
|
|||||||
parseMode,
|
parseMode,
|
||||||
null,
|
null,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -52,6 +55,7 @@ fun CopyMessage(
|
|||||||
messageId: MessageId,
|
messageId: MessageId,
|
||||||
entities: List<TextSource>,
|
entities: List<TextSource>,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = toChatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -64,6 +68,7 @@ fun CopyMessage(
|
|||||||
null,
|
null,
|
||||||
entities.toRawMessageEntities(),
|
entities.toRawMessageEntities(),
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -77,6 +82,7 @@ fun CopyMessage(
|
|||||||
text: String? = null,
|
text: String? = null,
|
||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = toChatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -89,6 +95,7 @@ fun CopyMessage(
|
|||||||
parseMode,
|
parseMode,
|
||||||
null,
|
null,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -101,6 +108,7 @@ fun CopyMessage(
|
|||||||
toChatId: ChatIdentifier,
|
toChatId: ChatIdentifier,
|
||||||
entities: List<TextSource>,
|
entities: List<TextSource>,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = toChatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -113,6 +121,7 @@ fun CopyMessage(
|
|||||||
null,
|
null,
|
||||||
entities.toRawMessageEntities(),
|
entities.toRawMessageEntities(),
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -135,6 +144,8 @@ data class CopyMessage internal constructor(
|
|||||||
private val rawEntities: List<RawMessageEntity>? = null,
|
private val rawEntities: List<RawMessageEntity>? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = toChatId.threadId,
|
override val threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = toChatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -2,10 +2,12 @@ package dev.inmo.tgbotapi.requests.send
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.abstracts.types.DisableNotification
|
import dev.inmo.tgbotapi.abstracts.types.DisableNotification
|
||||||
import dev.inmo.tgbotapi.abstracts.types.MessagesAction
|
import dev.inmo.tgbotapi.abstracts.types.MessagesAction
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.OptionallyBusinessConnectionRequest
|
||||||
import dev.inmo.tgbotapi.abstracts.types.ProtectContent
|
import dev.inmo.tgbotapi.abstracts.types.ProtectContent
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.OptionallyMessageThreadRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.OptionallyMessageThreadRequest
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
||||||
@@ -20,6 +22,7 @@ fun CopyMessages(
|
|||||||
fromChatId: ChatIdentifier,
|
fromChatId: ChatIdentifier,
|
||||||
messageIds: Array<MessageId>,
|
messageIds: Array<MessageId>,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = toChatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
removeCaption: Boolean = false
|
removeCaption: Boolean = false
|
||||||
@@ -43,6 +46,8 @@ data class CopyMessages (
|
|||||||
override val messageIds: List<MessageId>,
|
override val messageIds: List<MessageId>,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = toChatId.threadId,
|
override val threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = toChatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
@@ -53,6 +58,7 @@ data class CopyMessages (
|
|||||||
MessagesAction,
|
MessagesAction,
|
||||||
ProtectContent,
|
ProtectContent,
|
||||||
OptionallyMessageThreadRequest,
|
OptionallyMessageThreadRequest,
|
||||||
|
OptionallyBusinessConnectionRequest,
|
||||||
DisableNotification {
|
DisableNotification {
|
||||||
override val chatId: ChatIdentifier
|
override val chatId: ChatIdentifier
|
||||||
get() = fromChatId
|
get() = fromChatId
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package dev.inmo.tgbotapi.requests.send
|
package dev.inmo.tgbotapi.requests.send
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.OptionallyBusinessConnectionRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.OptionallyMessageThreadRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.OptionallyMessageThreadRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.SendChatMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.SendChatMessageRequest
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
import dev.inmo.tgbotapi.types.actions.BotAction
|
import dev.inmo.tgbotapi.types.actions.BotAction
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
import kotlinx.serialization.builtins.serializer
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
@@ -17,8 +19,10 @@ data class SendAction(
|
|||||||
@SerialName(actionField)
|
@SerialName(actionField)
|
||||||
val action: BotAction,
|
val action: BotAction,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
): SendChatMessageRequest<Boolean>, OptionallyMessageThreadRequest {
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId
|
||||||
|
): SendChatMessageRequest<Boolean>, OptionallyMessageThreadRequest, OptionallyBusinessConnectionRequest {
|
||||||
override fun method(): String = "sendChatAction"
|
override fun method(): String = "sendChatAction"
|
||||||
override val resultDeserializer: DeserializationStrategy<Boolean>
|
override val resultDeserializer: DeserializationStrategy<Boolean>
|
||||||
get() = Boolean.serializer()
|
get() = Boolean.serializer()
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.send
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
||||||
import dev.inmo.tgbotapi.types.*
|
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.buttons.KeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
||||||
@@ -24,6 +25,8 @@ data class SendContact(
|
|||||||
val lastName: String? = null,
|
val lastName: String? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
@@ -39,6 +42,7 @@ data class SendContact(
|
|||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
contact: Contact,
|
contact: Contact,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -49,6 +53,7 @@ data class SendContact(
|
|||||||
contact.firstName,
|
contact.firstName,
|
||||||
contact.lastName,
|
contact.lastName,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -65,6 +70,7 @@ data class SendContact(
|
|||||||
fun Contact.toRequest(
|
fun Contact.toRequest(
|
||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -73,6 +79,7 @@ fun Contact.toRequest(
|
|||||||
chatId,
|
chatId,
|
||||||
this,
|
this,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.DisableNotification
|
|||||||
import dev.inmo.tgbotapi.abstracts.types.WithReplyParameters
|
import dev.inmo.tgbotapi.abstracts.types.WithReplyParameters
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
||||||
import dev.inmo.tgbotapi.types.*
|
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.buttons.KeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.dice.DiceAnimationType
|
import dev.inmo.tgbotapi.types.dice.DiceAnimationType
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
@@ -21,7 +22,9 @@ data class SendDice(
|
|||||||
@SerialName(emojiField)
|
@SerialName(emojiField)
|
||||||
val animationType: DiceAnimationType? = null,
|
val animationType: DiceAnimationType? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId?,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.send
|
|||||||
import dev.inmo.tgbotapi.abstracts.*
|
import dev.inmo.tgbotapi.abstracts.*
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
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.buttons.KeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
||||||
@@ -19,6 +20,7 @@ fun SendLocation(
|
|||||||
latitude: Double,
|
latitude: Double,
|
||||||
longitude: Double,
|
longitude: Double,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -32,6 +34,7 @@ fun SendLocation(
|
|||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -43,11 +46,12 @@ fun SendStaticLocation(
|
|||||||
latitude: Double,
|
latitude: Double,
|
||||||
longitude: Double,
|
longitude: Double,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
replyMarkup: KeyboardMarkup? = null
|
replyMarkup: KeyboardMarkup? = null
|
||||||
) = SendLocation(chatId, latitude, longitude, threadId, disableNotification, protectContent, replyParameters, replyMarkup)
|
) = SendLocation(chatId, latitude, longitude, threadId, businessConnectionId, disableNotification, protectContent, replyParameters, replyMarkup)
|
||||||
|
|
||||||
fun SendLiveLocation(
|
fun SendLiveLocation(
|
||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
@@ -58,6 +62,7 @@ fun SendLiveLocation(
|
|||||||
heading: Degrees? = null,
|
heading: Degrees? = null,
|
||||||
proximityAlertRadius: Meters? = null,
|
proximityAlertRadius: Meters? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -71,6 +76,7 @@ fun SendLiveLocation(
|
|||||||
heading,
|
heading,
|
||||||
proximityAlertRadius,
|
proximityAlertRadius,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -95,6 +101,8 @@ data class SendLocation internal constructor(
|
|||||||
override val proximityAlertRadius: Meters? = null,
|
override val proximityAlertRadius: Meters? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.send
|
|||||||
import dev.inmo.tgbotapi.abstracts.types.LinkPreviewOptionsContainer
|
import dev.inmo.tgbotapi.abstracts.types.LinkPreviewOptionsContainer
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||||
@@ -26,6 +27,7 @@ fun SendTextMessage(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -36,6 +38,7 @@ fun SendTextMessage(
|
|||||||
parseMode,
|
parseMode,
|
||||||
null,
|
null,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
linkPreviewOptions,
|
linkPreviewOptions,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
@@ -48,6 +51,7 @@ fun SendTextMessage(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -58,6 +62,7 @@ fun SendTextMessage(
|
|||||||
null,
|
null,
|
||||||
entities.toRawMessageEntities(),
|
entities.toRawMessageEntities(),
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
linkPreviewOptions,
|
linkPreviewOptions,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
@@ -77,6 +82,8 @@ data class SendTextMessage internal constructor(
|
|||||||
private val rawEntities: List<RawMessageEntity>? = null,
|
private val rawEntities: List<RawMessageEntity>? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(linkPreviewOptionsField)
|
@SerialName(linkPreviewOptionsField)
|
||||||
override val linkPreviewOptions: LinkPreviewOptions? = null,
|
override val linkPreviewOptions: LinkPreviewOptions? = null,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.send
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
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.buttons.KeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
||||||
@@ -34,6 +35,8 @@ data class SendVenue(
|
|||||||
val googlePlaceType: GooglePlaceType? = null,
|
val googlePlaceType: GooglePlaceType? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
@@ -51,6 +54,7 @@ data class SendVenue(
|
|||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
venue: Venue,
|
venue: Venue,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -82,6 +86,7 @@ data class SendVenue(
|
|||||||
fun Venue.toRequest(
|
fun Venue.toRequest(
|
||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -90,6 +95,7 @@ fun Venue.toRequest(
|
|||||||
chatId,
|
chatId,
|
||||||
this,
|
this,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
|
|||||||
@@ -6,4 +6,5 @@ interface SendMessageRequest<T: Any> : SendChatMessageRequest<T>,
|
|||||||
WithReplyParameters,
|
WithReplyParameters,
|
||||||
DisableNotification,
|
DisableNotification,
|
||||||
ProtectContent,
|
ProtectContent,
|
||||||
OptionallyMessageThreadRequest
|
OptionallyMessageThreadRequest,
|
||||||
|
OptionallyBusinessConnectionRequest
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.send.games
|
|||||||
import dev.inmo.tgbotapi.abstracts.types.WithReplyMarkup
|
import dev.inmo.tgbotapi.abstracts.types.WithReplyMarkup
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
||||||
import dev.inmo.tgbotapi.types.*
|
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.buttons.KeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
||||||
@@ -20,6 +21,8 @@ data class SendGame (
|
|||||||
val gameShortName: String,
|
val gameShortName: String,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.requests.send.media.base.*
|
import dev.inmo.tgbotapi.requests.send.media.base.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||||
@@ -31,6 +32,7 @@ fun SendAnimation(
|
|||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -51,6 +53,7 @@ fun SendAnimation(
|
|||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -77,6 +80,7 @@ fun SendAnimation(
|
|||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -97,6 +101,7 @@ fun SendAnimation(
|
|||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -140,6 +145,8 @@ data class SendAnimationData internal constructor(
|
|||||||
override val height: Int? = null,
|
override val height: Int? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.requests.send.media.base.*
|
import dev.inmo.tgbotapi.requests.send.media.base.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||||
@@ -31,6 +32,7 @@ fun SendAudio(
|
|||||||
performer: String? = null,
|
performer: String? = null,
|
||||||
title: String? = null,
|
title: String? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -50,6 +52,7 @@ fun SendAudio(
|
|||||||
performer,
|
performer,
|
||||||
title,
|
title,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -75,6 +78,7 @@ fun SendAudio(
|
|||||||
performer: String? = null,
|
performer: String? = null,
|
||||||
title: String? = null,
|
title: String? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -94,6 +98,7 @@ fun SendAudio(
|
|||||||
performer,
|
performer,
|
||||||
title,
|
title,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -135,6 +140,8 @@ data class SendAudioData internal constructor(
|
|||||||
override val title: String? = null,
|
override val title: String? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.requests.send.media.base.*
|
import dev.inmo.tgbotapi.requests.send.media.base.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||||
@@ -36,6 +37,7 @@ fun SendDocument(
|
|||||||
text: String? = null,
|
text: String? = null,
|
||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -53,6 +55,7 @@ fun SendDocument(
|
|||||||
parseMode,
|
parseMode,
|
||||||
null,
|
null,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -85,6 +88,7 @@ fun SendDocument(
|
|||||||
thumbnail: InputFile? = null,
|
thumbnail: InputFile? = null,
|
||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -102,6 +106,7 @@ fun SendDocument(
|
|||||||
null,
|
null,
|
||||||
entities.toRawMessageEntities(),
|
entities.toRawMessageEntities(),
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -147,6 +152,8 @@ data class SendDocumentData internal constructor(
|
|||||||
private val rawEntities: List<RawMessageEntity>? = null,
|
private val rawEntities: List<RawMessageEntity>? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.media.base.*
|
import dev.inmo.tgbotapi.requests.send.media.base.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.media.*
|
import dev.inmo.tgbotapi.types.media.*
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage
|
||||||
@@ -32,6 +33,7 @@ fun <T : MediaGroupPartContent> SendMediaGroup(
|
|||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
media: List<MediaGroupMemberTelegramMedia>,
|
media: List<MediaGroupMemberTelegramMedia>,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -56,6 +58,7 @@ fun <T : MediaGroupPartContent> SendMediaGroup(
|
|||||||
chatId,
|
chatId,
|
||||||
media,
|
media,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters
|
replyParameters
|
||||||
@@ -81,11 +84,12 @@ inline fun SendPlaylist(
|
|||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
media: List<AudioMediaGroupMemberTelegramMedia>,
|
media: List<AudioMediaGroupMemberTelegramMedia>,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
allowSendingWithoutReply: Boolean? = null
|
allowSendingWithoutReply: Boolean? = null
|
||||||
) = SendMediaGroup<AudioContent>(chatId, media, threadId, disableNotification, protectContent, replyParameters, allowSendingWithoutReply)
|
) = SendMediaGroup<AudioContent>(chatId, media, threadId, businessConnectionId, disableNotification, protectContent, replyParameters, allowSendingWithoutReply)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use this method to be sure that you are correctly sending documents media group
|
* Use this method to be sure that you are correctly sending documents media group
|
||||||
@@ -97,11 +101,12 @@ inline fun SendDocumentsGroup(
|
|||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
media: List<DocumentMediaGroupMemberTelegramMedia>,
|
media: List<DocumentMediaGroupMemberTelegramMedia>,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
allowSendingWithoutReply: Boolean? = null
|
allowSendingWithoutReply: Boolean? = null
|
||||||
) = SendMediaGroup<DocumentContent>(chatId, media, threadId, disableNotification, protectContent, replyParameters, allowSendingWithoutReply)
|
) = SendMediaGroup<DocumentContent>(chatId, media, threadId, businessConnectionId, disableNotification, protectContent, replyParameters, allowSendingWithoutReply)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use this method to be sure that you are correctly sending visual media group
|
* Use this method to be sure that you are correctly sending visual media group
|
||||||
@@ -114,11 +119,12 @@ inline fun SendVisualMediaGroup(
|
|||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
media: List<VisualMediaGroupMemberTelegramMedia>,
|
media: List<VisualMediaGroupMemberTelegramMedia>,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
allowSendingWithoutReply: Boolean? = null
|
allowSendingWithoutReply: Boolean? = null
|
||||||
) = SendMediaGroup<VisualMediaGroupPartContent>(chatId, media, threadId, disableNotification, protectContent, replyParameters, allowSendingWithoutReply)
|
) = SendMediaGroup<VisualMediaGroupPartContent>(chatId, media, threadId, businessConnectionId, disableNotification, protectContent, replyParameters, allowSendingWithoutReply)
|
||||||
|
|
||||||
private object MessagesListSerializer: KSerializer<PossiblySentViaBotCommonMessage<MediaGroupContent<MediaGroupPartContent>>> {
|
private object MessagesListSerializer: KSerializer<PossiblySentViaBotCommonMessage<MediaGroupContent<MediaGroupPartContent>>> {
|
||||||
private val serializer = ListSerializer(TelegramBotAPIMessageDeserializeOnlySerializerClass<PossiblySentViaBotCommonMessage<MediaGroupPartContent>>())
|
private val serializer = ListSerializer(TelegramBotAPIMessageDeserializeOnlySerializerClass<PossiblySentViaBotCommonMessage<MediaGroupPartContent>>())
|
||||||
@@ -142,6 +148,8 @@ data class SendMediaGroupData internal constructor(
|
|||||||
val media: List<MediaGroupMemberTelegramMedia> = emptyList(),
|
val media: List<MediaGroupMemberTelegramMedia> = emptyList(),
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.requests.send.media.base.*
|
import dev.inmo.tgbotapi.requests.send.media.base.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||||
@@ -26,6 +27,7 @@ fun SendPhoto(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -39,6 +41,7 @@ fun SendPhoto(
|
|||||||
null,
|
null,
|
||||||
spoilered,
|
spoilered,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -60,6 +63,7 @@ fun SendPhoto(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -73,6 +77,7 @@ fun SendPhoto(
|
|||||||
entities.toRawMessageEntities(),
|
entities.toRawMessageEntities(),
|
||||||
spoilered,
|
spoilered,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -108,6 +113,8 @@ data class SendPhotoData internal constructor(
|
|||||||
override val spoilered: Boolean = false,
|
override val spoilered: Boolean = false,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
||||||
import dev.inmo.tgbotapi.types.*
|
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.buttons.KeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
||||||
@@ -15,6 +16,7 @@ fun SendSticker(
|
|||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
sticker: InputFile,
|
sticker: InputFile,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
emoji: String? = null,
|
emoji: String? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
@@ -24,6 +26,7 @@ fun SendSticker(
|
|||||||
chatId,
|
chatId,
|
||||||
sticker,
|
sticker,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -49,6 +52,8 @@ data class SendStickerByFileId internal constructor(
|
|||||||
val sticker: InputFile,
|
val sticker: InputFile,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.requests.send.media.base.*
|
import dev.inmo.tgbotapi.requests.send.media.base.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||||
@@ -32,6 +33,7 @@ fun SendVideo(
|
|||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
supportStreaming: Boolean? = null,
|
supportStreaming: Boolean? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -53,6 +55,7 @@ fun SendVideo(
|
|||||||
height,
|
height,
|
||||||
supportStreaming,
|
supportStreaming,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -80,6 +83,7 @@ fun SendVideo(
|
|||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
supportStreaming: Boolean? = null,
|
supportStreaming: Boolean? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -101,6 +105,7 @@ fun SendVideo(
|
|||||||
height,
|
height,
|
||||||
supportStreaming,
|
supportStreaming,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -146,6 +151,8 @@ data class SendVideoData internal constructor(
|
|||||||
val supportStreaming: Boolean? = null,
|
val supportStreaming: Boolean? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.requests.send.media.base.*
|
import dev.inmo.tgbotapi.requests.send.media.base.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
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.buttons.KeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
||||||
@@ -19,6 +20,7 @@ fun SendVideoNote(
|
|||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
size: Int? = null, // in documentation - length (size of video side)
|
size: Int? = null, // in documentation - length (size of video side)
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -34,6 +36,7 @@ fun SendVideoNote(
|
|||||||
duration,
|
duration,
|
||||||
size,
|
size,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -67,6 +70,8 @@ data class SendVideoNoteData internal constructor(
|
|||||||
override val width: Int? = null,
|
override val width: Int? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
import dev.inmo.tgbotapi.requests.send.media.base.*
|
import dev.inmo.tgbotapi.requests.send.media.base.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||||
@@ -27,6 +28,7 @@ fun SendVoice(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -42,6 +44,7 @@ fun SendVoice(
|
|||||||
null,
|
null,
|
||||||
duration,
|
duration,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -63,6 +66,7 @@ fun SendVoice(
|
|||||||
voice: InputFile,
|
voice: InputFile,
|
||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
@@ -79,6 +83,7 @@ fun SendVoice(
|
|||||||
entities.toRawMessageEntities(),
|
entities.toRawMessageEntities(),
|
||||||
duration,
|
duration,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -114,6 +119,8 @@ data class SendVoiceData internal constructor(
|
|||||||
override val duration: Long? = null,
|
override val duration: Long? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.CommonSendInvoiceData
|
|||||||
import dev.inmo.tgbotapi.abstracts.types.*
|
import dev.inmo.tgbotapi.abstracts.types.*
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializationStrategyClass
|
||||||
@@ -60,6 +61,8 @@ data class SendInvoice(
|
|||||||
override val priceDependOnShipAddress: Boolean = false,
|
override val priceDependOnShipAddress: Boolean = false,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.abstracts.TextedOutput
|
|||||||
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.ReplyingMarkupSendMessageRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
||||||
@@ -51,6 +52,7 @@ fun SendPoll(
|
|||||||
isAnonymous: Boolean = true,
|
isAnonymous: Boolean = true,
|
||||||
isClosed: Boolean = false,
|
isClosed: Boolean = false,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -75,6 +77,7 @@ fun SendPoll(
|
|||||||
fun Poll.createRequest(
|
fun Poll.createRequest(
|
||||||
chatId: ChatIdentifier,
|
chatId: ChatIdentifier,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -89,6 +92,7 @@ fun Poll.createRequest(
|
|||||||
allowMultipleAnswers,
|
allowMultipleAnswers,
|
||||||
scheduledCloseInfo,
|
scheduledCloseInfo,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -119,6 +123,7 @@ fun Poll.createRequest(
|
|||||||
false,
|
false,
|
||||||
scheduledCloseInfo,
|
scheduledCloseInfo,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -133,6 +138,7 @@ fun Poll.createRequest(
|
|||||||
false,
|
false,
|
||||||
scheduledCloseInfo,
|
scheduledCloseInfo,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -198,6 +204,8 @@ data class SendRegularPoll(
|
|||||||
override val closeDate: LongSeconds?,
|
override val closeDate: LongSeconds?,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
@@ -226,6 +234,7 @@ fun SendRegularPoll(
|
|||||||
allowMultipleAnswers: Boolean = false,
|
allowMultipleAnswers: Boolean = false,
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
closeInfo: ScheduledCloseInfo? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -240,6 +249,7 @@ fun SendRegularPoll(
|
|||||||
(closeInfo as? ApproximateScheduledCloseInfo) ?.openPeriod,
|
(closeInfo as? ApproximateScheduledCloseInfo) ?.openPeriod,
|
||||||
(closeInfo as? ExactScheduledCloseInfo) ?.closeDate,
|
(closeInfo as? ExactScheduledCloseInfo) ?.closeDate,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -257,6 +267,7 @@ fun SendQuizPoll(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
closeInfo: ScheduledCloseInfo? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -273,6 +284,7 @@ fun SendQuizPoll(
|
|||||||
null,
|
null,
|
||||||
closeInfo,
|
closeInfo,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -289,6 +301,7 @@ fun SendQuizPoll(
|
|||||||
entities: List<TextSource>,
|
entities: List<TextSource>,
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
closeInfo: ScheduledCloseInfo? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -305,6 +318,7 @@ fun SendQuizPoll(
|
|||||||
entities.toRawMessageEntities(),
|
entities.toRawMessageEntities(),
|
||||||
closeInfo,
|
closeInfo,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -323,6 +337,7 @@ internal fun SendQuizPoll(
|
|||||||
rawEntities: List<RawMessageEntity>? = null,
|
rawEntities: List<RawMessageEntity>? = null,
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
closeInfo: ScheduledCloseInfo? = null,
|
||||||
threadId: MessageThreadId? = chatId.threadId,
|
threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
replyParameters: ReplyParameters? = null,
|
replyParameters: ReplyParameters? = null,
|
||||||
@@ -340,6 +355,7 @@ internal fun SendQuizPoll(
|
|||||||
(closeInfo as? ApproximateScheduledCloseInfo) ?.openPeriod,
|
(closeInfo as? ApproximateScheduledCloseInfo) ?.openPeriod,
|
||||||
(closeInfo as? ExactScheduledCloseInfo) ?.closeDate,
|
(closeInfo as? ExactScheduledCloseInfo) ?.closeDate,
|
||||||
threadId,
|
threadId,
|
||||||
|
businessConnectionId,
|
||||||
disableNotification,
|
disableNotification,
|
||||||
protectContent,
|
protectContent,
|
||||||
replyParameters,
|
replyParameters,
|
||||||
@@ -372,6 +388,8 @@ data class SendQuizPoll internal constructor(
|
|||||||
override val closeDate: LongSeconds? = null,
|
override val closeDate: LongSeconds? = null,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = chatId.threadId,
|
override val threadId: MessageThreadId? = chatId.threadId,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package dev.inmo.tgbotapi.types
|
package dev.inmo.tgbotapi.types
|
||||||
|
|
||||||
import dev.inmo.micro_utils.common.Warning
|
import dev.inmo.micro_utils.common.Warning
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.chat.User
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
import dev.inmo.tgbotapi.utils.RiskFeature
|
import dev.inmo.tgbotapi.utils.RiskFeature
|
||||||
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
|
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
|
||||||
@@ -29,12 +30,17 @@ sealed interface IdChatIdentifier : ChatIdentifier {
|
|||||||
abstract val chatId: RawChatId
|
abstract val chatId: RawChatId
|
||||||
val threadId: MessageThreadId?
|
val threadId: MessageThreadId?
|
||||||
get() = null
|
get() = null
|
||||||
|
val businessId: BusinessConnectionId?
|
||||||
|
get() = null
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
operator fun invoke(chatId: RawChatId) = ChatId(chatId)
|
operator fun invoke(chatId: RawChatId, threadId: MessageThreadId? = null, businessConnectionId: BusinessConnectionId? = null) = threadId ?.let {
|
||||||
operator fun invoke(chatId: RawChatId, threadId: MessageThreadId?) = threadId ?.let {
|
|
||||||
ChatIdWithThreadId(chatId, threadId)
|
ChatIdWithThreadId(chatId, threadId)
|
||||||
|
} ?: businessConnectionId ?.let {
|
||||||
|
BusinessChatId(chatId, businessConnectionId)
|
||||||
} ?: ChatId(chatId)
|
} ?: ChatId(chatId)
|
||||||
|
operator fun invoke(chatId: RawChatId, threadId: MessageThreadId) = ChatIdWithThreadId(chatId, threadId)
|
||||||
|
operator fun invoke(chatId: RawChatId, businessConnectionId: BusinessConnectionId) = BusinessChatId(chatId, businessConnectionId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,16 +58,31 @@ value class ChatIdWithThreadId(val chatIdWithThreadId: Pair<RawChatId, MessageTh
|
|||||||
|
|
||||||
constructor(chatId: RawChatId, threadId: MessageThreadId): this(chatId to threadId)
|
constructor(chatId: RawChatId, threadId: MessageThreadId): this(chatId to threadId)
|
||||||
}
|
}
|
||||||
|
@Serializable(ChatIdentifierSerializer::class)
|
||||||
|
@JvmInline
|
||||||
|
value class BusinessChatId(val chatIdWithBusinessConnectionId: Pair<RawChatId, BusinessConnectionId>) : IdChatIdentifier {
|
||||||
|
override val chatId: RawChatId
|
||||||
|
get() = chatIdWithBusinessConnectionId.first
|
||||||
|
override val businessId: BusinessConnectionId
|
||||||
|
get() = chatIdWithBusinessConnectionId.second
|
||||||
|
|
||||||
|
constructor(chatId: RawChatId, businessConnectionId: BusinessConnectionId): this(chatId to businessConnectionId)
|
||||||
|
}
|
||||||
|
|
||||||
val ChatIdentifier.threadId: MessageThreadId?
|
val ChatIdentifier.threadId: MessageThreadId?
|
||||||
get() = (this as? IdChatIdentifier) ?.threadId
|
get() = (this as? IdChatIdentifier) ?.threadId
|
||||||
|
|
||||||
|
val ChatIdentifier.businessConnectionId: BusinessConnectionId?
|
||||||
|
get() = (this as? IdChatIdentifier) ?.businessConnectionId
|
||||||
|
|
||||||
fun IdChatIdentifier.toChatId() = when (this) {
|
fun IdChatIdentifier.toChatId() = when (this) {
|
||||||
is ChatId -> this
|
is ChatId -> this
|
||||||
is ChatIdWithThreadId -> ChatId(chatId)
|
is ChatIdWithThreadId -> ChatId(chatId)
|
||||||
|
is BusinessChatId -> ChatId(chatId)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun IdChatIdentifier.toChatWithThreadId(threadId: MessageThreadId) = IdChatIdentifier(chatId, threadId)
|
fun IdChatIdentifier.toChatWithThreadId(threadId: MessageThreadId) = IdChatIdentifier(chatId, threadId)
|
||||||
|
fun IdChatIdentifier.toBusinessChatId(businessConnectionId: BusinessConnectionId) = IdChatIdentifier(chatId, businessConnectionId)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* https://core.telegram.org/bots/api#formatting-options
|
* https://core.telegram.org/bots/api#formatting-options
|
||||||
@@ -145,14 +166,22 @@ object FullChatIdentifierSerializer : KSerializer<ChatIdentifier> {
|
|||||||
ChatId(RawChatId(it))
|
ChatId(RawChatId(it))
|
||||||
} ?:let {
|
} ?:let {
|
||||||
val splitted = id.content.split("/")
|
val splitted = id.content.split("/")
|
||||||
if (splitted.size == 2) {
|
when (splitted.size) {
|
||||||
val (chatId, threadId) = splitted
|
2 -> {
|
||||||
ChatIdWithThreadId(
|
val (chatId, threadId) = splitted
|
||||||
chatId.toLongOrNull() ?.let(::RawChatId) ?: return@let null,
|
ChatIdWithThreadId(
|
||||||
threadId.toLongOrNull() ?.let(::MessageThreadId) ?: return@let null
|
chatId.toLongOrNull() ?.let(::RawChatId) ?: return@let null,
|
||||||
)
|
threadId.toLongOrNull() ?.let(::MessageThreadId) ?: return@let null
|
||||||
} else {
|
)
|
||||||
null
|
}
|
||||||
|
3 -> {
|
||||||
|
val (chatId, _, businessConnectionId) = splitted
|
||||||
|
BusinessChatId(
|
||||||
|
chatId.toLongOrNull() ?.let(::RawChatId) ?: return@let null,
|
||||||
|
businessConnectionId.let(::BusinessConnectionId) ?: return@let null
|
||||||
|
)
|
||||||
|
}
|
||||||
|
else -> null
|
||||||
}
|
}
|
||||||
} ?: id.content.let {
|
} ?: id.content.let {
|
||||||
if (!it.startsWith("@")) {
|
if (!it.startsWith("@")) {
|
||||||
@@ -167,6 +196,7 @@ object FullChatIdentifierSerializer : KSerializer<ChatIdentifier> {
|
|||||||
when (value) {
|
when (value) {
|
||||||
is ChatId -> encoder.encodeLong(value.chatId.long)
|
is ChatId -> encoder.encodeLong(value.chatId.long)
|
||||||
is ChatIdWithThreadId -> encoder.encodeString("${value.chatId}/${value.threadId}")
|
is ChatIdWithThreadId -> encoder.encodeString("${value.chatId}/${value.threadId}")
|
||||||
|
is BusinessChatId -> encoder.encodeString("${value.chatId}//${value.businessId}")
|
||||||
is Username -> encoder.encodeString(value.full)
|
is Username -> encoder.encodeString(value.full)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -150,13 +150,16 @@ const val accentColorIdField = "accent_color_id"
|
|||||||
const val profileAccentColorIdField = "profile_accent_color_id"
|
const val profileAccentColorIdField = "profile_accent_color_id"
|
||||||
const val backgroundCustomEmojiIdField = "background_custom_emoji_id"
|
const val backgroundCustomEmojiIdField = "background_custom_emoji_id"
|
||||||
const val profileBackgroundCustomEmojiIdField = "profile_background_custom_emoji_id"
|
const val profileBackgroundCustomEmojiIdField = "profile_background_custom_emoji_id"
|
||||||
|
const val personalChatField = "personal_chat"
|
||||||
const val hasVisibleHistoryField = "has_visible_history"
|
const val hasVisibleHistoryField = "has_visible_history"
|
||||||
const val unrestrictBoostsCountField = "unrestrict_boost_count"
|
const val unrestrictBoostsCountField = "unrestrict_boost_count"
|
||||||
const val customEmojiStickerSetNameField = "custom_emoji_sticker_set_name"
|
const val customEmojiStickerSetNameField = "custom_emoji_sticker_set_name"
|
||||||
const val iconCustomEmojiIdField = "icon_custom_emoji_id"
|
const val iconCustomEmojiIdField = "icon_custom_emoji_id"
|
||||||
const val canJoinGroupsField = "can_join_groups"
|
const val canJoinGroupsField = "can_join_groups"
|
||||||
const val canReadAllGroupMessagesField = "can_read_all_group_messages"
|
const val canReadAllGroupMessagesField = "can_read_all_group_messages"
|
||||||
|
const val canReplyField = "can_reply"
|
||||||
const val supportInlineQueriesField = "supports_inline_queries"
|
const val supportInlineQueriesField = "supports_inline_queries"
|
||||||
|
const val canConnectToBusinessField = "can_connect_to_business"
|
||||||
const val textEntitiesField = "text_entities"
|
const val textEntitiesField = "text_entities"
|
||||||
const val entitiesField = "entities"
|
const val entitiesField = "entities"
|
||||||
const val stickerSetNameField = "set_name"
|
const val stickerSetNameField = "set_name"
|
||||||
@@ -190,6 +193,7 @@ const val untilDateField = "until_date"
|
|||||||
const val errorMessageField = "error_message"
|
const val errorMessageField = "error_message"
|
||||||
const val messageTextField = "message_text"
|
const val messageTextField = "message_text"
|
||||||
const val isPersonalField = "is_personal"
|
const val isPersonalField = "is_personal"
|
||||||
|
const val isEnabledField = "is_enabled"
|
||||||
const val nextOffsetField = "next_offset"
|
const val nextOffsetField = "next_offset"
|
||||||
const val buttonField = "button"
|
const val buttonField = "button"
|
||||||
const val switchPmTextField = "switch_pm_text"
|
const val switchPmTextField = "switch_pm_text"
|
||||||
@@ -449,6 +453,10 @@ const val explanationEntitiesField = "explanation_entities"
|
|||||||
const val explanationParseModeField = "explanation_parse_mode"
|
const val explanationParseModeField = "explanation_parse_mode"
|
||||||
const val openPeriodField = "open_period"
|
const val openPeriodField = "open_period"
|
||||||
const val closeDateField = "close_date"
|
const val closeDateField = "close_date"
|
||||||
|
const val openingMinuteField = "opening_minute"
|
||||||
|
const val closingMinuteField = "closing_minute"
|
||||||
|
const val openingHoursField = "opening_hours"
|
||||||
|
const val timeZoneNameField = "time_zone_name"
|
||||||
|
|
||||||
const val smallFileIdField = "small_file_id"
|
const val smallFileIdField = "small_file_id"
|
||||||
const val bigFileIdField = "big_file_id"
|
const val bigFileIdField = "big_file_id"
|
||||||
@@ -579,3 +587,8 @@ const val additionalChatCountField = "additional_chat_count"
|
|||||||
const val unclaimedPrizeCountField = "unclaimed_prize_count"
|
const val unclaimedPrizeCountField = "unclaimed_prize_count"
|
||||||
const val wasRefundedField = "was_refunded"
|
const val wasRefundedField = "was_refunded"
|
||||||
const val isManualField = "is_manual"
|
const val isManualField = "is_manual"
|
||||||
|
|
||||||
|
const val businessConnectionIdField = "business_connection_id"
|
||||||
|
const val businessIntroField = "business_intro"
|
||||||
|
const val businessLocationField = "business_location"
|
||||||
|
const val businessOpeningHoursField = "business_opening_hours"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ const val UPDATE_MESSAGE_REACTION = "message_reaction"
|
|||||||
const val UPDATE_MESSAGE_REACTION_COUNT = "message_reaction_count"
|
const val UPDATE_MESSAGE_REACTION_COUNT = "message_reaction_count"
|
||||||
const val UPDATE_CHAT_BOOST = "chat_boost"
|
const val UPDATE_CHAT_BOOST = "chat_boost"
|
||||||
const val UPDATE_REMOVE_CHAT_BOOST = "removed_chat_boost"
|
const val UPDATE_REMOVE_CHAT_BOOST = "removed_chat_boost"
|
||||||
|
const val UPDATE_BUSINESS_CONNECTION = "business_connection"
|
||||||
|
|
||||||
val ALL_UPDATES_LIST_WITHOUT_REACTIONS = listOf(
|
val ALL_UPDATES_LIST_WITHOUT_REACTIONS = listOf(
|
||||||
UPDATE_MESSAGE,
|
UPDATE_MESSAGE,
|
||||||
@@ -35,7 +36,8 @@ val ALL_UPDATES_LIST_WITHOUT_REACTIONS = listOf(
|
|||||||
UPDATE_CHAT_MEMBER,
|
UPDATE_CHAT_MEMBER,
|
||||||
UPDATE_CHAT_JOIN_REQUEST,
|
UPDATE_CHAT_JOIN_REQUEST,
|
||||||
UPDATE_CHAT_BOOST,
|
UPDATE_CHAT_BOOST,
|
||||||
UPDATE_REMOVE_CHAT_BOOST
|
UPDATE_REMOVE_CHAT_BOOST,
|
||||||
|
UPDATE_BUSINESS_CONNECTION
|
||||||
)
|
)
|
||||||
|
|
||||||
val ALL_UPDATES_LIST = ALL_UPDATES_LIST_WITHOUT_REACTIONS + listOf(
|
val ALL_UPDATES_LIST = ALL_UPDATES_LIST_WITHOUT_REACTIONS + listOf(
|
||||||
|
|||||||
@@ -0,0 +1,76 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.business_connection
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.WithBusinessConnectionId
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewUser
|
||||||
|
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
|
||||||
|
import kotlinx.serialization.EncodeDefault
|
||||||
|
import kotlinx.serialization.KSerializer
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||||
|
import kotlinx.serialization.encoding.Decoder
|
||||||
|
import kotlinx.serialization.encoding.Encoder
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@ClassCastsIncluded
|
||||||
|
sealed interface BusinessConnection : WithBusinessConnectionId {
|
||||||
|
val id: BusinessConnectionId
|
||||||
|
val user: PreviewUser
|
||||||
|
val userChatId: ChatId
|
||||||
|
val date: TelegramDate
|
||||||
|
val canReply: Boolean
|
||||||
|
val isEnabled: Boolean
|
||||||
|
|
||||||
|
override val businessConnectionId: BusinessConnectionId
|
||||||
|
get() = id
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class Enabled(
|
||||||
|
@SerialName(idField)
|
||||||
|
override val id: BusinessConnectionId,
|
||||||
|
@SerialName(userField)
|
||||||
|
override val user: PreviewUser,
|
||||||
|
@SerialName(userChatIdField)
|
||||||
|
override val userChatId: ChatId,
|
||||||
|
@SerialName(dateField)
|
||||||
|
override val date: TelegramDate,
|
||||||
|
@SerialName(canReplyField)
|
||||||
|
override val canReply: Boolean,
|
||||||
|
) : BusinessConnection {
|
||||||
|
@EncodeDefault
|
||||||
|
override val isEnabled: Boolean = true
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class Disabled(
|
||||||
|
@SerialName(idField)
|
||||||
|
override val id: BusinessConnectionId,
|
||||||
|
@SerialName(userField)
|
||||||
|
override val user: PreviewUser,
|
||||||
|
@SerialName(userChatIdField)
|
||||||
|
override val userChatId: ChatId,
|
||||||
|
@SerialName(dateField)
|
||||||
|
override val date: TelegramDate,
|
||||||
|
@SerialName(canReplyField)
|
||||||
|
override val canReply: Boolean,
|
||||||
|
) : BusinessConnection {
|
||||||
|
@EncodeDefault
|
||||||
|
override val isEnabled: Boolean = false
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object : KSerializer<BusinessConnection> {
|
||||||
|
override val descriptor: SerialDescriptor
|
||||||
|
get() = RawBusinessConnection.serializer().descriptor
|
||||||
|
|
||||||
|
override fun deserialize(decoder: Decoder): BusinessConnection {
|
||||||
|
return RawBusinessConnection.serializer().deserialize(decoder).asBusinessConnection
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun serialize(encoder: Encoder, value: BusinessConnection) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.business_connection
|
||||||
|
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlin.jvm.JvmInline
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@JvmInline
|
||||||
|
value class BusinessConnectionId(
|
||||||
|
val string: String
|
||||||
|
) {
|
||||||
|
override fun toString(): String {
|
||||||
|
return string
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.business_connection
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.files.Sticker
|
||||||
|
import dev.inmo.tgbotapi.types.messageField
|
||||||
|
import dev.inmo.tgbotapi.types.stickerField
|
||||||
|
import dev.inmo.tgbotapi.types.titleField
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class BusinessIntro(
|
||||||
|
@SerialName(titleField)
|
||||||
|
val title: String? = null,
|
||||||
|
@SerialName(messageField)
|
||||||
|
val message: String? = null,
|
||||||
|
@SerialName(stickerField)
|
||||||
|
val sticker: Sticker? = null,
|
||||||
|
)
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.business_connection
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.addressField
|
||||||
|
import dev.inmo.tgbotapi.types.location.StaticLocation
|
||||||
|
import dev.inmo.tgbotapi.types.locationField
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class BusinessLocation(
|
||||||
|
@SerialName(addressField)
|
||||||
|
val address: String,
|
||||||
|
@SerialName(locationField)
|
||||||
|
val location: StaticLocation
|
||||||
|
)
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.business_connection
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.WithBusinessConnectionId
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.WithOptionalBusinessConnectionId
|
||||||
|
import dev.inmo.tgbotapi.types.MessageId
|
||||||
|
import dev.inmo.tgbotapi.types.businessConnectionIdField
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||||
|
import dev.inmo.tgbotapi.types.chatField
|
||||||
|
import dev.inmo.tgbotapi.types.messageIdField
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class BusinessMessagesDeleted(
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId,
|
||||||
|
@SerialName(chatField)
|
||||||
|
val chat: PreviewChat,
|
||||||
|
@SerialName(messageIdField)
|
||||||
|
val messageId: MessageId
|
||||||
|
) : WithBusinessConnectionId
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.business_connection
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.openingHoursField
|
||||||
|
import dev.inmo.tgbotapi.types.timeZoneNameField
|
||||||
|
import korlibs.time.Timezone
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class BusinessOpeningHours(
|
||||||
|
@SerialName(timeZoneNameField)
|
||||||
|
val timeZoneName: String,
|
||||||
|
@SerialName(openingHoursField)
|
||||||
|
val openingHours: List<BusinessOpeningHoursInterval>
|
||||||
|
) {
|
||||||
|
val timezone: Timezone
|
||||||
|
get() = Timezone.valueOf(timeZoneName)
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.business_connection
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.closingMinuteField
|
||||||
|
import dev.inmo.tgbotapi.types.openingMinuteField
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class BusinessOpeningHoursInterval(
|
||||||
|
@SerialName(openingMinuteField)
|
||||||
|
val opening: MinutesInterval,
|
||||||
|
@SerialName(closingMinuteField)
|
||||||
|
val closing: MinutesInterval
|
||||||
|
)
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.business_connection
|
||||||
|
|
||||||
|
import korlibs.time.TimeSpan
|
||||||
|
import korlibs.time.minutes
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlin.jvm.JvmInline
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@JvmInline
|
||||||
|
value class MinutesInterval(
|
||||||
|
val int: Int
|
||||||
|
) {
|
||||||
|
val dayTimeSpan: TimeSpan
|
||||||
|
get() = int.minutes
|
||||||
|
val weekDay0: Int
|
||||||
|
get() = dayTimeSpan.inWholeDays.toInt()
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.business_connection
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewUser
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class RawBusinessConnection(
|
||||||
|
@SerialName(idField)
|
||||||
|
val id: BusinessConnectionId,
|
||||||
|
@SerialName(userField)
|
||||||
|
val user: PreviewUser,
|
||||||
|
@SerialName(userChatIdField)
|
||||||
|
val userChatId: ChatId,
|
||||||
|
@SerialName(dateField)
|
||||||
|
val date: TelegramDate,
|
||||||
|
@SerialName(canReplyField)
|
||||||
|
val canReply: Boolean,
|
||||||
|
@SerialName(isEnabledField)
|
||||||
|
val isEnabled: Boolean
|
||||||
|
) {
|
||||||
|
val asBusinessConnection
|
||||||
|
get() = when (isEnabled) {
|
||||||
|
true -> BusinessConnection.Enabled(
|
||||||
|
id = id,
|
||||||
|
user = user,
|
||||||
|
userChatId = userChatId,
|
||||||
|
date = date,
|
||||||
|
canReply = canReply
|
||||||
|
)
|
||||||
|
false -> BusinessConnection.Disabled(
|
||||||
|
id = id,
|
||||||
|
user = user,
|
||||||
|
userChatId = userChatId,
|
||||||
|
date = date,
|
||||||
|
canReply = canReply
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(businessConnection: BusinessConnection) : this(
|
||||||
|
id = businessConnection.id,
|
||||||
|
user = businessConnection.user,
|
||||||
|
userChatId = businessConnection.userChatId,
|
||||||
|
date = businessConnection.date,
|
||||||
|
canReply = businessConnection.canReply,
|
||||||
|
isEnabled = businessConnection.isEnabled,
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -16,6 +16,12 @@ sealed interface PrivateChat : Chat, UsernameChat {
|
|||||||
val lastName: String
|
val lastName: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Serializable(ChatSerializer::class)
|
||||||
|
sealed interface BusinessChat : Chat {
|
||||||
|
override val id: BusinessChatId
|
||||||
|
val original: PrivateChat
|
||||||
|
}
|
||||||
|
|
||||||
@Serializable(ChatSerializer::class)
|
@Serializable(ChatSerializer::class)
|
||||||
sealed interface PublicChat : Chat {
|
sealed interface PublicChat : Chat {
|
||||||
val title: String
|
val title: String
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package dev.inmo.tgbotapi.types.chat
|
package dev.inmo.tgbotapi.types.chat
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.utils.RiskFeature
|
import dev.inmo.tgbotapi.utils.RiskFeature
|
||||||
import dev.inmo.tgbotapi.utils.nonstrictJsonFormat
|
import dev.inmo.tgbotapi.utils.nonstrictJsonFormat
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
@@ -62,8 +63,9 @@ object ChatSerializer : KSerializer<Chat> {
|
|||||||
return try {
|
return try {
|
||||||
formatter.decodeFromJsonElement(ExtendedChatSerializer, decodedJson)
|
formatter.decodeFromJsonElement(ExtendedChatSerializer, decodedJson)
|
||||||
} catch (e: SerializationException) {
|
} catch (e: SerializationException) {
|
||||||
val type = decodedJson[typeField] ?.jsonPrimitive ?.content ?.asChatType ?: error("Field $typeField must be presented, but absent in $decodedJson")
|
val type = decodedJson[typeField] ?.jsonPrimitive ?.content ?.asChatType
|
||||||
val isForum = decodedJson[isForumField] ?.jsonPrimitive ?.booleanOrNull == true
|
val isForum = decodedJson[isForumField] ?.jsonPrimitive ?.booleanOrNull == true
|
||||||
|
val original = decodedJson[originField]
|
||||||
|
|
||||||
when (type) {
|
when (type) {
|
||||||
ChatType.Sender -> formatter.decodeFromJsonElement(PrivateChatImpl.serializer(), decodedJson)
|
ChatType.Sender -> formatter.decodeFromJsonElement(PrivateChatImpl.serializer(), decodedJson)
|
||||||
@@ -80,6 +82,12 @@ object ChatSerializer : KSerializer<Chat> {
|
|||||||
decodedJson.toString(),
|
decodedJson.toString(),
|
||||||
decodedJson
|
decodedJson
|
||||||
)
|
)
|
||||||
|
null -> {
|
||||||
|
when {
|
||||||
|
original != null -> formatter.decodeFromJsonElement(BusinessChatImpl.serializer(), decodedJson)
|
||||||
|
else -> error("Field $typeField must be presented for common types (excluding Business chats), but absent in $decodedJson")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -101,8 +109,9 @@ object PreviewChatSerializer : KSerializer<PreviewChat> {
|
|||||||
override fun deserialize(decoder: Decoder): PreviewChat {
|
override fun deserialize(decoder: Decoder): PreviewChat {
|
||||||
val decodedJson = JsonObject.serializer().deserialize(decoder)
|
val decodedJson = JsonObject.serializer().deserialize(decoder)
|
||||||
|
|
||||||
val type = decodedJson[typeField] ?.jsonPrimitive ?.content ?.asChatType ?: error("Field $typeField must be presented, but absent in $decodedJson")
|
val type = decodedJson[typeField] ?.jsonPrimitive ?.content ?.asChatType
|
||||||
val isForum = decodedJson[isForumField] ?.jsonPrimitive ?.booleanOrNull == true
|
val isForum = decodedJson[isForumField] ?.jsonPrimitive ?.booleanOrNull == true
|
||||||
|
val original = decodedJson[originField]
|
||||||
|
|
||||||
return when (type) {
|
return when (type) {
|
||||||
ChatType.Sender -> formatter.decodeFromJsonElement(PrivateChatImpl.serializer(), decodedJson)
|
ChatType.Sender -> formatter.decodeFromJsonElement(PrivateChatImpl.serializer(), decodedJson)
|
||||||
@@ -119,12 +128,19 @@ object PreviewChatSerializer : KSerializer<PreviewChat> {
|
|||||||
decodedJson.toString(),
|
decodedJson.toString(),
|
||||||
decodedJson
|
decodedJson
|
||||||
)
|
)
|
||||||
|
null -> {
|
||||||
|
when {
|
||||||
|
original != null -> formatter.decodeFromJsonElement(PreviewBusinessChat.serializer(), decodedJson)
|
||||||
|
else -> error("Field $typeField must be presented for common types (excluding Business chats), but absent in $decodedJson")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun serialize(encoder: Encoder, value: PreviewChat) {
|
override fun serialize(encoder: Encoder, value: PreviewChat) {
|
||||||
when (value) {
|
when (value) {
|
||||||
is PrivateChatImpl -> PrivateChatImpl.serializer().serialize(encoder, value)
|
is PrivateChatImpl -> PrivateChatImpl.serializer().serialize(encoder, value)
|
||||||
|
is BusinessChatImpl -> BusinessChatImpl.serializer().serialize(encoder, value)
|
||||||
is GroupChatImpl -> GroupChatImpl.serializer().serialize(encoder, value)
|
is GroupChatImpl -> GroupChatImpl.serializer().serialize(encoder, value)
|
||||||
is SupergroupChatImpl -> SupergroupChatImpl.serializer().serialize(encoder, value)
|
is SupergroupChatImpl -> SupergroupChatImpl.serializer().serialize(encoder, value)
|
||||||
is ForumChatImpl -> ForumChatImpl.serializer().serialize(encoder, value)
|
is ForumChatImpl -> ForumChatImpl.serializer().serialize(encoder, value)
|
||||||
@@ -144,8 +160,9 @@ sealed class ExtendedChatSerializer : KSerializer<ExtendedChat> {
|
|||||||
override fun deserialize(decoder: Decoder): ExtendedChat {
|
override fun deserialize(decoder: Decoder): ExtendedChat {
|
||||||
val decodedJson = JsonObject.serializer().deserialize(decoder)
|
val decodedJson = JsonObject.serializer().deserialize(decoder)
|
||||||
|
|
||||||
val type = decodedJson[typeField] ?.jsonPrimitive ?.content ?.asChatType ?: error("Field $typeField must be presented, but absent in $decodedJson")
|
val type = decodedJson[typeField] ?.jsonPrimitive ?.content ?.asChatType
|
||||||
val isForum = decodedJson[isForumField] ?.jsonPrimitive ?.booleanOrNull == true
|
val isForum = decodedJson[isForumField] ?.jsonPrimitive ?.booleanOrNull == true
|
||||||
|
val original = decodedJson[originField]
|
||||||
|
|
||||||
return when (type) {
|
return when (type) {
|
||||||
ChatType.Sender -> formatter.decodeFromJsonElement(ExtendedPrivateChatImpl.serializer(), decodedJson)
|
ChatType.Sender -> formatter.decodeFromJsonElement(ExtendedPrivateChatImpl.serializer(), decodedJson)
|
||||||
@@ -162,11 +179,18 @@ sealed class ExtendedChatSerializer : KSerializer<ExtendedChat> {
|
|||||||
decodedJson.toString(),
|
decodedJson.toString(),
|
||||||
decodedJson
|
decodedJson
|
||||||
)
|
)
|
||||||
|
null -> {
|
||||||
|
when {
|
||||||
|
original != null -> formatter.decodeFromJsonElement(ExtendedBusinessChatImpl.serializer(), decodedJson)
|
||||||
|
else -> error("Field $typeField must be presented for common types (excluding Business chats), but absent in $decodedJson")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun serialize(encoder: Encoder, value: ExtendedChat) {
|
override fun serialize(encoder: Encoder, value: ExtendedChat) {
|
||||||
when (value) {
|
when (value) {
|
||||||
|
is ExtendedBusinessChatImpl -> ExtendedBusinessChatImpl.serializer().serialize(encoder, value)
|
||||||
is ExtendedPrivateChatImpl -> ExtendedPrivateChatImpl.serializer().serialize(encoder, value)
|
is ExtendedPrivateChatImpl -> ExtendedPrivateChatImpl.serializer().serialize(encoder, value)
|
||||||
is ExtendedGroupChatImpl -> ExtendedGroupChatImpl.serializer().serialize(encoder, value)
|
is ExtendedGroupChatImpl -> ExtendedGroupChatImpl.serializer().serialize(encoder, value)
|
||||||
is ExtendedSupergroupChatImpl -> ExtendedSupergroupChatImpl.serializer().serialize(encoder, value)
|
is ExtendedSupergroupChatImpl -> ExtendedSupergroupChatImpl.serializer().serialize(encoder, value)
|
||||||
@@ -190,6 +214,20 @@ sealed class ExtendedChatSerializer : KSerializer<ExtendedChat> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
class BasedOnBusinessConnection(private val businessConnectionId: BusinessConnectionId) : ExtendedChatSerializer() {
|
||||||
|
override fun deserialize(decoder: Decoder): ExtendedChat {
|
||||||
|
return super.deserialize(decoder).let {
|
||||||
|
if (it is ExtendedPrivateChatImpl) {
|
||||||
|
ExtendedBusinessChatImpl(
|
||||||
|
BusinessChatId(it.id.chatId, businessConnectionId),
|
||||||
|
it
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
it
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
companion object : ExtendedChatSerializer()
|
companion object : ExtendedChatSerializer()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package dev.inmo.tgbotapi.types.chat
|
package dev.inmo.tgbotapi.types.chat
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessIntro
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessLocation
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessOpeningHours
|
||||||
import dev.inmo.tgbotapi.types.colors.ColorId
|
import dev.inmo.tgbotapi.types.colors.ColorId
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
||||||
@@ -124,6 +127,15 @@ data class ExtendedPrivateChatImpl(
|
|||||||
override val backgroundCustomEmojiId: CustomEmojiId? = null,
|
override val backgroundCustomEmojiId: CustomEmojiId? = null,
|
||||||
@SerialName(profileBackgroundCustomEmojiIdField)
|
@SerialName(profileBackgroundCustomEmojiIdField)
|
||||||
override val profileBackgroundCustomEmojiId: CustomEmojiId? = null,
|
override val profileBackgroundCustomEmojiId: CustomEmojiId? = null,
|
||||||
|
@SerialName(businessIntroField)
|
||||||
|
override val businessIntro: BusinessIntro? = null,
|
||||||
|
@SerialName(businessLocationField)
|
||||||
|
override val businessLocation: BusinessLocation? = null,
|
||||||
|
@SerialName(businessOpeningHoursField)
|
||||||
|
override val businessOpeningHours: BusinessOpeningHours? = null,
|
||||||
|
@SerialName(personalChatField)
|
||||||
|
@Serializable(PreviewChatSerializer::class)
|
||||||
|
override val personalChat: PreviewChannelChat? = null
|
||||||
) : ExtendedPrivateChat
|
) : ExtendedPrivateChat
|
||||||
|
|
||||||
typealias ExtendedUser = ExtendedPrivateChatImpl
|
typealias ExtendedUser = ExtendedPrivateChatImpl
|
||||||
@@ -254,6 +266,7 @@ data class ExtendedForumChatImpl(
|
|||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
data class ExtendedBot(
|
data class ExtendedBot(
|
||||||
|
@SerialName(idField)
|
||||||
override val id: UserId,
|
override val id: UserId,
|
||||||
@SerialName(firstNameField)
|
@SerialName(firstNameField)
|
||||||
override val firstName: String,
|
override val firstName: String,
|
||||||
@@ -267,6 +280,8 @@ data class ExtendedBot(
|
|||||||
val canReadAllGroupMessages: Boolean = false,
|
val canReadAllGroupMessages: Boolean = false,
|
||||||
@SerialName(supportInlineQueriesField)
|
@SerialName(supportInlineQueriesField)
|
||||||
val supportsInlineQueries: Boolean = false,
|
val supportsInlineQueries: Boolean = false,
|
||||||
|
@SerialName(canConnectToBusinessField)
|
||||||
|
val canConnectToBusiness: Boolean = false,
|
||||||
@SerialName(photoField)
|
@SerialName(photoField)
|
||||||
override val chatPhoto: ChatPhoto? = null,
|
override val chatPhoto: ChatPhoto? = null,
|
||||||
@SerialName(accentColorIdField)
|
@SerialName(accentColorIdField)
|
||||||
@@ -282,6 +297,14 @@ data class ExtendedBot(
|
|||||||
private val isBot = true
|
private val isBot = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class ExtendedBusinessChatImpl(
|
||||||
|
@SerialName(idField)
|
||||||
|
override val id: BusinessChatId,
|
||||||
|
@SerialName(originField)
|
||||||
|
override val original: ExtendedPrivateChat
|
||||||
|
) : ExtendedBusinessChat, ExtendedChat by original
|
||||||
|
|
||||||
data class UnknownExtendedChat(
|
data class UnknownExtendedChat(
|
||||||
override val id: IdChatIdentifier,
|
override val id: IdChatIdentifier,
|
||||||
val raw: String,
|
val raw: String,
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package dev.inmo.tgbotapi.types.chat
|
package dev.inmo.tgbotapi.types.chat
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessIntro
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessLocation
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessOpeningHours
|
||||||
import dev.inmo.tgbotapi.types.colors.ColorId
|
import dev.inmo.tgbotapi.types.colors.ColorId
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||||
@@ -39,6 +42,12 @@ sealed interface ExtendedPrivateChat : PrivateChat, ExtendedChatWithUsername, Ex
|
|||||||
val hasPrivateForwards: Boolean
|
val hasPrivateForwards: Boolean
|
||||||
val hasRestrictedVoiceAndVideoMessages: Boolean
|
val hasRestrictedVoiceAndVideoMessages: Boolean
|
||||||
|
|
||||||
|
val businessIntro: BusinessIntro?
|
||||||
|
val businessLocation: BusinessLocation?
|
||||||
|
val businessOpeningHours: BusinessOpeningHours?
|
||||||
|
|
||||||
|
val personalChat: PreviewChannelChat?
|
||||||
|
|
||||||
val allowCreateUserIdLink: Boolean
|
val allowCreateUserIdLink: Boolean
|
||||||
get() = hasPrivateForwards
|
get() = hasPrivateForwards
|
||||||
}
|
}
|
||||||
@@ -86,3 +95,8 @@ sealed interface ExtendedForumChat : ExtendedSupergroupChat, ForumChat
|
|||||||
sealed interface ExtendedChatWithUsername : UsernameChat, ExtendedChat {
|
sealed interface ExtendedChatWithUsername : UsernameChat, ExtendedChat {
|
||||||
val activeUsernames: List<Username>
|
val activeUsernames: List<Username>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Serializable(ExtendedChatSerializer.Companion::class)
|
||||||
|
sealed interface ExtendedBusinessChat : BusinessChat, ExtendedChat {
|
||||||
|
override val original: ExtendedPrivateChat
|
||||||
|
}
|
||||||
|
|||||||
@@ -30,6 +30,15 @@ data class PrivateChatImpl(
|
|||||||
override val lastName: String = ""
|
override val lastName: String = ""
|
||||||
) : PreviewPrivateChat
|
) : PreviewPrivateChat
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@RiskFeature("This class is a subject of changes. It is better to use PrivateChat due")
|
||||||
|
data class BusinessChatImpl(
|
||||||
|
@SerialName(idField)
|
||||||
|
override val id: BusinessChatId,
|
||||||
|
@SerialName(originField)
|
||||||
|
override val original: PreviewPrivateChat
|
||||||
|
) : PreviewBusinessChat
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@RiskFeature("This class is a subject of changes. It is better to use SupergroupChat due")
|
@RiskFeature("This class is a subject of changes. It is better to use SupergroupChat due")
|
||||||
data class SupergroupChatImpl(
|
data class SupergroupChatImpl(
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ sealed interface PreviewUsernameChat : PreviewChat, UsernameChat
|
|||||||
@Serializable(PreviewChatSerializer::class)
|
@Serializable(PreviewChatSerializer::class)
|
||||||
sealed interface PreviewPrivateChat : PreviewUsernameChat, PrivateChat
|
sealed interface PreviewPrivateChat : PreviewUsernameChat, PrivateChat
|
||||||
|
|
||||||
|
@Serializable(PreviewChatSerializer::class)
|
||||||
|
sealed interface PreviewBusinessChat : BusinessChat, PreviewChat
|
||||||
|
|
||||||
@Serializable(PreviewChatSerializer::class)
|
@Serializable(PreviewChatSerializer::class)
|
||||||
sealed interface PreviewPublicChat : PreviewChat, PublicChat
|
sealed interface PreviewPublicChat : PreviewChat, PublicChat
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.message
|
||||||
|
|
||||||
|
import korlibs.time.DateTime
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||||
|
import dev.inmo.tgbotapi.types.chat.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||||
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||||
|
|
||||||
|
data class BusinessContentMessageImpl<T: MessageContent>(
|
||||||
|
override val messageId: MessageId,
|
||||||
|
override val from: User,
|
||||||
|
override val chat: PreviewBusinessChat,
|
||||||
|
override val businessConnectionId: BusinessConnectionId,
|
||||||
|
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 senderBusinessBot: PreviewBot?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
|
) : BusinessContentMessage<T> {
|
||||||
|
constructor(
|
||||||
|
messageId: MessageId,
|
||||||
|
from: User,
|
||||||
|
chat: PreviewBusinessChat,
|
||||||
|
businessConnectionId: BusinessConnectionId,
|
||||||
|
content: T,
|
||||||
|
date: DateTime,
|
||||||
|
editDate: DateTime?,
|
||||||
|
hasProtectedContent: Boolean,
|
||||||
|
forwardInfo: ForwardInfo,
|
||||||
|
replyTo: AccessibleMessage?,
|
||||||
|
replyMarkup: InlineKeyboardMarkup?,
|
||||||
|
senderBot: CommonBot?,
|
||||||
|
mediaGroupId: MediaGroupId?,
|
||||||
|
senderBusinessBot: PreviewBot?,
|
||||||
|
fromOffline: Boolean,
|
||||||
|
) : this(
|
||||||
|
messageId = messageId,
|
||||||
|
from = from,
|
||||||
|
chat = chat,
|
||||||
|
businessConnectionId = businessConnectionId,
|
||||||
|
content = content,
|
||||||
|
date = date,
|
||||||
|
editDate = editDate,
|
||||||
|
hasProtectedContent = hasProtectedContent,
|
||||||
|
forwardOrigin = forwardInfo.messageOrigin(),
|
||||||
|
replyInfo = replyTo ?.let { ReplyInfo.Internal(it) },
|
||||||
|
replyMarkup = replyMarkup,
|
||||||
|
senderBot = senderBot,
|
||||||
|
mediaGroupId = mediaGroupId,
|
||||||
|
senderBusinessBot = senderBusinessBot,
|
||||||
|
fromOffline = fromOffline
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -21,6 +21,7 @@ data class ChannelContentMessageImpl<T: MessageContent>(
|
|||||||
override val senderBot: CommonBot?,
|
override val senderBot: CommonBot?,
|
||||||
override val authorSignature: AuthorSignature?,
|
override val authorSignature: AuthorSignature?,
|
||||||
override val mediaGroupId: MediaGroupId?,
|
override val mediaGroupId: MediaGroupId?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
) : ChannelContentMessage<T> {
|
) : ChannelContentMessage<T> {
|
||||||
constructor(
|
constructor(
|
||||||
messageId: MessageId,
|
messageId: MessageId,
|
||||||
@@ -35,7 +36,8 @@ data class ChannelContentMessageImpl<T: MessageContent>(
|
|||||||
senderBot: CommonBot?,
|
senderBot: CommonBot?,
|
||||||
authorSignature: AuthorSignature?,
|
authorSignature: AuthorSignature?,
|
||||||
mediaGroupId: MediaGroupId?,
|
mediaGroupId: MediaGroupId?,
|
||||||
|
fromOffline: Boolean,
|
||||||
) : this(
|
) : this(
|
||||||
messageId, chat, content, date, editDate, hasProtectedContent, forwardInfo.messageOrigin(), replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, senderBot, authorSignature, mediaGroupId
|
messageId, chat, content, date, editDate, hasProtectedContent, forwardInfo.messageOrigin(), replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, senderBot, authorSignature, mediaGroupId, fromOffline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ data class ConnectedFromChannelGroupContentMessageImpl<T : MessageContent>(
|
|||||||
override val senderBot: CommonBot?,
|
override val senderBot: CommonBot?,
|
||||||
override val authorSignature: AuthorSignature?,
|
override val authorSignature: AuthorSignature?,
|
||||||
override val mediaGroupId: MediaGroupId?,
|
override val mediaGroupId: MediaGroupId?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
) : ConnectedFromChannelGroupContentMessage<T> {
|
) : ConnectedFromChannelGroupContentMessage<T> {
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
@@ -39,8 +40,9 @@ data class ConnectedFromChannelGroupContentMessageImpl<T : MessageContent>(
|
|||||||
senderBot: CommonBot?,
|
senderBot: CommonBot?,
|
||||||
authorSignature: AuthorSignature?,
|
authorSignature: AuthorSignature?,
|
||||||
mediaGroupId: MediaGroupId?,
|
mediaGroupId: MediaGroupId?,
|
||||||
|
fromOffline: Boolean,
|
||||||
) : this(
|
) : this(
|
||||||
chat, channel, messageId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId
|
chat, channel, messageId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId, fromOffline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,6 +60,7 @@ data class UnconnectedFromChannelGroupContentMessageImpl<T: MessageContent>(
|
|||||||
override val senderBot: CommonBot?,
|
override val senderBot: CommonBot?,
|
||||||
override val authorSignature: AuthorSignature?,
|
override val authorSignature: AuthorSignature?,
|
||||||
override val mediaGroupId: MediaGroupId?,
|
override val mediaGroupId: MediaGroupId?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
) : UnconnectedFromChannelGroupContentMessage<T> {
|
) : UnconnectedFromChannelGroupContentMessage<T> {
|
||||||
constructor(
|
constructor(
|
||||||
chat: PreviewGroupChat,
|
chat: PreviewGroupChat,
|
||||||
@@ -73,8 +76,9 @@ data class UnconnectedFromChannelGroupContentMessageImpl<T: MessageContent>(
|
|||||||
senderBot: CommonBot?,
|
senderBot: CommonBot?,
|
||||||
authorSignature: AuthorSignature?,
|
authorSignature: AuthorSignature?,
|
||||||
mediaGroupId: MediaGroupId?,
|
mediaGroupId: MediaGroupId?,
|
||||||
|
fromOffline: Boolean,
|
||||||
) : this(
|
) : this(
|
||||||
chat, channel, messageId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId
|
chat, channel, messageId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId, fromOffline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,6 +95,7 @@ data class AnonymousGroupContentMessageImpl<T : MessageContent>(
|
|||||||
override val senderBot: CommonBot?,
|
override val senderBot: CommonBot?,
|
||||||
override val authorSignature: AuthorSignature?,
|
override val authorSignature: AuthorSignature?,
|
||||||
override val mediaGroupId: MediaGroupId?,
|
override val mediaGroupId: MediaGroupId?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
) : AnonymousGroupContentMessage<T> {
|
) : AnonymousGroupContentMessage<T> {
|
||||||
constructor(
|
constructor(
|
||||||
chat: PreviewGroupChat,
|
chat: PreviewGroupChat,
|
||||||
@@ -105,8 +110,9 @@ data class AnonymousGroupContentMessageImpl<T : MessageContent>(
|
|||||||
senderBot: CommonBot?,
|
senderBot: CommonBot?,
|
||||||
authorSignature: AuthorSignature?,
|
authorSignature: AuthorSignature?,
|
||||||
mediaGroupId: MediaGroupId?,
|
mediaGroupId: MediaGroupId?,
|
||||||
|
fromOffline: Boolean,
|
||||||
) : this(
|
) : this(
|
||||||
chat, messageId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId
|
chat, messageId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId, fromOffline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,7 +129,8 @@ data class CommonGroupContentMessageImpl<T : MessageContent>(
|
|||||||
override val content: T,
|
override val content: T,
|
||||||
override val senderBot: CommonBot?,
|
override val senderBot: CommonBot?,
|
||||||
override val mediaGroupId: MediaGroupId?,
|
override val mediaGroupId: MediaGroupId?,
|
||||||
override val senderBoostsCount: Int?
|
override val senderBoostsCount: Int?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
) : CommonGroupContentMessage<T> {
|
) : CommonGroupContentMessage<T> {
|
||||||
constructor(
|
constructor(
|
||||||
chat: PreviewGroupChat,
|
chat: PreviewGroupChat,
|
||||||
@@ -139,8 +146,9 @@ data class CommonGroupContentMessageImpl<T : MessageContent>(
|
|||||||
senderBot: CommonBot?,
|
senderBot: CommonBot?,
|
||||||
mediaGroupId: MediaGroupId?,
|
mediaGroupId: MediaGroupId?,
|
||||||
senderBoostsCount: Int?,
|
senderBoostsCount: Int?,
|
||||||
|
fromOffline: Boolean,
|
||||||
) : this(
|
) : this(
|
||||||
chat, messageId, from, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, mediaGroupId, senderBoostsCount
|
chat, messageId, from, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, mediaGroupId, senderBoostsCount, fromOffline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,6 +167,7 @@ data class FromChannelForumContentMessageImpl<T: MessageContent>(
|
|||||||
override val senderBot: CommonBot?,
|
override val senderBot: CommonBot?,
|
||||||
override val authorSignature: AuthorSignature?,
|
override val authorSignature: AuthorSignature?,
|
||||||
override val mediaGroupId: MediaGroupId?,
|
override val mediaGroupId: MediaGroupId?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
) : FromChannelForumContentMessage<T> {
|
) : FromChannelForumContentMessage<T> {
|
||||||
constructor(
|
constructor(
|
||||||
chat: PreviewForumChat,
|
chat: PreviewForumChat,
|
||||||
@@ -175,8 +184,9 @@ data class FromChannelForumContentMessageImpl<T: MessageContent>(
|
|||||||
senderBot: CommonBot?,
|
senderBot: CommonBot?,
|
||||||
authorSignature: AuthorSignature?,
|
authorSignature: AuthorSignature?,
|
||||||
mediaGroupId: MediaGroupId?,
|
mediaGroupId: MediaGroupId?,
|
||||||
|
fromOffline: Boolean,
|
||||||
) : this(
|
) : this(
|
||||||
chat, channel, messageId, threadId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId
|
chat, channel, messageId, threadId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId, fromOffline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,6 +204,7 @@ data class AnonymousForumContentMessageImpl<T : MessageContent>(
|
|||||||
override val senderBot: CommonBot?,
|
override val senderBot: CommonBot?,
|
||||||
override val authorSignature: AuthorSignature?,
|
override val authorSignature: AuthorSignature?,
|
||||||
override val mediaGroupId: MediaGroupId?,
|
override val mediaGroupId: MediaGroupId?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
) : AnonymousForumContentMessage<T> {
|
) : AnonymousForumContentMessage<T> {
|
||||||
constructor(
|
constructor(
|
||||||
chat: PreviewForumChat,
|
chat: PreviewForumChat,
|
||||||
@@ -209,8 +220,9 @@ data class AnonymousForumContentMessageImpl<T : MessageContent>(
|
|||||||
senderBot: CommonBot?,
|
senderBot: CommonBot?,
|
||||||
authorSignature: AuthorSignature?,
|
authorSignature: AuthorSignature?,
|
||||||
mediaGroupId: MediaGroupId?,
|
mediaGroupId: MediaGroupId?,
|
||||||
|
fromOffline: Boolean,
|
||||||
) : this(
|
) : this(
|
||||||
chat, messageId, threadId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId
|
chat, messageId, threadId, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, authorSignature, mediaGroupId, fromOffline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -229,6 +241,7 @@ data class CommonForumContentMessageImpl<T : MessageContent>(
|
|||||||
override val senderBot: CommonBot?,
|
override val senderBot: CommonBot?,
|
||||||
override val mediaGroupId: MediaGroupId?,
|
override val mediaGroupId: MediaGroupId?,
|
||||||
override val senderBoostsCount: Int?,
|
override val senderBoostsCount: Int?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
) : CommonForumContentMessage<T> {
|
) : CommonForumContentMessage<T> {
|
||||||
constructor(
|
constructor(
|
||||||
chat: PreviewForumChat,
|
chat: PreviewForumChat,
|
||||||
@@ -245,7 +258,8 @@ data class CommonForumContentMessageImpl<T : MessageContent>(
|
|||||||
senderBot: CommonBot?,
|
senderBot: CommonBot?,
|
||||||
mediaGroupId: MediaGroupId?,
|
mediaGroupId: MediaGroupId?,
|
||||||
senderBoostsCount: Int?,
|
senderBoostsCount: Int?,
|
||||||
|
fromOffline: Boolean,
|
||||||
) : this(
|
) : this(
|
||||||
chat, messageId, threadId, from, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, mediaGroupId, senderBoostsCount
|
chat, messageId, threadId, from, date, forwardInfo.messageOrigin(), editDate, hasProtectedContent, replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, content, senderBot, mediaGroupId, senderBoostsCount, fromOffline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ data class PrivateContentMessageImpl<T: MessageContent>(
|
|||||||
override val replyMarkup: InlineKeyboardMarkup?,
|
override val replyMarkup: InlineKeyboardMarkup?,
|
||||||
override val senderBot: CommonBot?,
|
override val senderBot: CommonBot?,
|
||||||
override val mediaGroupId: MediaGroupId?,
|
override val mediaGroupId: MediaGroupId?,
|
||||||
|
override val fromOffline: Boolean,
|
||||||
) : PrivateContentMessage<T> {
|
) : PrivateContentMessage<T> {
|
||||||
constructor(
|
constructor(
|
||||||
messageId: MessageId,
|
messageId: MessageId,
|
||||||
@@ -37,7 +38,8 @@ data class PrivateContentMessageImpl<T: MessageContent>(
|
|||||||
replyMarkup: InlineKeyboardMarkup?,
|
replyMarkup: InlineKeyboardMarkup?,
|
||||||
senderBot: CommonBot?,
|
senderBot: CommonBot?,
|
||||||
mediaGroupId: MediaGroupId?,
|
mediaGroupId: MediaGroupId?,
|
||||||
|
fromOffline: Boolean,
|
||||||
) : this(
|
) : this(
|
||||||
messageId, from, chat, content, date, editDate, hasProtectedContent, forwardInfo.messageOrigin(), replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, senderBot, mediaGroupId
|
messageId, from, chat, content, date, editDate, hasProtectedContent, forwardInfo.messageOrigin(), replyTo ?.let { ReplyInfo.Internal(it) }, replyMarkup, senderBot, mediaGroupId, fromOffline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package dev.inmo.tgbotapi.types.message
|
package dev.inmo.tgbotapi.types.message
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.chat.*
|
import dev.inmo.tgbotapi.types.chat.*
|
||||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||||
@@ -104,6 +105,8 @@ internal data class RawMessage(
|
|||||||
private val users_shared: UsersShared? = null,
|
private val users_shared: UsersShared? = null,
|
||||||
private val chat_shared: ChatShared? = null,
|
private val chat_shared: ChatShared? = null,
|
||||||
|
|
||||||
|
private val is_from_offline: Boolean = false,
|
||||||
|
|
||||||
// Voice Chat Service Messages
|
// Voice Chat Service Messages
|
||||||
private val video_chat_scheduled: VideoChatScheduled? = null,
|
private val video_chat_scheduled: VideoChatScheduled? = null,
|
||||||
private val video_chat_started: VideoChatStarted? = null,
|
private val video_chat_started: VideoChatStarted? = null,
|
||||||
@@ -139,6 +142,10 @@ internal data class RawMessage(
|
|||||||
|
|
||||||
private val reply_markup: InlineKeyboardMarkup? = null,
|
private val reply_markup: InlineKeyboardMarkup? = null,
|
||||||
|
|
||||||
|
// Business
|
||||||
|
private val business_connection_id: BusinessConnectionId? = null,
|
||||||
|
private val sender_business_bot: PreviewBot? = null,
|
||||||
|
|
||||||
// Giveaways
|
// Giveaways
|
||||||
private val giveaway_created: GiveawayCreated? = null,
|
private val giveaway_created: GiveawayCreated? = null,
|
||||||
private val giveaway_completed: GiveawayPrivateResults? = null,
|
private val giveaway_completed: GiveawayPrivateResults? = null,
|
||||||
@@ -308,18 +315,19 @@ internal data class RawMessage(
|
|||||||
when (chat) {
|
when (chat) {
|
||||||
is PreviewPublicChat -> when (chat) {
|
is PreviewPublicChat -> when (chat) {
|
||||||
is PreviewChannelChat -> ChannelContentMessageImpl(
|
is PreviewChannelChat -> ChannelContentMessageImpl(
|
||||||
messageId,
|
messageId = messageId,
|
||||||
chat,
|
chat = chat,
|
||||||
content,
|
content = content,
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
edit_date?.asDate,
|
editDate = edit_date?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
author_signature,
|
authorSignature = author_signature,
|
||||||
media_group_id
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
is PreviewForumChat -> if (messageThreadId != null) {
|
is PreviewForumChat -> if (messageThreadId != null) {
|
||||||
val chatId = ChatIdWithThreadId(
|
val chatId = ChatIdWithThreadId(
|
||||||
@@ -331,198 +339,233 @@ internal data class RawMessage(
|
|||||||
}
|
}
|
||||||
when (sender_chat) {
|
when (sender_chat) {
|
||||||
is PreviewChannelChat -> FromChannelForumContentMessageImpl(
|
is PreviewChannelChat -> FromChannelForumContentMessageImpl(
|
||||||
actualForumChat,
|
chat = actualForumChat,
|
||||||
sender_chat,
|
channel = sender_chat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
messageThreadId,
|
threadId = messageThreadId,
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
author_signature,
|
authorSignature = author_signature,
|
||||||
media_group_id
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
is PreviewGroupChat -> AnonymousForumContentMessageImpl(
|
is PreviewGroupChat -> AnonymousForumContentMessageImpl(
|
||||||
actualForumChat,
|
chat = actualForumChat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
messageThreadId,
|
threadId = messageThreadId,
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
author_signature,
|
authorSignature = author_signature,
|
||||||
media_group_id
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
null -> CommonForumContentMessageImpl(
|
null -> CommonForumContentMessageImpl(
|
||||||
actualForumChat,
|
chat = actualForumChat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
messageThreadId,
|
threadId = messageThreadId,
|
||||||
from ?: error("It is expected that in messages from non anonymous users and channels user must be specified"),
|
from = from ?: error("It is expected that in messages from non anonymous users and channels user must be specified"),
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
media_group_id,
|
mediaGroupId = media_group_id,
|
||||||
sender_boost_count
|
senderBoostsCount = sender_boost_count,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
when (sender_chat) {
|
when (sender_chat) {
|
||||||
is PreviewChannelChat -> if (is_automatic_forward == true) {
|
is PreviewChannelChat -> if (is_automatic_forward == true) {
|
||||||
ConnectedFromChannelGroupContentMessageImpl(
|
ConnectedFromChannelGroupContentMessageImpl(
|
||||||
chat,
|
chat = chat,
|
||||||
sender_chat,
|
channel = sender_chat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
author_signature,
|
authorSignature = author_signature,
|
||||||
media_group_id
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
UnconnectedFromChannelGroupContentMessageImpl(
|
UnconnectedFromChannelGroupContentMessageImpl(
|
||||||
chat,
|
chat = chat,
|
||||||
sender_chat,
|
channel = sender_chat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
author_signature,
|
authorSignature = author_signature,
|
||||||
media_group_id
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is GroupChat -> AnonymousGroupContentMessageImpl(
|
is GroupChat -> AnonymousGroupContentMessageImpl(
|
||||||
chat,
|
chat = chat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
author_signature,
|
authorSignature = author_signature,
|
||||||
media_group_id
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
null -> CommonGroupContentMessageImpl(
|
null -> CommonGroupContentMessageImpl(
|
||||||
chat,
|
chat = chat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
from ?: error("It is expected that in messages from non anonymous users and channels user must be specified"),
|
from = from ?: error("It is expected that in messages from non anonymous users and channels user must be specified"),
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
media_group_id,
|
mediaGroupId = media_group_id,
|
||||||
sender_boost_count
|
senderBoostsCount = sender_boost_count,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is PreviewGroupChat -> when (sender_chat) {
|
is PreviewGroupChat -> when (sender_chat) {
|
||||||
is PreviewChannelChat -> if (is_automatic_forward == true) {
|
is PreviewChannelChat -> if (is_automatic_forward == true) {
|
||||||
ConnectedFromChannelGroupContentMessageImpl(
|
ConnectedFromChannelGroupContentMessageImpl(
|
||||||
chat,
|
chat = chat,
|
||||||
sender_chat,
|
channel = sender_chat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
author_signature,
|
authorSignature = author_signature,
|
||||||
media_group_id
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
UnconnectedFromChannelGroupContentMessageImpl(
|
UnconnectedFromChannelGroupContentMessageImpl(
|
||||||
chat,
|
chat = chat,
|
||||||
sender_chat,
|
channel = sender_chat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
author_signature,
|
authorSignature = author_signature,
|
||||||
media_group_id
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is PreviewGroupChat -> AnonymousGroupContentMessageImpl(
|
is PreviewGroupChat -> AnonymousGroupContentMessageImpl(
|
||||||
chat,
|
chat = chat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
author_signature,
|
authorSignature = author_signature,
|
||||||
media_group_id
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
null -> CommonGroupContentMessageImpl(
|
null -> CommonGroupContentMessageImpl(
|
||||||
chat,
|
chat = chat,
|
||||||
messageId,
|
messageId = messageId,
|
||||||
from ?: error("It is expected that in messages from non anonymous users and channels user must be specified"),
|
from = from ?: error("It is expected that in messages from non anonymous users and channels user must be specified"),
|
||||||
date.asDate,
|
date = date.asDate,
|
||||||
forward_origin,
|
forwardOrigin = forward_origin,
|
||||||
edit_date ?.asDate,
|
editDate = edit_date ?.asDate,
|
||||||
has_protected_content == true,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
replyInfo = replyInfo,
|
||||||
reply_markup,
|
replyMarkup = reply_markup,
|
||||||
content,
|
content = content,
|
||||||
via_bot,
|
senderBot = via_bot,
|
||||||
media_group_id,
|
mediaGroupId = media_group_id,
|
||||||
sender_boost_count
|
senderBoostsCount = sender_boost_count,
|
||||||
|
fromOffline = is_from_offline
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is PreviewPrivateChat -> PrivateContentMessageImpl(
|
is PreviewPrivateChat -> if (business_connection_id == null) {
|
||||||
messageId,
|
PrivateContentMessageImpl(
|
||||||
from ?: error("Was detected common message, but owner (sender) of the message was not found"),
|
messageId = messageId,
|
||||||
chat,
|
from = from ?: error("Was detected common message, but owner (sender) of the message was not found"),
|
||||||
content,
|
chat = chat,
|
||||||
date.asDate,
|
content = content,
|
||||||
edit_date?.asDate,
|
date = date.asDate,
|
||||||
has_protected_content == true,
|
editDate = edit_date?.asDate,
|
||||||
forward_origin,
|
hasProtectedContent = has_protected_content == true,
|
||||||
replyInfo,
|
forwardOrigin = forward_origin,
|
||||||
reply_markup,
|
replyInfo = replyInfo,
|
||||||
via_bot,
|
replyMarkup = reply_markup,
|
||||||
media_group_id
|
senderBot = via_bot,
|
||||||
)
|
mediaGroupId = media_group_id,
|
||||||
|
fromOffline = is_from_offline
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
BusinessContentMessageImpl(
|
||||||
|
messageId = messageId,
|
||||||
|
from = from ?: error("Was detected common message, but owner (sender) of the message was not found"),
|
||||||
|
chat = BusinessChatImpl(
|
||||||
|
chat.id.toBusinessChatId(business_connection_id),
|
||||||
|
chat
|
||||||
|
),
|
||||||
|
businessConnectionId = business_connection_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,
|
||||||
|
senderBusinessBot = sender_business_bot,
|
||||||
|
fromOffline = is_from_offline
|
||||||
|
)
|
||||||
|
}
|
||||||
else -> error("Unknown type of chat: $chat")
|
else -> error("Unknown type of chat: $chat")
|
||||||
}
|
}
|
||||||
} ?: passport_data ?.let{
|
} ?: passport_data ?.let{
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.message.abstracts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.WithBusinessConnectionId
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewBot
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewBusinessChat
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewPrivateChat
|
||||||
|
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||||
|
|
||||||
|
interface BusinessContentMessage<T: MessageContent> : PossiblySentViaBotCommonMessage<T>, FromUserMessage,
|
||||||
|
WithBusinessConnectionId {
|
||||||
|
override val chat: PreviewBusinessChat
|
||||||
|
override val businessConnectionId: BusinessConnectionId
|
||||||
|
val senderBusinessBot: PreviewBot?
|
||||||
|
}
|
||||||
@@ -7,5 +7,7 @@ sealed interface CommonMessage<out T: MessageContent> : AccessibleMessage,
|
|||||||
PossiblyEditedMessage,
|
PossiblyEditedMessage,
|
||||||
PossiblyReplyMessage,
|
PossiblyReplyMessage,
|
||||||
PossiblyMarkedUp,
|
PossiblyMarkedUp,
|
||||||
|
PossiblyBusinessMessage,
|
||||||
|
PossiblyOfflineMessage,
|
||||||
PossiblyMediaGroupMessage<T>,
|
PossiblyMediaGroupMessage<T>,
|
||||||
ContentMessage<T>
|
ContentMessage<T>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import kotlinx.serialization.encoding.Encoder
|
|||||||
import kotlin.jvm.JvmInline
|
import kotlin.jvm.JvmInline
|
||||||
|
|
||||||
@ClassCastsIncluded(excludeRegex = ".*Impl")
|
@ClassCastsIncluded(excludeRegex = ".*Impl")
|
||||||
interface Message : WithPreviewChatAndMessageId {
|
interface Message : WithPreviewChatAndMessageId, PossiblyBusinessMessage {
|
||||||
val date: DateTime
|
val date: DateTime
|
||||||
val metaInfo: MetaInfo
|
val metaInfo: MetaInfo
|
||||||
get() = MetaInfo(chat.id, messageId)
|
get() = MetaInfo(chat.id, messageId)
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.message.abstracts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.WithOptionalBusinessConnectionId
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
|
|
||||||
|
interface PossiblyBusinessMessage : WithOptionalBusinessConnectionId {
|
||||||
|
override val businessConnectionId: BusinessConnectionId?
|
||||||
|
get() = null
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.message.abstracts
|
||||||
|
|
||||||
|
interface PossiblyOfflineMessage : Message {
|
||||||
|
val fromOffline: Boolean
|
||||||
|
}
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
package dev.inmo.tgbotapi.types.message.abstracts
|
package dev.inmo.tgbotapi.types.message.abstracts
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
|
||||||
import dev.inmo.tgbotapi.types.chat.PreviewPrivateChat
|
import dev.inmo.tgbotapi.types.chat.PreviewPrivateChat
|
||||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||||
|
|
||||||
interface PrivateContentMessage<T: MessageContent> : PossiblySentViaBotCommonMessage<T>, FromUserMessage {
|
interface PrivateContentMessage<T: MessageContent> : PossiblySentViaBotCommonMessage<T>, FromUserMessage, PossiblyOfflineMessage {
|
||||||
override val chat: PreviewPrivateChat
|
override val chat: PreviewPrivateChat
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.update
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.UpdateId
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
||||||
|
import dev.inmo.tgbotapi.types.update.abstracts.Update
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class BusinessConnectionUpdate(
|
||||||
|
override val updateId: UpdateId,
|
||||||
|
override val data: BusinessConnection
|
||||||
|
) : Update
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
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.ContentMessage
|
||||||
|
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
|
||||||
|
|
||||||
|
data class BusinessMessageUpdate(
|
||||||
|
override val updateId: UpdateId,
|
||||||
|
override val data: BusinessContentMessage<*>
|
||||||
|
) : BaseSentMessageUpdate {
|
||||||
|
/**
|
||||||
|
* @param newData Must be [BusinessContentMessage]
|
||||||
|
*/
|
||||||
|
override fun copy(newData: ContentMessage<*>) = copy(updateId, newData as BusinessContentMessage<*>)
|
||||||
|
}
|
||||||
@@ -2,11 +2,12 @@ package dev.inmo.tgbotapi.types.update
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.types.UpdateId
|
import dev.inmo.tgbotapi.types.UpdateId
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
|
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
|
||||||
|
|
||||||
data class ChannelPostUpdate(
|
data class ChannelPostUpdate(
|
||||||
override val updateId: UpdateId,
|
override val updateId: UpdateId,
|
||||||
override val data: AccessibleMessage
|
override val data: AccessibleMessage
|
||||||
) : BaseSentMessageUpdate {
|
) : BaseSentMessageUpdate {
|
||||||
override fun copy(newData: AccessibleMessage): BaseSentMessageUpdate = copy(updateId, newData)
|
override fun copy(newData: ContentMessage<*>): BaseSentMessageUpdate = copy(updateId, newData)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
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(
|
||||||
|
override val updateId: UpdateId,
|
||||||
|
override val data: BusinessMessagesDeleted
|
||||||
|
) : Update
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
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(
|
||||||
|
override val updateId: UpdateId,
|
||||||
|
override val data: BusinessContentMessage<*>
|
||||||
|
) : BaseEditMessageUpdate
|
||||||
@@ -2,11 +2,12 @@ package dev.inmo.tgbotapi.types.update
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.types.UpdateId
|
import dev.inmo.tgbotapi.types.UpdateId
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
|
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
|
||||||
|
|
||||||
data class MessageUpdate(
|
data class MessageUpdate(
|
||||||
override val updateId: UpdateId,
|
override val updateId: UpdateId,
|
||||||
override val data: AccessibleMessage
|
override val data: AccessibleMessage
|
||||||
) : BaseSentMessageUpdate {
|
) : BaseSentMessageUpdate {
|
||||||
override fun copy(newData: AccessibleMessage) = copy(updateId, newData)
|
override fun copy(newData: ContentMessage<*>) = copy(updateId, newData)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.RawChosenInlineR
|
|||||||
import dev.inmo.tgbotapi.types.InlineQueries.query.RawInlineQuery
|
import dev.inmo.tgbotapi.types.InlineQueries.query.RawInlineQuery
|
||||||
import dev.inmo.tgbotapi.types.boosts.ChatBoostRemoved
|
import dev.inmo.tgbotapi.types.boosts.ChatBoostRemoved
|
||||||
import dev.inmo.tgbotapi.types.boosts.ChatBoostUpdated
|
import dev.inmo.tgbotapi.types.boosts.ChatBoostUpdated
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessMessagesDeleted
|
||||||
import dev.inmo.tgbotapi.types.chat.ChatJoinRequest
|
import dev.inmo.tgbotapi.types.chat.ChatJoinRequest
|
||||||
import dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated
|
import dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated
|
||||||
import dev.inmo.tgbotapi.types.chat.ChatMessageReactionsCountUpdated
|
import dev.inmo.tgbotapi.types.chat.ChatMessageReactionsCountUpdated
|
||||||
@@ -46,7 +48,13 @@ internal data class RawUpdate constructor(
|
|||||||
private val message_reaction: ChatMessageReactionUpdated? = null,
|
private val message_reaction: ChatMessageReactionUpdated? = null,
|
||||||
private val message_reaction_count: ChatMessageReactionsCountUpdated? = null,
|
private val message_reaction_count: ChatMessageReactionsCountUpdated? = null,
|
||||||
private val chat_boost: ChatBoostUpdated? = null,
|
private val chat_boost: ChatBoostUpdated? = null,
|
||||||
private val removed_chat_boost: ChatBoostRemoved? = null
|
private val removed_chat_boost: ChatBoostRemoved? = null,
|
||||||
|
private val business_connection: BusinessConnection? = null,
|
||||||
|
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||||
|
private val business_message: BusinessContentMessage<*>? = null,
|
||||||
|
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||||
|
private val edited_business_message: BusinessContentMessage<*>? = null,
|
||||||
|
private val deleted_business_messages: BusinessMessagesDeleted? = null,
|
||||||
) {
|
) {
|
||||||
@Transient
|
@Transient
|
||||||
private var initedUpdate: Update? = null
|
private var initedUpdate: Update? = null
|
||||||
@@ -78,6 +86,10 @@ internal data class RawUpdate constructor(
|
|||||||
message_reaction_count != null -> ChatMessageReactionsCountUpdatedUpdate(updateId, message_reaction_count)
|
message_reaction_count != null -> ChatMessageReactionsCountUpdatedUpdate(updateId, message_reaction_count)
|
||||||
chat_boost != null -> ChatBoostUpdatedUpdate(updateId, chat_boost)
|
chat_boost != null -> ChatBoostUpdatedUpdate(updateId, chat_boost)
|
||||||
removed_chat_boost != null -> ChatBoostRemovedUpdate(updateId, removed_chat_boost)
|
removed_chat_boost != null -> ChatBoostRemovedUpdate(updateId, removed_chat_boost)
|
||||||
|
business_connection != null -> BusinessConnectionUpdate(updateId, business_connection)
|
||||||
|
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)
|
||||||
else -> UnknownUpdate(
|
else -> UnknownUpdate(
|
||||||
updateId,
|
updateId,
|
||||||
raw
|
raw
|
||||||
|
|||||||
@@ -1,7 +1,13 @@
|
|||||||
package dev.inmo.tgbotapi.types.update.abstracts
|
package dev.inmo.tgbotapi.types.update.abstracts
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
|
|
||||||
interface BaseSentMessageUpdate : BaseMessageUpdate {
|
interface BaseSentMessageUpdate : BaseMessageUpdate {
|
||||||
fun copy(newData: AccessibleMessage): BaseSentMessageUpdate
|
/**
|
||||||
|
* This method copies current [BaseSentMessageUpdate] with new data from [newData]
|
||||||
|
*
|
||||||
|
* **THERE IS NO ANY GUARANTEE THAT THIS METHOD WILL NOT THROW ANY EXCEPTION**
|
||||||
|
*/
|
||||||
|
fun copy(newData: ContentMessage<*>): BaseSentMessageUpdate
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import dev.inmo.micro_utils.coroutines.plus
|
|||||||
import dev.inmo.tgbotapi.types.ALL_UPDATES_LIST
|
import dev.inmo.tgbotapi.types.ALL_UPDATES_LIST
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage
|
||||||
import dev.inmo.tgbotapi.types.update.*
|
import dev.inmo.tgbotapi.types.update.*
|
||||||
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
|
|
||||||
import dev.inmo.tgbotapi.types.update.abstracts.UnknownUpdate
|
import dev.inmo.tgbotapi.types.update.abstracts.UnknownUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.abstracts.Update
|
import dev.inmo.tgbotapi.types.update.abstracts.Update
|
||||||
import kotlinx.coroutines.channels.*
|
import kotlinx.coroutines.channels.*
|
||||||
@@ -41,6 +40,10 @@ interface FlowsUpdatesFilter : UpdatesFilter {
|
|||||||
val chatMessageReactionsCountUpdatedUpdateFlow: Flow<ChatMessageReactionsCountUpdatedUpdate>
|
val chatMessageReactionsCountUpdatedUpdateFlow: Flow<ChatMessageReactionsCountUpdatedUpdate>
|
||||||
val chatBoostUpdatedUpdateFlow: Flow<ChatBoostUpdatedUpdate>
|
val chatBoostUpdatedUpdateFlow: Flow<ChatBoostUpdatedUpdate>
|
||||||
val chatBoostRemovedUpdateFlow: Flow<ChatBoostRemovedUpdate>
|
val chatBoostRemovedUpdateFlow: Flow<ChatBoostRemovedUpdate>
|
||||||
|
val businessConnectionUpdatesFlow: Flow<BusinessConnectionUpdate>
|
||||||
|
val businessMessageUpdatesFlow: Flow<BusinessMessageUpdate>
|
||||||
|
val editBusinessMessageUpdatesFlow: Flow<EditBusinessMessageUpdate>
|
||||||
|
val deleteBusinessMessageUpdatesFlow: Flow<DeletedBusinessMessageUpdate>
|
||||||
val unknownUpdatesFlow: Flow<UnknownUpdate>
|
val unknownUpdatesFlow: Flow<UnknownUpdate>
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,6 +67,10 @@ abstract class AbstractFlowsUpdatesFilter : FlowsUpdatesFilter {
|
|||||||
override val unknownUpdatesFlow: Flow<UnknownUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
override val unknownUpdatesFlow: Flow<UnknownUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
||||||
override val chatBoostUpdatedUpdateFlow: Flow<ChatBoostUpdatedUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
override val chatBoostUpdatedUpdateFlow: Flow<ChatBoostUpdatedUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
||||||
override val chatBoostRemovedUpdateFlow: Flow<ChatBoostRemovedUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
override val chatBoostRemovedUpdateFlow: Flow<ChatBoostRemovedUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
||||||
|
override val businessConnectionUpdatesFlow: Flow<BusinessConnectionUpdate> by lazy { allUpdatesFlow.filterIsInstance() }
|
||||||
|
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() }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,24 +1,7 @@
|
|||||||
package dev.inmo.tgbotapi.utils.extensions
|
package dev.inmo.tgbotapi.utils.extensions
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.types.message.AnonymousForumContentMessageImpl
|
import dev.inmo.tgbotapi.types.message.*
|
||||||
import dev.inmo.tgbotapi.types.message.AnonymousGroupContentMessageImpl
|
import dev.inmo.tgbotapi.types.message.abstracts.*
|
||||||
import dev.inmo.tgbotapi.types.message.ChannelContentMessageImpl
|
|
||||||
import dev.inmo.tgbotapi.types.message.CommonForumContentMessageImpl
|
|
||||||
import dev.inmo.tgbotapi.types.message.CommonGroupContentMessageImpl
|
|
||||||
import dev.inmo.tgbotapi.types.message.ConnectedFromChannelGroupContentMessageImpl
|
|
||||||
import dev.inmo.tgbotapi.types.message.FromChannelForumContentMessageImpl
|
|
||||||
import dev.inmo.tgbotapi.types.message.PrivateContentMessageImpl
|
|
||||||
import dev.inmo.tgbotapi.types.message.UnconnectedFromChannelGroupContentMessageImpl
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.AnonymousForumContentMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.AnonymousGroupContentMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.CommonForumContentMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.CommonGroupContentMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ConnectedFromChannelGroupContentMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.FromChannelForumContentMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.UnconnectedFromChannelGroupContentMessage
|
|
||||||
import dev.inmo.tgbotapi.types.message.content.MediaGroupCollectionContent
|
import dev.inmo.tgbotapi.types.message.content.MediaGroupCollectionContent
|
||||||
import dev.inmo.tgbotapi.types.message.content.MediaGroupContent
|
import dev.inmo.tgbotapi.types.message.content.MediaGroupContent
|
||||||
import dev.inmo.tgbotapi.types.message.content.MediaGroupPartContent
|
import dev.inmo.tgbotapi.types.message.content.MediaGroupPartContent
|
||||||
@@ -46,6 +29,22 @@ fun <T : MediaGroupPartContent> List<PossiblySentViaBotCommonMessage<T>>.asMedia
|
|||||||
sourceMessage.authorSignature,
|
sourceMessage.authorSignature,
|
||||||
sourceMessage.mediaGroupId
|
sourceMessage.mediaGroupId
|
||||||
)
|
)
|
||||||
|
is BusinessContentMessage -> BusinessContentMessageImpl(
|
||||||
|
sourceMessage.messageId,
|
||||||
|
sourceMessage.user,
|
||||||
|
sourceMessage.chat,
|
||||||
|
sourceMessage.businessConnectionId,
|
||||||
|
content,
|
||||||
|
sourceMessage.date,
|
||||||
|
sourceMessage.editDate,
|
||||||
|
sourceMessage.hasProtectedContent,
|
||||||
|
sourceMessage.forwardOrigin,
|
||||||
|
sourceMessage.replyInfo,
|
||||||
|
sourceMessage.replyMarkup,
|
||||||
|
sourceMessage.senderBot,
|
||||||
|
sourceMessage.mediaGroupId,
|
||||||
|
sourceMessage.senderBusinessBot
|
||||||
|
)
|
||||||
is PrivateContentMessage -> PrivateContentMessageImpl(
|
is PrivateContentMessage -> PrivateContentMessageImpl(
|
||||||
sourceMessage.messageId,
|
sourceMessage.messageId,
|
||||||
sourceMessage.user,
|
sourceMessage.user,
|
||||||
|
|||||||
@@ -1107,6 +1107,14 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
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 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 businessConnectionUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/BusinessConnectionUpdate;
|
||||||
|
public static final fun businessConnectionUpdateOrThrow (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/BusinessConnectionUpdate;
|
||||||
|
public static final fun businessContentMessageOrNull (Ldev/inmo/tgbotapi/abstracts/WithUser;)Ldev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;
|
||||||
|
public static final fun businessContentMessageOrNull (Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;
|
||||||
|
public static final fun businessContentMessageOrThrow (Ldev/inmo/tgbotapi/abstracts/WithUser;)Ldev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;
|
||||||
|
public static final fun businessContentMessageOrThrow (Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/message/abstracts/BusinessContentMessage;
|
||||||
|
public static final fun businessMessageUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/BusinessMessageUpdate;
|
||||||
|
public static final fun businessMessageUpdateOrThrow (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/BusinessMessageUpdate;
|
||||||
public static final fun byAnonymousOrNull (Ldev/inmo/tgbotapi/types/message/ForwardInfo;)Ldev/inmo/tgbotapi/types/message/ForwardInfo$ByAnonymous;
|
public static final fun byAnonymousOrNull (Ldev/inmo/tgbotapi/types/message/ForwardInfo;)Ldev/inmo/tgbotapi/types/message/ForwardInfo$ByAnonymous;
|
||||||
public static final fun byAnonymousOrThrow (Ldev/inmo/tgbotapi/types/message/ForwardInfo;)Ldev/inmo/tgbotapi/types/message/ForwardInfo$ByAnonymous;
|
public static final fun byAnonymousOrThrow (Ldev/inmo/tgbotapi/types/message/ForwardInfo;)Ldev/inmo/tgbotapi/types/message/ForwardInfo$ByAnonymous;
|
||||||
public static final fun byChatOrNull (Ldev/inmo/tgbotapi/types/chat/ChatMessageReactionUpdated;)Ldev/inmo/tgbotapi/types/chat/ChatMessageReactionUpdated$ByChat;
|
public static final fun byChatOrNull (Ldev/inmo/tgbotapi/types/chat/ChatMessageReactionUpdated;)Ldev/inmo/tgbotapi/types/chat/ChatMessageReactionUpdated$ByChat;
|
||||||
@@ -1259,10 +1267,14 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
public static final fun dataCallbackQueryOrThrow (Ldev/inmo/tgbotapi/abstracts/WithUser;)Ldev/inmo/tgbotapi/types/queries/callback/DataCallbackQuery;
|
public static final fun dataCallbackQueryOrThrow (Ldev/inmo/tgbotapi/abstracts/WithUser;)Ldev/inmo/tgbotapi/types/queries/callback/DataCallbackQuery;
|
||||||
public static final fun deleteChatPhotoOrNull (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/message/ChatEvents/DeleteChatPhoto;
|
public static final fun deleteChatPhotoOrNull (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/message/ChatEvents/DeleteChatPhoto;
|
||||||
public static final fun deleteChatPhotoOrThrow (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/message/ChatEvents/DeleteChatPhoto;
|
public static final fun deleteChatPhotoOrThrow (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/message/ChatEvents/DeleteChatPhoto;
|
||||||
|
public static final fun deletedBusinessMessageUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/DeletedBusinessMessageUpdate;
|
||||||
|
public static final fun deletedBusinessMessageUpdateOrThrow (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/DeletedBusinessMessageUpdate;
|
||||||
public static final fun describedInlineQueryResultOrNull (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;)Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/DescribedInlineQueryResult;
|
public static final fun describedInlineQueryResultOrNull (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;)Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/DescribedInlineQueryResult;
|
||||||
public static final fun describedInlineQueryResultOrThrow (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;)Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/DescribedInlineQueryResult;
|
public static final fun describedInlineQueryResultOrThrow (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;)Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/DescribedInlineQueryResult;
|
||||||
public static final fun diceContentOrNull (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DiceContent;
|
public static final fun diceContentOrNull (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DiceContent;
|
||||||
public static final fun diceContentOrThrow (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DiceContent;
|
public static final fun diceContentOrThrow (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DiceContent;
|
||||||
|
public static final fun disabledOrNull (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;)Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection$Disabled;
|
||||||
|
public static final fun disabledOrThrow (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;)Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection$Disabled;
|
||||||
public static final fun documentContentOrNull (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DocumentContent;
|
public static final fun documentContentOrNull (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DocumentContent;
|
||||||
public static final fun documentContentOrThrow (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DocumentContent;
|
public static final fun documentContentOrThrow (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DocumentContent;
|
||||||
public static final fun documentFileOrNull (Ldev/inmo/tgbotapi/types/files/TelegramMediaFile;)Ldev/inmo/tgbotapi/types/files/DocumentFile;
|
public static final fun documentFileOrNull (Ldev/inmo/tgbotapi/types/files/TelegramMediaFile;)Ldev/inmo/tgbotapi/types/files/DocumentFile;
|
||||||
@@ -1279,6 +1291,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
public static final fun duratedTelegramMediaOrThrow (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/DuratedTelegramMedia;
|
public static final fun duratedTelegramMediaOrThrow (Ldev/inmo/tgbotapi/types/media/TelegramMedia;)Ldev/inmo/tgbotapi/types/media/DuratedTelegramMedia;
|
||||||
public static final fun eMailTextSourceOrNull (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/EMailTextSource;
|
public static final fun eMailTextSourceOrNull (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/EMailTextSource;
|
||||||
public static final fun eMailTextSourceOrThrow (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/EMailTextSource;
|
public static final fun eMailTextSourceOrThrow (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/EMailTextSource;
|
||||||
|
public static final fun editBusinessMessageUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/EditBusinessMessageUpdate;
|
||||||
|
public static final fun editBusinessMessageUpdateOrThrow (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/EditBusinessMessageUpdate;
|
||||||
public static final fun editChannelPostUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;
|
public static final fun editChannelPostUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;
|
||||||
public static final fun editChannelPostUpdateOrThrow (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;
|
public static final fun editChannelPostUpdateOrThrow (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/EditChannelPostUpdate;
|
||||||
public static final fun editMessageUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/EditMessageUpdate;
|
public static final fun editMessageUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/EditMessageUpdate;
|
||||||
@@ -1287,6 +1301,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
public static final fun emailOrThrow (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;)Ldev/inmo/tgbotapi/types/passport/encrypted/Email;
|
public static final fun emailOrThrow (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;)Ldev/inmo/tgbotapi/types/passport/encrypted/Email;
|
||||||
public static final fun emojiOrNull (Ldev/inmo/tgbotapi/types/reactions/Reaction;)Ljava/lang/String;
|
public static final fun emojiOrNull (Ldev/inmo/tgbotapi/types/reactions/Reaction;)Ljava/lang/String;
|
||||||
public static final fun emojiOrThrow (Ldev/inmo/tgbotapi/types/reactions/Reaction;)Ljava/lang/String;
|
public static final fun emojiOrThrow (Ldev/inmo/tgbotapi/types/reactions/Reaction;)Ljava/lang/String;
|
||||||
|
public static final fun enabledOrNull (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;)Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection$Enabled;
|
||||||
|
public static final fun enabledOrThrow (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;)Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection$Enabled;
|
||||||
public static final fun encryptedAddressOrNull (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;)Ldev/inmo/tgbotapi/types/passport/encrypted/EncryptedAddress;
|
public static final fun encryptedAddressOrNull (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;)Ldev/inmo/tgbotapi/types/passport/encrypted/EncryptedAddress;
|
||||||
public static final fun encryptedAddressOrThrow (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;)Ldev/inmo/tgbotapi/types/passport/encrypted/EncryptedAddress;
|
public static final fun encryptedAddressOrThrow (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;)Ldev/inmo/tgbotapi/types/passport/encrypted/EncryptedAddress;
|
||||||
public static final fun encryptedPassportElementTranslatableOrNull (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;)Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElementTranslatable;
|
public static final fun encryptedPassportElementTranslatableOrNull (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;)Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElementTranslatable;
|
||||||
@@ -1444,6 +1460,10 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
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 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 ifBusinessConnectionUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifBusinessContentMessage (Ldev/inmo/tgbotapi/abstracts/WithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifBusinessContentMessage (Ldev/inmo/tgbotapi/types/message/abstracts/Message;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifBusinessMessageUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifByAnonymous (Ldev/inmo/tgbotapi/types/message/ForwardInfo;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifByAnonymous (Ldev/inmo/tgbotapi/types/message/ForwardInfo;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifByChat (Ldev/inmo/tgbotapi/types/chat/ChatMessageReactionUpdated;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifByChat (Ldev/inmo/tgbotapi/types/chat/ChatMessageReactionUpdated;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifByUser (Ldev/inmo/tgbotapi/types/boosts/ChatBoostSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifByUser (Ldev/inmo/tgbotapi/types/boosts/ChatBoostSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
@@ -1520,8 +1540,10 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
public static final fun ifDartsDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDartsDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDataCallbackQuery (Ldev/inmo/tgbotapi/abstracts/WithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDataCallbackQuery (Ldev/inmo/tgbotapi/abstracts/WithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDeleteChatPhoto (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDeleteChatPhoto (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifDeletedBusinessMessageUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDescribedInlineQueryResult (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDescribedInlineQueryResult (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDiceContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDiceContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifDisabled (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDocumentContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDocumentContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDocumentFile (Ldev/inmo/tgbotapi/types/files/TelegramMediaFile;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDocumentFile (Ldev/inmo/tgbotapi/types/files/TelegramMediaFile;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDocumentMediaGroupMemberTelegramMedia (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDocumentMediaGroupMemberTelegramMedia (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
@@ -1530,10 +1552,12 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt {
|
|||||||
public static final fun ifDriverLicenseSecureValue (Ldev/inmo/tgbotapi/types/passport/decrypted/abstracts/SecureValue;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDriverLicenseSecureValue (Ldev/inmo/tgbotapi/types/passport/decrypted/abstracts/SecureValue;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifDuratedTelegramMedia (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifDuratedTelegramMedia (Ldev/inmo/tgbotapi/types/media/TelegramMedia;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifEMailTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifEMailTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifEditBusinessMessageUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifEditChannelPostUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifEditChannelPostUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifEditMessageUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifEditMessageUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifEmail (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifEmail (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifEmoji (Ldev/inmo/tgbotapi/types/reactions/Reaction;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifEmoji (Ldev/inmo/tgbotapi/types/reactions/Reaction;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
|
public static final fun ifEnabled (Ldev/inmo/tgbotapi/types/business_connection/BusinessConnection;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifEncryptedAddress (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifEncryptedAddress (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifEncryptedPassportElementTranslatable (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifEncryptedPassportElementTranslatable (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
public static final fun ifEncryptedPassportElementWithData (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
public static final fun ifEncryptedPassportElementWithData (Ldev/inmo/tgbotapi/types/passport/encrypted/abstracts/EncryptedPassportElement;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;
|
||||||
@@ -2594,6 +2618,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/extensions/FlowsSameKt {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/utils/extensions/SameKt {
|
public final class dev/inmo/tgbotapi/extensions/utils/extensions/SameKt {
|
||||||
|
public static final fun sameBusinessConnection (Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ldev/inmo/tgbotapi/abstracts/types/WithBusinessConnectionId;)Z
|
||||||
|
public static final fun sameBusinessConnection-X6RVWW0 (Ldev/inmo/tgbotapi/types/message/abstracts/Message;Ljava/lang/String;)Z
|
||||||
public static final fun sameChat (Ldev/inmo/tgbotapi/abstracts/WithPreviewChat;Ldev/inmo/tgbotapi/types/ChatIdentifier;)Z
|
public static final fun sameChat (Ldev/inmo/tgbotapi/abstracts/WithPreviewChat;Ldev/inmo/tgbotapi/types/ChatIdentifier;)Z
|
||||||
public static final fun sameChat (Ldev/inmo/tgbotapi/abstracts/WithPreviewChat;Ldev/inmo/tgbotapi/types/chat/Chat;)Z
|
public static final fun sameChat (Ldev/inmo/tgbotapi/abstracts/WithPreviewChat;Ldev/inmo/tgbotapi/types/chat/Chat;)Z
|
||||||
public static final fun sameChat (Ldev/inmo/tgbotapi/abstracts/WithPreviewChat;Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Z
|
public static final fun sameChat (Ldev/inmo/tgbotapi/abstracts/WithPreviewChat;Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Z
|
||||||
@@ -2623,8 +2649,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/extensions/TelegramBotComm
|
|||||||
public final class dev/inmo/tgbotapi/extensions/utils/extensions/UpdateChatRetrieverKt {
|
public final class dev/inmo/tgbotapi/extensions/utils/extensions/UpdateChatRetrieverKt {
|
||||||
public static final fun sourceChat (Ldev/inmo/tgbotapi/types/queries/callback/CallbackQuery;)Ldev/inmo/tgbotapi/types/chat/PreviewChat;
|
public static final fun sourceChat (Ldev/inmo/tgbotapi/types/queries/callback/CallbackQuery;)Ldev/inmo/tgbotapi/types/chat/PreviewChat;
|
||||||
public static final fun sourceChat (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/chat/Chat;
|
public static final fun sourceChat (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/chat/Chat;
|
||||||
public static final fun sourceChatWithConverters (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/chat/Chat;
|
public static final fun sourceChatWithConverters (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/types/chat/Chat;
|
||||||
public static synthetic fun sourceChatWithConverters$default (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/Chat;
|
public static synthetic fun sourceChatWithConverters$default (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/Chat;
|
||||||
public static final fun sourceUser (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/chat/User;
|
public static final fun sourceUser (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/chat/User;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2975,6 +3001,11 @@ public final class dev/inmo/tgbotapi/extensions/utils/formatting/StringFormattin
|
|||||||
public static final fun underlineMarkdownV2 (Ljava/lang/String;)Ljava/lang/String;
|
public static final fun underlineMarkdownV2 (Ljava/lang/String;)Ljava/lang/String;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/utils/shortcuts/BusinessMessagesMappersKt {
|
||||||
|
public static final fun allBusinessMessages (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow;
|
||||||
|
public static final fun businessMessages (Lkotlinx/coroutines/flow/Flow;)Lkotlinx/coroutines/flow/Flow;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/utils/shortcuts/CommandsShortcutsKt {
|
public final class dev/inmo/tgbotapi/extensions/utils/shortcuts/CommandsShortcutsKt {
|
||||||
public static final fun filterCommandsInsideTextMessages (Lkotlinx/coroutines/flow/Flow;Lkotlin/text/Regex;)Lkotlinx/coroutines/flow/Flow;
|
public static final fun filterCommandsInsideTextMessages (Lkotlinx/coroutines/flow/Flow;Lkotlin/text/Regex;)Lkotlinx/coroutines/flow/Flow;
|
||||||
public static final fun filterCommandsWithArgs (Lkotlinx/coroutines/flow/Flow;Lkotlin/text/Regex;)Lkotlinx/coroutines/flow/Flow;
|
public static final fun filterCommandsWithArgs (Lkotlinx/coroutines/flow/Flow;Lkotlin/text/Regex;)Lkotlinx/coroutines/flow/Flow;
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import dev.inmo.tgbotapi.requests.answers.InlineQueryResultsButton
|
|||||||
import dev.inmo.tgbotapi.requests.send.payments.CreateInvoiceLink
|
import dev.inmo.tgbotapi.requests.send.payments.CreateInvoiceLink
|
||||||
import dev.inmo.tgbotapi.requests.send.payments.SendInvoice
|
import dev.inmo.tgbotapi.requests.send.payments.SendInvoice
|
||||||
import dev.inmo.tgbotapi.requests.stickers.InputSticker
|
import dev.inmo.tgbotapi.requests.stickers.InputSticker
|
||||||
|
import dev.inmo.tgbotapi.types.BusinessChatId
|
||||||
import dev.inmo.tgbotapi.types.ChatId
|
import dev.inmo.tgbotapi.types.ChatId
|
||||||
import dev.inmo.tgbotapi.types.ChatIdWithThreadId
|
import dev.inmo.tgbotapi.types.ChatIdWithThreadId
|
||||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||||
@@ -92,6 +93,7 @@ import dev.inmo.tgbotapi.types.actions.UploadVideoAction
|
|||||||
import dev.inmo.tgbotapi.types.actions.UploadVideoNoteAction
|
import dev.inmo.tgbotapi.types.actions.UploadVideoNoteAction
|
||||||
import dev.inmo.tgbotapi.types.actions.UploadVoiceAction
|
import dev.inmo.tgbotapi.types.actions.UploadVoiceAction
|
||||||
import dev.inmo.tgbotapi.types.boosts.ChatBoostSource
|
import dev.inmo.tgbotapi.types.boosts.ChatBoostSource
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackDataInlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackDataInlineKeyboardButton
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackGameInlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackGameInlineKeyboardButton
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton
|
||||||
@@ -111,6 +113,7 @@ import dev.inmo.tgbotapi.types.buttons.ReplyKeyboardMarkup
|
|||||||
import dev.inmo.tgbotapi.types.buttons.ReplyKeyboardRemove
|
import dev.inmo.tgbotapi.types.buttons.ReplyKeyboardRemove
|
||||||
import dev.inmo.tgbotapi.types.chat.AbleToAddInAttachmentMenuChat
|
import dev.inmo.tgbotapi.types.chat.AbleToAddInAttachmentMenuChat
|
||||||
import dev.inmo.tgbotapi.types.chat.Bot
|
import dev.inmo.tgbotapi.types.chat.Bot
|
||||||
|
import dev.inmo.tgbotapi.types.chat.BusinessChat
|
||||||
import dev.inmo.tgbotapi.types.chat.ChannelChat
|
import dev.inmo.tgbotapi.types.chat.ChannelChat
|
||||||
import dev.inmo.tgbotapi.types.chat.Chat
|
import dev.inmo.tgbotapi.types.chat.Chat
|
||||||
import dev.inmo.tgbotapi.types.chat.ChatJoinRequest
|
import dev.inmo.tgbotapi.types.chat.ChatJoinRequest
|
||||||
@@ -118,6 +121,7 @@ import dev.inmo.tgbotapi.types.chat.ChatMessageReactionUpdated
|
|||||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||||
import dev.inmo.tgbotapi.types.chat.CommonUser
|
import dev.inmo.tgbotapi.types.chat.CommonUser
|
||||||
import dev.inmo.tgbotapi.types.chat.ExtendedBot
|
import dev.inmo.tgbotapi.types.chat.ExtendedBot
|
||||||
|
import dev.inmo.tgbotapi.types.chat.ExtendedBusinessChat
|
||||||
import dev.inmo.tgbotapi.types.chat.ExtendedChannelChat
|
import dev.inmo.tgbotapi.types.chat.ExtendedChannelChat
|
||||||
import dev.inmo.tgbotapi.types.chat.ExtendedChat
|
import dev.inmo.tgbotapi.types.chat.ExtendedChat
|
||||||
import dev.inmo.tgbotapi.types.chat.ExtendedChatWithUsername
|
import dev.inmo.tgbotapi.types.chat.ExtendedChatWithUsername
|
||||||
@@ -131,6 +135,7 @@ import dev.inmo.tgbotapi.types.chat.ForumChat
|
|||||||
import dev.inmo.tgbotapi.types.chat.GroupChat
|
import dev.inmo.tgbotapi.types.chat.GroupChat
|
||||||
import dev.inmo.tgbotapi.types.chat.PossiblyPremiumChat
|
import dev.inmo.tgbotapi.types.chat.PossiblyPremiumChat
|
||||||
import dev.inmo.tgbotapi.types.chat.PreviewBot
|
import dev.inmo.tgbotapi.types.chat.PreviewBot
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewBusinessChat
|
||||||
import dev.inmo.tgbotapi.types.chat.PreviewChannelChat
|
import dev.inmo.tgbotapi.types.chat.PreviewChannelChat
|
||||||
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||||
import dev.inmo.tgbotapi.types.chat.PreviewForumChat
|
import dev.inmo.tgbotapi.types.chat.PreviewForumChat
|
||||||
@@ -264,6 +269,7 @@ import dev.inmo.tgbotapi.types.message.PrivateEventMessage
|
|||||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.AnonymousForumContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.AnonymousForumContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.AnonymousGroupContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.AnonymousGroupContentMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.CommonForumContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.CommonForumContentMessage
|
||||||
@@ -439,6 +445,8 @@ import dev.inmo.tgbotapi.types.request.ChatShared
|
|||||||
import dev.inmo.tgbotapi.types.request.ChatSharedRequest
|
import dev.inmo.tgbotapi.types.request.ChatSharedRequest
|
||||||
import dev.inmo.tgbotapi.types.request.RequestResponse
|
import dev.inmo.tgbotapi.types.request.RequestResponse
|
||||||
import dev.inmo.tgbotapi.types.request.UsersShared
|
import dev.inmo.tgbotapi.types.request.UsersShared
|
||||||
|
import dev.inmo.tgbotapi.types.update.BusinessConnectionUpdate
|
||||||
|
import dev.inmo.tgbotapi.types.update.BusinessMessageUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.CallbackQueryUpdate
|
import dev.inmo.tgbotapi.types.update.CallbackQueryUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.ChannelPostUpdate
|
import dev.inmo.tgbotapi.types.update.ChannelPostUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.ChatBoostRemovedUpdate
|
import dev.inmo.tgbotapi.types.update.ChatBoostRemovedUpdate
|
||||||
@@ -448,6 +456,8 @@ import dev.inmo.tgbotapi.types.update.ChatMessageReactionUpdatedUpdate
|
|||||||
import dev.inmo.tgbotapi.types.update.ChatMessageReactionsCountUpdatedUpdate
|
import dev.inmo.tgbotapi.types.update.ChatMessageReactionsCountUpdatedUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.ChosenInlineResultUpdate
|
import dev.inmo.tgbotapi.types.update.ChosenInlineResultUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.CommonChatMemberUpdatedUpdate
|
import dev.inmo.tgbotapi.types.update.CommonChatMemberUpdatedUpdate
|
||||||
|
import dev.inmo.tgbotapi.types.update.DeletedBusinessMessageUpdate
|
||||||
|
import dev.inmo.tgbotapi.types.update.EditBusinessMessageUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.EditChannelPostUpdate
|
import dev.inmo.tgbotapi.types.update.EditChannelPostUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.EditMessageUpdate
|
import dev.inmo.tgbotapi.types.update.EditMessageUpdate
|
||||||
import dev.inmo.tgbotapi.types.update.InlineQueryUpdate
|
import dev.inmo.tgbotapi.types.update.InlineQueryUpdate
|
||||||
@@ -758,6 +768,18 @@ public inline fun WithUser.passportMessageOrThrow(): PassportMessage = this as
|
|||||||
public inline fun <T> WithUser.ifPassportMessage(block: (PassportMessage) -> T): T? =
|
public inline fun <T> WithUser.ifPassportMessage(block: (PassportMessage) -> T): T? =
|
||||||
passportMessageOrNull() ?.let(block)
|
passportMessageOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun WithUser.businessContentMessageOrNull(): BusinessContentMessage<MessageContent>? =
|
||||||
|
this as?
|
||||||
|
dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage<dev.inmo.tgbotapi.types.message.content.MessageContent>
|
||||||
|
|
||||||
|
public inline fun WithUser.businessContentMessageOrThrow(): BusinessContentMessage<MessageContent> =
|
||||||
|
this as
|
||||||
|
dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage<dev.inmo.tgbotapi.types.message.content.MessageContent>
|
||||||
|
|
||||||
|
public inline fun <T>
|
||||||
|
WithUser.ifBusinessContentMessage(block: (BusinessContentMessage<MessageContent>) -> T): T? =
|
||||||
|
businessContentMessageOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun WithUser.fromUserMessageOrNull(): FromUserMessage? = this as?
|
public inline fun WithUser.fromUserMessageOrNull(): FromUserMessage? = this as?
|
||||||
dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage
|
dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage
|
||||||
|
|
||||||
@@ -1090,6 +1112,15 @@ public inline fun ChatIdentifier.chatIdWithThreadIdOrThrow(): ChatIdWithThreadId
|
|||||||
public inline fun <T> ChatIdentifier.ifChatIdWithThreadId(block: (ChatIdWithThreadId) -> T): T? =
|
public inline fun <T> ChatIdentifier.ifChatIdWithThreadId(block: (ChatIdWithThreadId) -> T): T? =
|
||||||
chatIdWithThreadIdOrNull() ?.let(block)
|
chatIdWithThreadIdOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun ChatIdentifier.businessChatIdOrNull(): BusinessChatId? = this as?
|
||||||
|
dev.inmo.tgbotapi.types.BusinessChatId
|
||||||
|
|
||||||
|
public inline fun ChatIdentifier.businessChatIdOrThrow(): BusinessChatId = this as
|
||||||
|
dev.inmo.tgbotapi.types.BusinessChatId
|
||||||
|
|
||||||
|
public inline fun <T> ChatIdentifier.ifBusinessChatId(block: (BusinessChatId) -> T): T? =
|
||||||
|
businessChatIdOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun ChatIdentifier.usernameOrNull(): Username? = this as?
|
public inline fun ChatIdentifier.usernameOrNull(): Username? = this as?
|
||||||
dev.inmo.tgbotapi.types.Username
|
dev.inmo.tgbotapi.types.Username
|
||||||
|
|
||||||
@@ -1811,6 +1842,24 @@ public inline fun ChatBoostSource.unknownOrThrow(): ChatBoostSource.Unknown = th
|
|||||||
public inline fun <T> ChatBoostSource.ifUnknown(block: (ChatBoostSource.Unknown) -> T): T? =
|
public inline fun <T> ChatBoostSource.ifUnknown(block: (ChatBoostSource.Unknown) -> T): T? =
|
||||||
unknownOrNull() ?.let(block)
|
unknownOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun BusinessConnection.disabledOrNull(): BusinessConnection.Disabled? = this as?
|
||||||
|
dev.inmo.tgbotapi.types.business_connection.BusinessConnection.Disabled
|
||||||
|
|
||||||
|
public inline fun BusinessConnection.disabledOrThrow(): BusinessConnection.Disabled = this as
|
||||||
|
dev.inmo.tgbotapi.types.business_connection.BusinessConnection.Disabled
|
||||||
|
|
||||||
|
public inline fun <T> BusinessConnection.ifDisabled(block: (BusinessConnection.Disabled) -> T): T? =
|
||||||
|
disabledOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun BusinessConnection.enabledOrNull(): BusinessConnection.Enabled? = this as?
|
||||||
|
dev.inmo.tgbotapi.types.business_connection.BusinessConnection.Enabled
|
||||||
|
|
||||||
|
public inline fun BusinessConnection.enabledOrThrow(): BusinessConnection.Enabled = this as
|
||||||
|
dev.inmo.tgbotapi.types.business_connection.BusinessConnection.Enabled
|
||||||
|
|
||||||
|
public inline fun <T> BusinessConnection.ifEnabled(block: (BusinessConnection.Enabled) -> T): T? =
|
||||||
|
enabledOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun InlineKeyboardButton.unknownInlineKeyboardButtonOrNull():
|
public inline fun InlineKeyboardButton.unknownInlineKeyboardButtonOrNull():
|
||||||
UnknownInlineKeyboardButton? = this as?
|
UnknownInlineKeyboardButton? = this as?
|
||||||
dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton
|
dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton
|
||||||
@@ -2011,6 +2060,15 @@ public inline fun Chat.privateChatOrThrow(): PrivateChat = this as
|
|||||||
public inline fun <T> Chat.ifPrivateChat(block: (PrivateChat) -> T): T? = privateChatOrNull()
|
public inline fun <T> Chat.ifPrivateChat(block: (PrivateChat) -> T): T? = privateChatOrNull()
|
||||||
?.let(block)
|
?.let(block)
|
||||||
|
|
||||||
|
public inline fun Chat.businessChatOrNull(): BusinessChat? = this as?
|
||||||
|
dev.inmo.tgbotapi.types.chat.BusinessChat
|
||||||
|
|
||||||
|
public inline fun Chat.businessChatOrThrow(): BusinessChat = this as
|
||||||
|
dev.inmo.tgbotapi.types.chat.BusinessChat
|
||||||
|
|
||||||
|
public inline fun <T> Chat.ifBusinessChat(block: (BusinessChat) -> T): T? = businessChatOrNull()
|
||||||
|
?.let(block)
|
||||||
|
|
||||||
public inline fun Chat.publicChatOrNull(): PublicChat? = this as?
|
public inline fun Chat.publicChatOrNull(): PublicChat? = this as?
|
||||||
dev.inmo.tgbotapi.types.chat.PublicChat
|
dev.inmo.tgbotapi.types.chat.PublicChat
|
||||||
|
|
||||||
@@ -2181,6 +2239,15 @@ public inline fun Chat.extendedChatWithUsernameOrThrow(): ExtendedChatWithUserna
|
|||||||
public inline fun <T> Chat.ifExtendedChatWithUsername(block: (ExtendedChatWithUsername) -> T): T? =
|
public inline fun <T> Chat.ifExtendedChatWithUsername(block: (ExtendedChatWithUsername) -> T): T? =
|
||||||
extendedChatWithUsernameOrNull() ?.let(block)
|
extendedChatWithUsernameOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun Chat.extendedBusinessChatOrNull(): ExtendedBusinessChat? = this as?
|
||||||
|
dev.inmo.tgbotapi.types.chat.ExtendedBusinessChat
|
||||||
|
|
||||||
|
public inline fun Chat.extendedBusinessChatOrThrow(): ExtendedBusinessChat = this as
|
||||||
|
dev.inmo.tgbotapi.types.chat.ExtendedBusinessChat
|
||||||
|
|
||||||
|
public inline fun <T> Chat.ifExtendedBusinessChat(block: (ExtendedBusinessChat) -> T): T? =
|
||||||
|
extendedBusinessChatOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun Chat.userOrNull(): User? = this as? dev.inmo.tgbotapi.types.chat.User
|
public inline fun Chat.userOrNull(): User? = this as? dev.inmo.tgbotapi.types.chat.User
|
||||||
|
|
||||||
public inline fun Chat.userOrThrow(): User = this as dev.inmo.tgbotapi.types.chat.User
|
public inline fun Chat.userOrThrow(): User = this as dev.inmo.tgbotapi.types.chat.User
|
||||||
@@ -2255,6 +2322,15 @@ public inline fun Chat.previewPrivateChatOrThrow(): PreviewPrivateChat = this as
|
|||||||
public inline fun <T> Chat.ifPreviewPrivateChat(block: (PreviewPrivateChat) -> T): T? =
|
public inline fun <T> Chat.ifPreviewPrivateChat(block: (PreviewPrivateChat) -> T): T? =
|
||||||
previewPrivateChatOrNull() ?.let(block)
|
previewPrivateChatOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun Chat.previewBusinessChatOrNull(): PreviewBusinessChat? = this as?
|
||||||
|
dev.inmo.tgbotapi.types.chat.PreviewBusinessChat
|
||||||
|
|
||||||
|
public inline fun Chat.previewBusinessChatOrThrow(): PreviewBusinessChat = this as
|
||||||
|
dev.inmo.tgbotapi.types.chat.PreviewBusinessChat
|
||||||
|
|
||||||
|
public inline fun <T> Chat.ifPreviewBusinessChat(block: (PreviewBusinessChat) -> T): T? =
|
||||||
|
previewBusinessChatOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun Chat.previewPublicChatOrNull(): PreviewPublicChat? = this as?
|
public inline fun Chat.previewPublicChatOrNull(): PreviewPublicChat? = this as?
|
||||||
dev.inmo.tgbotapi.types.chat.PreviewPublicChat
|
dev.inmo.tgbotapi.types.chat.PreviewPublicChat
|
||||||
|
|
||||||
@@ -3338,6 +3414,18 @@ public inline fun <T>
|
|||||||
Message.ifPrivateEventMessage(block: (PrivateEventMessage<PrivateEvent>) -> T): T? =
|
Message.ifPrivateEventMessage(block: (PrivateEventMessage<PrivateEvent>) -> T): T? =
|
||||||
privateEventMessageOrNull() ?.let(block)
|
privateEventMessageOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun Message.businessContentMessageOrNull(): BusinessContentMessage<MessageContent>? =
|
||||||
|
this as?
|
||||||
|
dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage<dev.inmo.tgbotapi.types.message.content.MessageContent>
|
||||||
|
|
||||||
|
public inline fun Message.businessContentMessageOrThrow(): BusinessContentMessage<MessageContent> =
|
||||||
|
this as
|
||||||
|
dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage<dev.inmo.tgbotapi.types.message.content.MessageContent>
|
||||||
|
|
||||||
|
public inline fun <T>
|
||||||
|
Message.ifBusinessContentMessage(block: (BusinessContentMessage<MessageContent>) -> T): T? =
|
||||||
|
businessContentMessageOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun Message.channelContentMessageOrNull(): ChannelContentMessage<MessageContent>? =
|
public inline fun Message.channelContentMessageOrNull(): ChannelContentMessage<MessageContent>? =
|
||||||
this as?
|
this as?
|
||||||
dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage<dev.inmo.tgbotapi.types.message.content.MessageContent>
|
dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage<dev.inmo.tgbotapi.types.message.content.MessageContent>
|
||||||
@@ -4881,6 +4969,24 @@ public inline fun RequestResponse.usersSharedOrThrow(): UsersShared = this as
|
|||||||
public inline fun <T> RequestResponse.ifUsersShared(block: (UsersShared) -> T): T? =
|
public inline fun <T> RequestResponse.ifUsersShared(block: (UsersShared) -> T): T? =
|
||||||
usersSharedOrNull() ?.let(block)
|
usersSharedOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun Update.businessConnectionUpdateOrNull(): BusinessConnectionUpdate? = this as?
|
||||||
|
dev.inmo.tgbotapi.types.update.BusinessConnectionUpdate
|
||||||
|
|
||||||
|
public inline fun Update.businessConnectionUpdateOrThrow(): BusinessConnectionUpdate = this as
|
||||||
|
dev.inmo.tgbotapi.types.update.BusinessConnectionUpdate
|
||||||
|
|
||||||
|
public inline fun <T> Update.ifBusinessConnectionUpdate(block: (BusinessConnectionUpdate) -> T): T?
|
||||||
|
= businessConnectionUpdateOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun Update.businessMessageUpdateOrNull(): BusinessMessageUpdate? = this as?
|
||||||
|
dev.inmo.tgbotapi.types.update.BusinessMessageUpdate
|
||||||
|
|
||||||
|
public inline fun Update.businessMessageUpdateOrThrow(): BusinessMessageUpdate = this as
|
||||||
|
dev.inmo.tgbotapi.types.update.BusinessMessageUpdate
|
||||||
|
|
||||||
|
public inline fun <T> Update.ifBusinessMessageUpdate(block: (BusinessMessageUpdate) -> T): T? =
|
||||||
|
businessMessageUpdateOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun Update.callbackQueryUpdateOrNull(): CallbackQueryUpdate? = this as?
|
public inline fun Update.callbackQueryUpdateOrNull(): CallbackQueryUpdate? = this as?
|
||||||
dev.inmo.tgbotapi.types.update.CallbackQueryUpdate
|
dev.inmo.tgbotapi.types.update.CallbackQueryUpdate
|
||||||
|
|
||||||
@@ -4967,6 +5073,25 @@ public inline fun <T>
|
|||||||
Update.ifCommonChatMemberUpdatedUpdate(block: (CommonChatMemberUpdatedUpdate) -> T): T? =
|
Update.ifCommonChatMemberUpdatedUpdate(block: (CommonChatMemberUpdatedUpdate) -> T): T? =
|
||||||
commonChatMemberUpdatedUpdateOrNull() ?.let(block)
|
commonChatMemberUpdatedUpdateOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun Update.deletedBusinessMessageUpdateOrNull(): DeletedBusinessMessageUpdate? = this
|
||||||
|
as? dev.inmo.tgbotapi.types.update.DeletedBusinessMessageUpdate
|
||||||
|
|
||||||
|
public inline fun Update.deletedBusinessMessageUpdateOrThrow(): DeletedBusinessMessageUpdate = this
|
||||||
|
as dev.inmo.tgbotapi.types.update.DeletedBusinessMessageUpdate
|
||||||
|
|
||||||
|
public inline fun <T>
|
||||||
|
Update.ifDeletedBusinessMessageUpdate(block: (DeletedBusinessMessageUpdate) -> T): T? =
|
||||||
|
deletedBusinessMessageUpdateOrNull() ?.let(block)
|
||||||
|
|
||||||
|
public inline fun Update.editBusinessMessageUpdateOrNull(): EditBusinessMessageUpdate? = this as?
|
||||||
|
dev.inmo.tgbotapi.types.update.EditBusinessMessageUpdate
|
||||||
|
|
||||||
|
public inline fun Update.editBusinessMessageUpdateOrThrow(): EditBusinessMessageUpdate = this as
|
||||||
|
dev.inmo.tgbotapi.types.update.EditBusinessMessageUpdate
|
||||||
|
|
||||||
|
public inline fun <T> Update.ifEditBusinessMessageUpdate(block: (EditBusinessMessageUpdate) -> T):
|
||||||
|
T? = editBusinessMessageUpdateOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun Update.editChannelPostUpdateOrNull(): EditChannelPostUpdate? = this as?
|
public inline fun Update.editChannelPostUpdateOrNull(): EditChannelPostUpdate? = this as?
|
||||||
dev.inmo.tgbotapi.types.update.EditChannelPostUpdate
|
dev.inmo.tgbotapi.types.update.EditChannelPostUpdate
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,9 @@ inline fun <reified T : MessageContent> ChannelContentMessage<*>.requireWithCont
|
|||||||
inline fun <reified T : MessageContent> PrivateContentMessage<*>.withContent() = if (content is T) { this as PrivateContentMessage<T> } else { null }
|
inline fun <reified T : MessageContent> PrivateContentMessage<*>.withContent() = if (content is T) { this as PrivateContentMessage<T> } else { null }
|
||||||
inline fun <reified T : MessageContent> PrivateContentMessage<*>.requireWithContent() = withContent<T>()!!
|
inline fun <reified T : MessageContent> PrivateContentMessage<*>.requireWithContent() = withContent<T>()!!
|
||||||
|
|
||||||
|
inline fun <reified T : MessageContent> BusinessContentMessage<*>.withContent() = if (content is T) { this as BusinessContentMessage<T> } else { null }
|
||||||
|
inline fun <reified T : MessageContent> BusinessContentMessage<*>.requireWithContent() = withContent<T>()!!
|
||||||
|
|
||||||
inline fun <reified T : MessageContent> PublicContentMessage<*>.withContent() = if (content is T) { this as PublicContentMessage<T> } else { null }
|
inline fun <reified T : MessageContent> PublicContentMessage<*>.withContent() = if (content is T) { this as PublicContentMessage<T> } else { null }
|
||||||
inline fun <reified T : MessageContent> PublicContentMessage<*>.requireWithContent() = withContent<T>()!!
|
inline fun <reified T : MessageContent> PublicContentMessage<*>.requireWithContent() = withContent<T>()!!
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
package dev.inmo.tgbotapi.extensions.utils.extensions
|
|
||||||
|
|
||||||
@@ -1,12 +1,15 @@
|
|||||||
package dev.inmo.tgbotapi.extensions.utils.extensions
|
package dev.inmo.tgbotapi.extensions.utils.extensions
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.abstracts.WithPreviewChat
|
import dev.inmo.tgbotapi.abstracts.WithPreviewChat
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.WithBusinessConnectionId
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.WithOptionalBusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.extensions.utils.usernameChatOrNull
|
import dev.inmo.tgbotapi.extensions.utils.usernameChatOrNull
|
||||||
import dev.inmo.tgbotapi.extensions.utils.whenUsernameChat
|
import dev.inmo.tgbotapi.extensions.utils.whenUsernameChat
|
||||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||||
import dev.inmo.tgbotapi.types.MessageId
|
import dev.inmo.tgbotapi.types.MessageId
|
||||||
import dev.inmo.tgbotapi.types.MessageThreadId
|
import dev.inmo.tgbotapi.types.MessageThreadId
|
||||||
import dev.inmo.tgbotapi.types.Username
|
import dev.inmo.tgbotapi.types.Username
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.chat.Chat
|
import dev.inmo.tgbotapi.types.chat.Chat
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||||
import dev.inmo.tgbotapi.types.threadId
|
import dev.inmo.tgbotapi.types.threadId
|
||||||
@@ -126,3 +129,17 @@ inline fun Message.sameTopic(other: Message) = sameTopic(other.chat, other.threa
|
|||||||
*/
|
*/
|
||||||
@Suppress("NOTHING_TO_INLINE")
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
inline fun Message.sameThread(other: Message) = sameTopic(other)
|
inline fun Message.sameThread(other: Message) = sameTopic(other)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true in case if [this] message is from the same business connection (with businessConnectionId == [id])
|
||||||
|
*/
|
||||||
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
|
inline fun Message.sameBusinessConnection(
|
||||||
|
id: BusinessConnectionId
|
||||||
|
) = businessConnectionId == id
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true in case if [this] message is from the same business connection (with businessConnectionId == [other.businessConnectionId])
|
||||||
|
*/
|
||||||
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
|
inline fun Message.sameBusinessConnection(other: WithBusinessConnectionId) = sameBusinessConnection(other.businessConnectionId)
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ fun Update.sourceChatWithConverters(
|
|||||||
chatMessageReactionsCountUpdatedUpdateConverter: (ChatMessageReactionsCountUpdatedUpdate) -> Chat? = { it.data.chat },
|
chatMessageReactionsCountUpdatedUpdateConverter: (ChatMessageReactionsCountUpdatedUpdate) -> Chat? = { it.data.chat },
|
||||||
chatBoostUpdatedUpdateFlow: (ChatBoostUpdatedUpdate) -> Chat? = { it.data.chat },
|
chatBoostUpdatedUpdateFlow: (ChatBoostUpdatedUpdate) -> Chat? = { it.data.chat },
|
||||||
chatBoostRemovedUpdateFlow: (ChatBoostRemovedUpdate) -> Chat? = { it.data.chat },
|
chatBoostRemovedUpdateFlow: (ChatBoostRemovedUpdate) -> Chat? = { it.data.chat },
|
||||||
|
businessConnectionUpdateConverter: (BusinessConnectionUpdate) -> Chat? = { it.data.user },
|
||||||
|
businessMessageUpdateConverter: (BusinessMessageUpdate) -> Chat? = { it.data.chat },
|
||||||
|
editBusinessMessageUpdateConverter: (EditBusinessMessageUpdate) -> Chat? = { it.data.chat },
|
||||||
|
deleteBusinessMessageUpdateConverter: (DeletedBusinessMessageUpdate) -> Chat? = { it.data.chat },
|
||||||
commonChatMemberUpdatedUpdateConverter: (CommonChatMemberUpdatedUpdate) -> Chat? = { it.data.chat }
|
commonChatMemberUpdatedUpdateConverter: (CommonChatMemberUpdatedUpdate) -> Chat? = { it.data.chat }
|
||||||
): Chat? = when (this) {
|
): Chat? = when (this) {
|
||||||
is BaseMessageUpdate -> baseMessageUpdateConverter(this)
|
is BaseMessageUpdate -> baseMessageUpdateConverter(this)
|
||||||
@@ -64,6 +68,10 @@ fun Update.sourceChatWithConverters(
|
|||||||
is ChatMessageReactionsCountUpdatedUpdate -> chatMessageReactionsCountUpdatedUpdateConverter(this)
|
is ChatMessageReactionsCountUpdatedUpdate -> chatMessageReactionsCountUpdatedUpdateConverter(this)
|
||||||
is ChatBoostUpdatedUpdate -> chatBoostUpdatedUpdateFlow(this)
|
is ChatBoostUpdatedUpdate -> chatBoostUpdatedUpdateFlow(this)
|
||||||
is ChatBoostRemovedUpdate -> chatBoostRemovedUpdateFlow(this)
|
is ChatBoostRemovedUpdate -> chatBoostRemovedUpdateFlow(this)
|
||||||
|
is BusinessConnectionUpdate -> businessConnectionUpdateConverter(this)
|
||||||
|
is BusinessMessageUpdate -> businessMessageUpdateConverter(this)
|
||||||
|
is EditBusinessMessageUpdate -> editBusinessMessageUpdateConverter(this)
|
||||||
|
is DeletedBusinessMessageUpdate -> deleteBusinessMessageUpdateConverter(this)
|
||||||
else -> {
|
else -> {
|
||||||
when (val data = data) {
|
when (val data = data) {
|
||||||
is FromUser -> data.from
|
is FromUser -> data.from
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.utils.shortcuts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
|
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||||
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
import kotlinx.coroutines.flow.filterIsInstance
|
||||||
|
|
||||||
|
inline fun Flow<AccessibleMessage>.businessMessages() = filterIsInstance<BusinessContentMessage<*>>()
|
||||||
|
inline fun <reified T : MessageContent> Flow<ContentMessage<T>>.businessMessagesWithType() = filterIsInstance<BusinessContentMessage<T>>()
|
||||||
|
inline fun Flow<ContentMessage<*>>.allBusinessMessages() = businessMessagesWithType()
|
||||||
Reference in New Issue
Block a user