mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-09-16 21:59:24 +00:00
start separate channel direct messages thread id insttead of one merged message thread id
This commit is contained in:
@@ -5,7 +5,7 @@ package dev.inmo.tgbotapi.extensions.behaviour_builder.expectations
|
|||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
|
||||||
import dev.inmo.tgbotapi.extensions.utils.*
|
import dev.inmo.tgbotapi.extensions.utils.*
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.Request
|
import dev.inmo.tgbotapi.requests.abstracts.Request
|
||||||
import dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged
|
import dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged
|
||||||
import dev.inmo.tgbotapi.types.PaidMessagePriceChanged
|
import dev.inmo.tgbotapi.types.PaidMessagePriceChanged
|
||||||
import dev.inmo.tgbotapi.types.chat.ChatBackground
|
import dev.inmo.tgbotapi.types.chat.ChatBackground
|
||||||
import dev.inmo.tgbotapi.types.checklists.ChecklistTasksAdded
|
import dev.inmo.tgbotapi.types.checklists.ChecklistTasksAdded
|
||||||
@@ -287,7 +287,7 @@ fun BehaviourContext.waitChecklistTasksAdded(
|
|||||||
fun BehaviourContext.waitChannelDirectMessagesConfigurationChanged(
|
fun BehaviourContext.waitChannelDirectMessagesConfigurationChanged(
|
||||||
initRequest: Request<*>? = null,
|
initRequest: Request<*>? = null,
|
||||||
errorFactory: NullableRequestBuilder<*> = { null }
|
errorFactory: NullableRequestBuilder<*> = { null }
|
||||||
) = waitEvents<ChannelDirectMessagesConfigurationChanged>(initRequest, errorFactory)
|
) = waitEvents<DirectMessagesConfigurationChanged>(initRequest, errorFactory)
|
||||||
|
|
||||||
fun BehaviourContext.waitSuggestedPostApprovalFailed(
|
fun BehaviourContext.waitSuggestedPostApprovalFailed(
|
||||||
initRequest: Request<*>? = null,
|
initRequest: Request<*>? = null,
|
||||||
|
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.Mar
|
|||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.times
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.times
|
||||||
import dev.inmo.tgbotapi.extensions.utils.baseSentMessageUpdateOrNull
|
import dev.inmo.tgbotapi.extensions.utils.baseSentMessageUpdateOrNull
|
||||||
import dev.inmo.tgbotapi.extensions.utils.chatEventMessageOrNull
|
import dev.inmo.tgbotapi.extensions.utils.chatEventMessageOrNull
|
||||||
import dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged
|
import dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged
|
||||||
import dev.inmo.tgbotapi.types.PaidMessagePriceChanged
|
import dev.inmo.tgbotapi.types.PaidMessagePriceChanged
|
||||||
import dev.inmo.tgbotapi.types.chat.ChatBackground
|
import dev.inmo.tgbotapi.types.chat.ChatBackground
|
||||||
import dev.inmo.tgbotapi.types.checklists.ChecklistTasksAdded
|
import dev.inmo.tgbotapi.types.checklists.ChecklistTasksAdded
|
||||||
@@ -41,7 +41,6 @@ import dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage
|
|||||||
import dev.inmo.tgbotapi.types.message.abstracts.SupergroupEventMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.SupergroupEventMessage
|
||||||
import dev.inmo.tgbotapi.types.message.payments.RefundedPaymentEvent
|
import dev.inmo.tgbotapi.types.message.payments.RefundedPaymentEvent
|
||||||
import dev.inmo.tgbotapi.types.message.payments.SuccessfulPaymentEvent
|
import dev.inmo.tgbotapi.types.message.payments.SuccessfulPaymentEvent
|
||||||
import dev.inmo.tgbotapi.types.payments.SuggestedPostPrice
|
|
||||||
import dev.inmo.tgbotapi.types.request.ChatShared
|
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.UsersShared
|
import dev.inmo.tgbotapi.types.request.UsersShared
|
||||||
@@ -1184,11 +1183,11 @@ fun <BC : BehaviourContext> BC.onChecklistTasksAdded(
|
|||||||
* data
|
* data
|
||||||
*/
|
*/
|
||||||
fun <BC : BehaviourContext> BC.onChannelDirectMessagesConfigurationChanged(
|
fun <BC : BehaviourContext> BC.onChannelDirectMessagesConfigurationChanged(
|
||||||
initialFilter: SimpleFilter<ChannelEventMessage<ChannelDirectMessagesConfigurationChanged>>? = null,
|
initialFilter: SimpleFilter<ChannelEventMessage<DirectMessagesConfigurationChanged>>? = null,
|
||||||
subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, ChannelEventMessage<ChannelDirectMessagesConfigurationChanged>, Update>? = MessageFilterByChat,
|
subcontextUpdatesFilter: CustomBehaviourContextAndTwoTypesReceiver<BC, Boolean, ChannelEventMessage<DirectMessagesConfigurationChanged>, Update>? = MessageFilterByChat,
|
||||||
markerFactory: MarkerFactory<in ChannelEventMessage<ChannelDirectMessagesConfigurationChanged>, Any>? = ByChatMessageMarkerFactory,
|
markerFactory: MarkerFactory<in ChannelEventMessage<DirectMessagesConfigurationChanged>, Any>? = ByChatMessageMarkerFactory,
|
||||||
additionalSubcontextInitialAction: CustomBehaviourContextAndTwoTypesReceiver<BC, Unit, Update, ChannelEventMessage<ChannelDirectMessagesConfigurationChanged>>? = null,
|
additionalSubcontextInitialAction: CustomBehaviourContextAndTwoTypesReceiver<BC, Unit, Update, ChannelEventMessage<DirectMessagesConfigurationChanged>>? = null,
|
||||||
scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, ChannelEventMessage<ChannelDirectMessagesConfigurationChanged>>
|
scenarioReceiver: CustomBehaviourContextAndTypeReceiver<BC, Unit, ChannelEventMessage<DirectMessagesConfigurationChanged>>
|
||||||
) = onEventWithCustomChatEventMessage(initialFilter, subcontextUpdatesFilter, markerFactory, additionalSubcontextInitialAction, scenarioReceiver)
|
) = onEventWithCustomChatEventMessage(initialFilter, subcontextUpdatesFilter, markerFactory, additionalSubcontextInitialAction, scenarioReceiver)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.send.abstracts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.DirectMessageThreadId
|
||||||
|
|
||||||
|
interface OptionallyChannelDirectMessageThreadRequest {
|
||||||
|
val directMessageThreadId: DirectMessageThreadId?
|
||||||
|
}
|
@@ -7,4 +7,5 @@ interface SendMessageRequest<T: Any> : SendChatMessageRequest<T>,
|
|||||||
DisableNotification,
|
DisableNotification,
|
||||||
ProtectContent,
|
ProtectContent,
|
||||||
AllowPaidBroadcast,
|
AllowPaidBroadcast,
|
||||||
OptionallyMessageThreadRequest
|
OptionallyMessageThreadRequest,
|
||||||
|
OptionallyChannelDirectMessageThreadRequest
|
||||||
|
@@ -63,6 +63,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(directMessagesTopicIdField)
|
||||||
|
override val directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
|
@@ -36,6 +36,8 @@ sealed interface IdChatIdentifier : ChatIdentifier {
|
|||||||
get() = null
|
get() = null
|
||||||
val businessConnectionId: BusinessConnectionId?
|
val businessConnectionId: BusinessConnectionId?
|
||||||
get() = null
|
get() = null
|
||||||
|
val directMessageThreadId: DirectMessageThreadId?
|
||||||
|
get() = null
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
operator fun invoke(chatId: RawChatId, threadId: MessageThreadId? = null, businessConnectionId: BusinessConnectionId? = null) = threadId ?.let {
|
operator fun invoke(chatId: RawChatId, threadId: MessageThreadId? = null, businessConnectionId: BusinessConnectionId? = null) = threadId ?.let {
|
||||||
@@ -64,6 +66,18 @@ 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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||||
|
@Serializable(ChatIdentifierSerializer::class)
|
||||||
|
@JvmInline
|
||||||
|
value class ChatIdWithChannelDirectMessageThreadId(val chatIdWithThreadId: Pair<RawChatId, DirectMessageThreadId>) : IdChatIdentifier {
|
||||||
|
override val chatId: RawChatId
|
||||||
|
get() = chatIdWithThreadId.first
|
||||||
|
override val directMessageThreadId: DirectMessageThreadId
|
||||||
|
get() = chatIdWithThreadId.second
|
||||||
|
|
||||||
|
constructor(chatId: RawChatId, threadId: DirectMessageThreadId): this(chatId to threadId)
|
||||||
|
}
|
||||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||||
@Serializable(ChatIdentifierSerializer::class)
|
@Serializable(ChatIdentifierSerializer::class)
|
||||||
@JvmInline
|
@JvmInline
|
||||||
@@ -85,10 +99,12 @@ val ChatIdentifier.businessConnectionId: 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 ChatIdWithChannelDirectMessageThreadId -> ChatId(chatId)
|
||||||
is BusinessChatId -> ChatId(chatId)
|
is BusinessChatId -> ChatId(chatId)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun IdChatIdentifier.toChatWithThreadId(threadId: MessageThreadId) = IdChatIdentifier(chatId, threadId)
|
fun IdChatIdentifier.toChatWithThreadId(threadId: MessageThreadId) = IdChatIdentifier(chatId, threadId)
|
||||||
|
fun IdChatIdentifier.toChatIdWithChannelDirectMessageThreadId(threadId: DirectMessageThreadId) = ChatIdWithChannelDirectMessageThreadId(chatId, threadId)
|
||||||
fun IdChatIdentifier.toBusinessChatId(businessConnectionId: BusinessConnectionId) = IdChatIdentifier(chatId, businessConnectionId)
|
fun IdChatIdentifier.toBusinessChatId(businessConnectionId: BusinessConnectionId) = IdChatIdentifier(chatId, businessConnectionId)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -221,11 +237,20 @@ object FullChatIdentifierSerializer : KSerializer<ChatIdentifier> {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
3 -> {
|
3 -> {
|
||||||
val (chatId, _, businessConnectionId) = splitted
|
val (chatId, intermediateDelimiter, additionalId) = splitted
|
||||||
BusinessChatId(
|
val additionalIdAsLong by lazy {
|
||||||
|
additionalId.toLongOrNull()
|
||||||
|
}
|
||||||
|
when {
|
||||||
|
intermediateDelimiter == "cdm" && additionalIdAsLong != null -> ChatIdWithChannelDirectMessageThreadId(
|
||||||
chatId.toLongOrNull() ?.let(::RawChatId) ?: return@let null,
|
chatId.toLongOrNull() ?.let(::RawChatId) ?: return@let null,
|
||||||
businessConnectionId.let(::BusinessConnectionId)
|
additionalIdAsLong ?.let(::DirectMessageThreadId) ?: return@let null
|
||||||
)
|
)
|
||||||
|
else -> BusinessChatId(
|
||||||
|
chatId.toLongOrNull() ?.let(::RawChatId) ?: return@let null,
|
||||||
|
additionalId.let(::BusinessConnectionId)
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
@@ -239,6 +264,7 @@ object FullChatIdentifierSerializer : KSerializer<ChatIdentifier> {
|
|||||||
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.businessConnectionId}")
|
is BusinessChatId -> encoder.encodeString("${value.chatId}//${value.businessConnectionId}")
|
||||||
|
is ChatIdWithChannelDirectMessageThreadId -> encoder.encodeString("${value.chatId}/cdm/${value.directMessageThreadId}")
|
||||||
is Username -> encoder.encodeString(value.full)
|
is Username -> encoder.encodeString(value.full)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -141,6 +141,7 @@ const val giveawayMessageIdField = "giveaway_message_id"
|
|||||||
const val messageIdsField = "message_ids"
|
const val messageIdsField = "message_ids"
|
||||||
const val actorChatField = "actor_chat"
|
const val actorChatField = "actor_chat"
|
||||||
const val messageThreadIdField = "message_thread_id"
|
const val messageThreadIdField = "message_thread_id"
|
||||||
|
const val directMessagesTopicIdField = "direct_messages_topic_id"
|
||||||
const val mediaGroupIdField = "media_group_id"
|
const val mediaGroupIdField = "media_group_id"
|
||||||
const val updateIdField = "update_id"
|
const val updateIdField = "update_id"
|
||||||
const val fromChatIdField = "from_chat_id"
|
const val fromChatIdField = "from_chat_id"
|
||||||
|
@@ -8,33 +8,33 @@ import kotlinx.serialization.encoding.Decoder
|
|||||||
import kotlinx.serialization.encoding.Encoder
|
import kotlinx.serialization.encoding.Encoder
|
||||||
|
|
||||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||||
@Serializable(ChannelDirectMessagesConfigurationChanged.Companion::class)
|
@Serializable(DirectMessagesConfigurationChanged.Companion::class)
|
||||||
sealed interface ChannelDirectMessagesConfigurationChanged : ChannelEvent {
|
sealed interface DirectMessagesConfigurationChanged : ChannelEvent {
|
||||||
val enabled: Boolean
|
val enabled: Boolean
|
||||||
val cost: Int?
|
val cost: Int?
|
||||||
@Serializable(ChannelDirectMessagesConfigurationChanged.Companion::class)
|
@Serializable(DirectMessagesConfigurationChanged.Companion::class)
|
||||||
data object Disabled : ChannelDirectMessagesConfigurationChanged {
|
data object Disabled : DirectMessagesConfigurationChanged {
|
||||||
override val enabled: Boolean
|
override val enabled: Boolean
|
||||||
get() = false
|
get() = false
|
||||||
override val cost: Int?
|
override val cost: Int?
|
||||||
get() = null
|
get() = null
|
||||||
}
|
}
|
||||||
@Serializable(ChannelDirectMessagesConfigurationChanged.Companion::class)
|
@Serializable(DirectMessagesConfigurationChanged.Companion::class)
|
||||||
data object Free : ChannelDirectMessagesConfigurationChanged {
|
data object Free : DirectMessagesConfigurationChanged {
|
||||||
override val enabled: Boolean
|
override val enabled: Boolean
|
||||||
get() = true
|
get() = true
|
||||||
override val cost: Int
|
override val cost: Int
|
||||||
get() = 0
|
get() = 0
|
||||||
}
|
}
|
||||||
@Serializable(ChannelDirectMessagesConfigurationChanged.Companion::class)
|
@Serializable(DirectMessagesConfigurationChanged.Companion::class)
|
||||||
data class Paid(
|
data class Paid(
|
||||||
override val cost: Int
|
override val cost: Int
|
||||||
) : ChannelDirectMessagesConfigurationChanged {
|
) : DirectMessagesConfigurationChanged {
|
||||||
override val enabled: Boolean
|
override val enabled: Boolean
|
||||||
get() = true
|
get() = true
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object : KSerializer<ChannelDirectMessagesConfigurationChanged> {
|
companion object : KSerializer<DirectMessagesConfigurationChanged> {
|
||||||
@Serializable
|
@Serializable
|
||||||
private data class RawDirectMessagePriceChanged(
|
private data class RawDirectMessagePriceChanged(
|
||||||
val are_direct_messages_enabled: Boolean = false,
|
val are_direct_messages_enabled: Boolean = false,
|
||||||
@@ -45,7 +45,7 @@ sealed interface ChannelDirectMessagesConfigurationChanged : ChannelEvent {
|
|||||||
|
|
||||||
override fun serialize(
|
override fun serialize(
|
||||||
encoder: Encoder,
|
encoder: Encoder,
|
||||||
value: ChannelDirectMessagesConfigurationChanged
|
value: DirectMessagesConfigurationChanged
|
||||||
) {
|
) {
|
||||||
RawDirectMessagePriceChanged.serializer().serialize(
|
RawDirectMessagePriceChanged.serializer().serialize(
|
||||||
encoder,
|
encoder,
|
||||||
@@ -56,7 +56,7 @@ sealed interface ChannelDirectMessagesConfigurationChanged : ChannelEvent {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun deserialize(decoder: Decoder): ChannelDirectMessagesConfigurationChanged {
|
override fun deserialize(decoder: Decoder): DirectMessagesConfigurationChanged {
|
||||||
val raw = RawDirectMessagePriceChanged.serializer().deserialize(decoder)
|
val raw = RawDirectMessagePriceChanged.serializer().deserialize(decoder)
|
||||||
|
|
||||||
return when {
|
return when {
|
||||||
|
@@ -0,0 +1,14 @@
|
|||||||
|
package dev.inmo.tgbotapi.types
|
||||||
|
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlin.jvm.JvmInline
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@JvmInline
|
||||||
|
value class DirectMessageThreadId(
|
||||||
|
val long: Long
|
||||||
|
) {
|
||||||
|
override fun toString(): String {
|
||||||
|
return long.toString()
|
||||||
|
}
|
||||||
|
}
|
@@ -1,7 +1,7 @@
|
|||||||
package dev.inmo.tgbotapi.types.chat
|
package dev.inmo.tgbotapi.types.chat
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.abstracts.OptionallyWithUser
|
import dev.inmo.tgbotapi.abstracts.OptionallyWithUser
|
||||||
import dev.inmo.tgbotapi.types.MessageThreadId
|
import dev.inmo.tgbotapi.types.DirectMessageThreadId
|
||||||
import dev.inmo.tgbotapi.types.topicIdField
|
import dev.inmo.tgbotapi.types.topicIdField
|
||||||
import dev.inmo.tgbotapi.types.userField
|
import dev.inmo.tgbotapi.types.userField
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
@@ -10,7 +10,7 @@ import kotlinx.serialization.Serializable
|
|||||||
@Serializable
|
@Serializable
|
||||||
data class DirectMessagesTopic(
|
data class DirectMessagesTopic(
|
||||||
@SerialName(topicIdField)
|
@SerialName(topicIdField)
|
||||||
val threadId: MessageThreadId,
|
val threadId: DirectMessageThreadId,
|
||||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||||
@SerialName(userField)
|
@SerialName(userField)
|
||||||
override val user: PreviewUser? = null,
|
override val user: PreviewUser? = null,
|
||||||
|
@@ -188,7 +188,7 @@ internal data class RawMessage(
|
|||||||
private val checklist_tasks_added: ChecklistTasksAdded? = null,
|
private val checklist_tasks_added: ChecklistTasksAdded? = null,
|
||||||
|
|
||||||
// Channel direct messages
|
// Channel direct messages
|
||||||
private val direct_message_price_changed: ChannelDirectMessagesConfigurationChanged? = null,
|
private val direct_message_price_changed: DirectMessagesConfigurationChanged? = null,
|
||||||
|
|
||||||
//
|
//
|
||||||
private val suggested_post_approved: SuggestedPostApproved? = null,
|
private val suggested_post_approved: SuggestedPostApproved? = null,
|
||||||
|
@@ -21,7 +21,7 @@ import dev.inmo.tgbotapi.requests.stickers.InputSticker
|
|||||||
import dev.inmo.tgbotapi.types.BackgroundFill
|
import dev.inmo.tgbotapi.types.BackgroundFill
|
||||||
import dev.inmo.tgbotapi.types.BackgroundType
|
import dev.inmo.tgbotapi.types.BackgroundType
|
||||||
import dev.inmo.tgbotapi.types.BusinessChatId
|
import dev.inmo.tgbotapi.types.BusinessChatId
|
||||||
import dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged
|
import dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged
|
||||||
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
|
||||||
@@ -2292,29 +2292,29 @@ public inline fun TelegramMedia.withCustomizableCaptionTelegramMediaOrThrow(): W
|
|||||||
|
|
||||||
public inline fun <T> TelegramMedia.ifWithCustomizableCaptionTelegramMedia(block: (WithCustomizableCaptionTelegramMedia) -> T): T? = withCustomizableCaptionTelegramMediaOrNull() ?.let(block)
|
public inline fun <T> TelegramMedia.ifWithCustomizableCaptionTelegramMedia(block: (WithCustomizableCaptionTelegramMedia) -> T): T? = withCustomizableCaptionTelegramMediaOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedOrNull(): ChannelDirectMessagesConfigurationChanged? = this as? dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged
|
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedOrNull(): DirectMessagesConfigurationChanged? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged
|
||||||
|
|
||||||
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedOrThrow(): ChannelDirectMessagesConfigurationChanged = this as dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged
|
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedOrThrow(): DirectMessagesConfigurationChanged = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged
|
||||||
|
|
||||||
public inline fun <T> ChatEvent.ifChannelDirectMessagesConfigurationChanged(block: (ChannelDirectMessagesConfigurationChanged) -> T): T? = channelDirectMessagesConfigurationChangedOrNull() ?.let(block)
|
public inline fun <T> ChatEvent.ifChannelDirectMessagesConfigurationChanged(block: (DirectMessagesConfigurationChanged) -> T): T? = channelDirectMessagesConfigurationChangedOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedDisabledOrNull(): ChannelDirectMessagesConfigurationChanged.Disabled? = this as? dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged.Disabled
|
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedDisabledOrNull(): DirectMessagesConfigurationChanged.Disabled? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Disabled
|
||||||
|
|
||||||
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedDisabledOrThrow(): ChannelDirectMessagesConfigurationChanged.Disabled = this as dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged.Disabled
|
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedDisabledOrThrow(): DirectMessagesConfigurationChanged.Disabled = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Disabled
|
||||||
|
|
||||||
public inline fun <T> ChatEvent.ifChannelDirectMessagesConfigurationChangedDisabled(block: (ChannelDirectMessagesConfigurationChanged.Disabled) -> T): T? = channelDirectMessagesConfigurationChangedDisabledOrNull() ?.let(block)
|
public inline fun <T> ChatEvent.ifChannelDirectMessagesConfigurationChangedDisabled(block: (DirectMessagesConfigurationChanged.Disabled) -> T): T? = channelDirectMessagesConfigurationChangedDisabledOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedFreeOrNull(): ChannelDirectMessagesConfigurationChanged.Free? = this as? dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged.Free
|
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedFreeOrNull(): DirectMessagesConfigurationChanged.Free? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Free
|
||||||
|
|
||||||
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedFreeOrThrow(): ChannelDirectMessagesConfigurationChanged.Free = this as dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged.Free
|
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedFreeOrThrow(): DirectMessagesConfigurationChanged.Free = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Free
|
||||||
|
|
||||||
public inline fun <T> ChatEvent.ifChannelDirectMessagesConfigurationChangedFree(block: (ChannelDirectMessagesConfigurationChanged.Free) -> T): T? = channelDirectMessagesConfigurationChangedFreeOrNull() ?.let(block)
|
public inline fun <T> ChatEvent.ifChannelDirectMessagesConfigurationChangedFree(block: (DirectMessagesConfigurationChanged.Free) -> T): T? = channelDirectMessagesConfigurationChangedFreeOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedPaidOrNull(): ChannelDirectMessagesConfigurationChanged.Paid? = this as? dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged.Paid
|
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedPaidOrNull(): DirectMessagesConfigurationChanged.Paid? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Paid
|
||||||
|
|
||||||
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedPaidOrThrow(): ChannelDirectMessagesConfigurationChanged.Paid = this as dev.inmo.tgbotapi.types.ChannelDirectMessagesConfigurationChanged.Paid
|
public inline fun ChatEvent.channelDirectMessagesConfigurationChangedPaidOrThrow(): DirectMessagesConfigurationChanged.Paid = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Paid
|
||||||
|
|
||||||
public inline fun <T> ChatEvent.ifChannelDirectMessagesConfigurationChangedPaid(block: (ChannelDirectMessagesConfigurationChanged.Paid) -> T): T? = channelDirectMessagesConfigurationChangedPaidOrNull() ?.let(block)
|
public inline fun <T> ChatEvent.ifChannelDirectMessagesConfigurationChangedPaid(block: (DirectMessagesConfigurationChanged.Paid) -> T): T? = channelDirectMessagesConfigurationChangedPaidOrNull() ?.let(block)
|
||||||
|
|
||||||
public inline fun ChatEvent.paidMessagePriceChangedOrNull(): PaidMessagePriceChanged? = this as? dev.inmo.tgbotapi.types.PaidMessagePriceChanged
|
public inline fun ChatEvent.paidMessagePriceChangedOrNull(): PaidMessagePriceChanged? = this as? dev.inmo.tgbotapi.types.PaidMessagePriceChanged
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user