diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/payments/SendInvoice.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/payments/SendInvoice.kt index e1425fd4b4..2374afa4de 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/payments/SendInvoice.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/payments/SendInvoice.kt @@ -35,6 +35,7 @@ public suspend fun TelegramBot.sendInvoice( shouldSendEmailToProvider: Boolean = false, priceDependOnShipAddress: Boolean = false, threadId: MessageThreadId? = chatId.threadId, + directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId, disableNotification: Boolean = false, protectContent: Boolean = false, allowPaidBroadcast: Boolean = false, @@ -62,6 +63,7 @@ public suspend fun TelegramBot.sendInvoice( shouldSendEmailToProvider = shouldSendEmailToProvider, priceDependOnShipAddress = priceDependOnShipAddress, threadId = threadId, + directMessageThreadId = directMessageThreadId, disableNotification = disableNotification, protectContent = protectContent, allowPaidBroadcast = allowPaidBroadcast, @@ -120,6 +122,7 @@ public suspend fun TelegramBot.sendInvoice( shouldSendEmailToProvider = shouldSendEmailToProvider, priceDependOnShipAddress = priceDependOnShipAddress, threadId = null, + directMessageThreadId = null, disableNotification = disableNotification, protectContent = protectContent, allowPaidBroadcast = allowPaidBroadcast, @@ -142,6 +145,7 @@ public suspend fun TelegramBot.sendInvoice( startParameter: StartParameter? = null, providerData: String? = null, threadId: MessageThreadId? = chatId.threadId, + directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId, disableNotification: Boolean = false, protectContent: Boolean = false, allowPaidBroadcast: Boolean = false, @@ -158,6 +162,7 @@ public suspend fun TelegramBot.sendInvoice( startParameter = startParameter, providerData = providerData, threadId = threadId, + directMessageThreadId = directMessageThreadId, disableNotification = disableNotification, protectContent = protectContent, allowPaidBroadcast = allowPaidBroadcast, @@ -194,6 +199,7 @@ public suspend fun TelegramBot.sendInvoice( startParameter = startParameter, providerData = providerData, threadId = null, + directMessageThreadId = null, disableNotification = disableNotification, protectContent = protectContent, allowPaidBroadcast = allowPaidBroadcast, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendContact.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendContact.kt index 418597cb3b..6199397133 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendContact.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendContact.kt @@ -66,6 +66,7 @@ data class SendContact( contact.firstName, contact.lastName, threadId, + null, // directMessageThreadId businessConnectionId, disableNotification, protectContent, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendLocation.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendLocation.kt index 0917ccc4bd..ce5448675c 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendLocation.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendLocation.kt @@ -30,6 +30,7 @@ fun SendLocation( latitude: Double, longitude: Double, threadId: MessageThreadId? = chatId.threadId, + directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId, businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -57,6 +58,7 @@ fun SendStaticLocation( latitude: Double, longitude: Double, threadId: MessageThreadId? = chatId.threadId, + directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId, businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, disableNotification: Boolean = false, protectContent: Boolean = false, @@ -105,6 +107,7 @@ fun SendLiveLocation( heading = heading, proximityAlertRadius = proximityAlertRadius, threadId = threadId, + directMessageThreadId = directMessageThreadId, businessConnectionId = businessConnectionId, disableNotification = disableNotification, protectContent = protectContent, @@ -194,6 +197,10 @@ sealed interface SendLocation : SendContentMessageRequest : SendContentMessageRequest : SendContentMessageRequest : SendContentMessageRequest : SendContentMessageRequest OptionallyWithUser.ifChannelDirectMessagesEventMessage(block: (ChannelDirectMessagesEventMessage) -> T): T? = channelDirectMessagesEventMessageOrNull() ?.let(block) +public inline fun OptionallyWithUser.channelPaidPostOrNull(): ChannelPaidPost? = this as? dev.inmo.tgbotapi.types.message.abstracts.ChannelPaidPost + +public inline fun OptionallyWithUser.channelPaidPostOrThrow(): ChannelPaidPost = this as dev.inmo.tgbotapi.types.message.abstracts.ChannelPaidPost + +public inline fun OptionallyWithUser.ifChannelPaidPost(block: (ChannelPaidPost) -> T): T? = channelPaidPostOrNull() ?.let(block) + public inline fun OptionallyWithUser.optionallyFromUserMessageOrNull(): OptionallyFromUserMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.OptionallyFromUserMessage public inline fun OptionallyWithUser.optionallyFromUserMessageOrThrow(): OptionallyFromUserMessage = this as dev.inmo.tgbotapi.types.message.abstracts.OptionallyFromUserMessage @@ -1074,6 +1082,12 @@ public inline fun ChatIdentifier.chatIdWithThreadIdOrThrow(): ChatIdWithThreadId public inline fun ChatIdentifier.ifChatIdWithThreadId(block: (ChatIdWithThreadId) -> T): T? = chatIdWithThreadIdOrNull() ?.let(block) +public inline fun ChatIdentifier.chatIdWithChannelDirectMessageThreadIdOrNull(): ChatIdWithChannelDirectMessageThreadId? = this as? dev.inmo.tgbotapi.types.ChatIdWithChannelDirectMessageThreadId + +public inline fun ChatIdentifier.chatIdWithChannelDirectMessageThreadIdOrThrow(): ChatIdWithChannelDirectMessageThreadId = this as dev.inmo.tgbotapi.types.ChatIdWithChannelDirectMessageThreadId + +public inline fun ChatIdentifier.ifChatIdWithChannelDirectMessageThreadId(block: (ChatIdWithChannelDirectMessageThreadId) -> T): T? = chatIdWithChannelDirectMessageThreadIdOrNull() ?.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 @@ -2292,29 +2306,29 @@ public inline fun TelegramMedia.withCustomizableCaptionTelegramMediaOrThrow(): W public inline fun TelegramMedia.ifWithCustomizableCaptionTelegramMedia(block: (WithCustomizableCaptionTelegramMedia) -> T): T? = withCustomizableCaptionTelegramMediaOrNull() ?.let(block) -public inline fun ChatEvent.channelDirectMessagesConfigurationChangedOrNull(): DirectMessagesConfigurationChanged? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged +public inline fun ChatEvent.directMessagesConfigurationChangedOrNull(): DirectMessagesConfigurationChanged? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged -public inline fun ChatEvent.channelDirectMessagesConfigurationChangedOrThrow(): DirectMessagesConfigurationChanged = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged +public inline fun ChatEvent.directMessagesConfigurationChangedOrThrow(): DirectMessagesConfigurationChanged = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged -public inline fun ChatEvent.ifChannelDirectMessagesConfigurationChanged(block: (DirectMessagesConfigurationChanged) -> T): T? = channelDirectMessagesConfigurationChangedOrNull() ?.let(block) +public inline fun ChatEvent.ifDirectMessagesConfigurationChanged(block: (DirectMessagesConfigurationChanged) -> T): T? = directMessagesConfigurationChangedOrNull() ?.let(block) -public inline fun ChatEvent.channelDirectMessagesConfigurationChangedDisabledOrNull(): DirectMessagesConfigurationChanged.Disabled? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Disabled +public inline fun ChatEvent.directMessagesConfigurationChangedDisabledOrNull(): DirectMessagesConfigurationChanged.Disabled? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Disabled -public inline fun ChatEvent.channelDirectMessagesConfigurationChangedDisabledOrThrow(): DirectMessagesConfigurationChanged.Disabled = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Disabled +public inline fun ChatEvent.directMessagesConfigurationChangedDisabledOrThrow(): DirectMessagesConfigurationChanged.Disabled = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Disabled -public inline fun ChatEvent.ifChannelDirectMessagesConfigurationChangedDisabled(block: (DirectMessagesConfigurationChanged.Disabled) -> T): T? = channelDirectMessagesConfigurationChangedDisabledOrNull() ?.let(block) +public inline fun ChatEvent.ifDirectMessagesConfigurationChangedDisabled(block: (DirectMessagesConfigurationChanged.Disabled) -> T): T? = directMessagesConfigurationChangedDisabledOrNull() ?.let(block) -public inline fun ChatEvent.channelDirectMessagesConfigurationChangedFreeOrNull(): DirectMessagesConfigurationChanged.Free? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Free +public inline fun ChatEvent.directMessagesConfigurationChangedFreeOrNull(): DirectMessagesConfigurationChanged.Free? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Free -public inline fun ChatEvent.channelDirectMessagesConfigurationChangedFreeOrThrow(): DirectMessagesConfigurationChanged.Free = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Free +public inline fun ChatEvent.directMessagesConfigurationChangedFreeOrThrow(): DirectMessagesConfigurationChanged.Free = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Free -public inline fun ChatEvent.ifChannelDirectMessagesConfigurationChangedFree(block: (DirectMessagesConfigurationChanged.Free) -> T): T? = channelDirectMessagesConfigurationChangedFreeOrNull() ?.let(block) +public inline fun ChatEvent.ifDirectMessagesConfigurationChangedFree(block: (DirectMessagesConfigurationChanged.Free) -> T): T? = directMessagesConfigurationChangedFreeOrNull() ?.let(block) -public inline fun ChatEvent.channelDirectMessagesConfigurationChangedPaidOrNull(): DirectMessagesConfigurationChanged.Paid? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Paid +public inline fun ChatEvent.directMessagesConfigurationChangedPaidOrNull(): DirectMessagesConfigurationChanged.Paid? = this as? dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Paid -public inline fun ChatEvent.channelDirectMessagesConfigurationChangedPaidOrThrow(): DirectMessagesConfigurationChanged.Paid = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Paid +public inline fun ChatEvent.directMessagesConfigurationChangedPaidOrThrow(): DirectMessagesConfigurationChanged.Paid = this as dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged.Paid -public inline fun ChatEvent.ifChannelDirectMessagesConfigurationChangedPaid(block: (DirectMessagesConfigurationChanged.Paid) -> T): T? = channelDirectMessagesConfigurationChangedPaidOrNull() ?.let(block) +public inline fun ChatEvent.ifDirectMessagesConfigurationChangedPaid(block: (DirectMessagesConfigurationChanged.Paid) -> T): T? = directMessagesConfigurationChangedPaidOrNull() ?.let(block) public inline fun ChatEvent.paidMessagePriceChangedOrNull(): PaidMessagePriceChanged? = this as? dev.inmo.tgbotapi.types.PaidMessagePriceChanged @@ -2820,6 +2834,12 @@ public inline fun Message.channelDirectMessagesEventMessageOrThrow(): ChannelDir public inline fun Message.ifChannelDirectMessagesEventMessage(block: (ChannelDirectMessagesEventMessage) -> T): T? = channelDirectMessagesEventMessageOrNull() ?.let(block) +public inline fun Message.channelPaidPostOrNull(): ChannelPaidPost? = this as? dev.inmo.tgbotapi.types.message.abstracts.ChannelPaidPost + +public inline fun Message.channelPaidPostOrThrow(): ChannelPaidPost = this as dev.inmo.tgbotapi.types.message.abstracts.ChannelPaidPost + +public inline fun Message.ifChannelPaidPost(block: (ChannelPaidPost) -> T): T? = channelPaidPostOrNull() ?.let(block) + public inline fun Message.chatEventMessageOrNull(): ChatEventMessage? = this as? dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage public inline fun Message.chatEventMessageOrThrow(): ChatEventMessage = this as dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage