1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-09-16 13:49:26 +00:00

some progress on support of directMessageThreadId

This commit is contained in:
2025-09-15 00:12:53 +06:00
parent f312e04c0d
commit 62b4a21650
19 changed files with 99 additions and 13 deletions

View File

@@ -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,

View File

@@ -66,6 +66,7 @@ data class SendContact(
contact.firstName,
contact.lastName,
threadId,
null, // directMessageThreadId
businessConnectionId,
disableNotification,
protectContent,

View File

@@ -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<T : LocationContent> : SendContentMessageRequest<C
@OptIn(ExperimentalSerializationApi::class)
@EncodeDefault
override val threadId: MessageThreadId? = chatId.threadId,
@OptIn(ExperimentalSerializationApi::class)
@EncodeDefault
@SerialName(directMessagesTopicIdField)
override val directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
@SerialName(businessConnectionIdField)
@OptIn(ExperimentalSerializationApi::class)
@EncodeDefault
@@ -244,6 +251,8 @@ sealed interface SendLocation<T : LocationContent> : SendContentMessageRequest<C
val proximityAlertRadius: Meters? = null,
@SerialName(messageThreadIdField)
val threadId: MessageThreadId? = chatId.threadId,
@SerialName(directMessagesTopicIdField)
val directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
@SerialName(businessConnectionIdField)
val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
@SerialName(disableNotificationField)
@@ -272,6 +281,7 @@ sealed interface SendLocation<T : LocationContent> : SendContentMessageRequest<C
latitude = surrogate.latitude,
longitude = surrogate.longitude,
threadId = surrogate.threadId,
directMessageThreadId = surrogate.directMessageThreadId,
businessConnectionId = surrogate.businessConnectionId,
disableNotification = surrogate.disableNotification,
protectContent = surrogate.protectContent,
@@ -289,6 +299,7 @@ sealed interface SendLocation<T : LocationContent> : SendContentMessageRequest<C
heading = surrogate.heading,
proximityAlertRadius = surrogate.proximityAlertRadius,
threadId = surrogate.threadId,
directMessageThreadId = surrogate.directMessageThreadId,
businessConnectionId = surrogate.businessConnectionId,
disableNotification = surrogate.disableNotification,
protectContent = surrogate.protectContent,
@@ -311,6 +322,7 @@ sealed interface SendLocation<T : LocationContent> : SendContentMessageRequest<C
heading = heading,
proximityAlertRadius = proximityAlertRadius,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -64,6 +64,7 @@ data class SendVenue(
chatId: ChatIdentifier,
venue: Venue,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -82,6 +83,7 @@ data class SendVenue(
googlePlaceId = venue.googlePlaceId,
googlePlaceType = venue.googlePlaceType,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -91,6 +91,7 @@ fun SendAnimation(
width: Int? = null,
height: Int? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -115,6 +116,7 @@ fun SendAnimation(
width = width,
height = height,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -86,6 +86,7 @@ fun SendAudio(
performer: String? = null,
title: String? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -108,6 +109,7 @@ fun SendAudio(
performer = performer,
title = title,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -96,6 +96,7 @@ fun SendDocument(
thumbnail: InputFile? = null,
entities: TextSourcesList,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -116,6 +117,7 @@ fun SendDocument(
parseMode = null,
rawEntities = entities.toRawMessageEntities(),
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -95,6 +95,7 @@ fun SendPaidMedia(
payload: PaidMediaPayload? = null,
showCaptionAboveMedia: Boolean = false,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -112,6 +113,7 @@ fun SendPaidMedia(
rawEntities = entities.toRawMessageEntities(),
showCaptionAboveMedia = showCaptionAboveMedia,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -102,6 +102,7 @@ fun SendVideo(
height: Int? = null,
supportStreaming: Boolean? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -130,6 +131,7 @@ fun SendVideo(
height = height,
supportStreaming = supportStreaming,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -72,6 +72,7 @@ fun SendVoice(
voice: InputFile,
entities: TextSourcesList,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
duration: Long? = null,
disableNotification: Boolean = false,
@@ -91,6 +92,7 @@ fun SendVoice(
rawEntities = entities.toRawMessageEntities(),
duration = duration,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -118,6 +118,7 @@ data class SendInvoice(
startParameter: StartParameter? = null,
providerData: String? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
allowPaidBroadcast: Boolean = false,
@@ -135,6 +136,7 @@ data class SendInvoice(
startParameter = startParameter,
providerData = providerData,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
disableNotification = disableNotification,
protectContent = protectContent,
allowPaidBroadcast = allowPaidBroadcast,

View File

@@ -93,6 +93,7 @@ class SendQuizPoll internal constructor(
openPeriod: LongSeconds? = null,
closeDate: LongSeconds? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -115,6 +116,7 @@ class SendQuizPoll internal constructor(
openPeriod = openPeriod,
closeDate = closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -136,6 +138,7 @@ class SendQuizPoll internal constructor(
openPeriod: LongSeconds? = null,
closeDate: LongSeconds? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -158,6 +161,7 @@ class SendQuizPoll internal constructor(
openPeriod = openPeriod,
closeDate = closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -179,6 +183,7 @@ class SendQuizPoll internal constructor(
openPeriod: LongSeconds? = null,
closeDate: LongSeconds? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -201,6 +206,7 @@ class SendQuizPoll internal constructor(
openPeriod = openPeriod,
closeDate = closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -221,6 +227,7 @@ class SendQuizPoll internal constructor(
openPeriod: LongSeconds? = null,
closeDate: LongSeconds? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -243,6 +250,7 @@ class SendQuizPoll internal constructor(
openPeriod = openPeriod,
closeDate = closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -279,6 +287,7 @@ fun SendQuizPoll(
isAnonymous: Boolean = true,
isClosed: Boolean = false,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -299,6 +308,7 @@ fun SendQuizPoll(
openPeriod = (closeInfo as? ApproximateScheduledCloseInfo)?.openPeriod,
closeDate = (closeInfo as? ExactScheduledCloseInfo)?.closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -319,6 +329,7 @@ fun SendQuizPoll(
isAnonymous: Boolean = true,
isClosed: Boolean = false,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -338,6 +349,7 @@ fun SendQuizPoll(
openPeriod = (closeInfo as? ApproximateScheduledCloseInfo)?.openPeriod,
closeDate = (closeInfo as? ExactScheduledCloseInfo)?.closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -358,6 +370,7 @@ fun SendQuizPoll(
isAnonymous: Boolean = true,
isClosed: Boolean = false,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -377,6 +390,7 @@ fun SendQuizPoll(
openPeriod = (closeInfo as? ApproximateScheduledCloseInfo)?.openPeriod,
closeDate = (closeInfo as? ExactScheduledCloseInfo)?.closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -396,6 +410,7 @@ fun SendQuizPoll(
isAnonymous: Boolean = true,
isClosed: Boolean = false,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -414,6 +429,7 @@ fun SendQuizPoll(
openPeriod = (closeInfo as? ApproximateScheduledCloseInfo)?.openPeriod,
closeDate = (closeInfo as? ExactScheduledCloseInfo)?.closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -79,6 +79,7 @@ class SendRegularPoll private constructor(
openPeriod: LongSeconds?= null,
closeDate: LongSeconds? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -98,6 +99,7 @@ class SendRegularPoll private constructor(
openPeriod = openPeriod,
closeDate = closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -118,6 +120,7 @@ class SendRegularPoll private constructor(
openPeriod: LongSeconds?= null,
closeDate: LongSeconds? = null,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -137,6 +140,7 @@ class SendRegularPoll private constructor(
openPeriod = openPeriod,
closeDate = closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -166,6 +170,7 @@ fun SendRegularPoll(
isClosed: Boolean = false,
allowMultipleAnswers: Boolean = false,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -184,6 +189,7 @@ fun SendRegularPoll(
openPeriod = (closeInfo as? ApproximateScheduledCloseInfo) ?.openPeriod,
closeDate = (closeInfo as? ExactScheduledCloseInfo) ?.closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -202,6 +208,7 @@ fun SendRegularPoll(
isClosed: Boolean = false,
allowMultipleAnswers: Boolean = false,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -219,6 +226,7 @@ fun SendRegularPoll(
openPeriod = (closeInfo as? ApproximateScheduledCloseInfo) ?.openPeriod,
closeDate = (closeInfo as? ExactScheduledCloseInfo) ?.closeDate,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
@@ -236,6 +244,7 @@ fun SendRegularPoll(
isClosed: Boolean = false,
allowMultipleAnswers: Boolean = false,
threadId: MessageThreadId? = chatId.threadId,
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false,
protectContent: Boolean = false,
@@ -253,6 +262,7 @@ fun SendRegularPoll(
isClosed = isClosed,
allowMultipleAnswers = allowMultipleAnswers,
threadId = threadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -28,6 +28,7 @@ data class DiceContent(
chatId = chatId,
animationType = dice.animationType,
threadId = messageThreadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -28,6 +28,7 @@ data class GameContent(
chatId = chatId,
gameShortName = game.title,
threadId = messageThreadId,
directMessageThreadId = directMessageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,

View File

@@ -33,6 +33,7 @@ data class GiveawayContent(
toChatId = chatId,
messageId = messageId,
threadId = messageThreadId,
directMessageThreadId = directMessageThreadId,
disableNotification = disableNotification,
protectContent = protectContent
)

View File

@@ -30,6 +30,7 @@ data class GiveawayPublicResultsContent(
toChatId = chatId,
messageId = giveaway.messageId,
threadId = messageThreadId,
directMessageThreadId = directMessageThreadId,
disableNotification = disableNotification,
protectContent = protectContent
)

View File

@@ -33,6 +33,7 @@ data class StoryContent(
toChatId = chatId,
messageId = messageId,
threadId = messageThreadId,
directMessageThreadId = directMessageThreadId,
disableNotification = disableNotification,
protectContent = protectContent
)

View File

@@ -21,14 +21,15 @@ import dev.inmo.tgbotapi.requests.stickers.InputSticker
import dev.inmo.tgbotapi.types.BackgroundFill
import dev.inmo.tgbotapi.types.BackgroundType
import dev.inmo.tgbotapi.types.BusinessChatId
import dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged
import dev.inmo.tgbotapi.types.ChatId
import dev.inmo.tgbotapi.types.ChatIdWithChannelDirectMessageThreadId
import dev.inmo.tgbotapi.types.ChatIdWithThreadId
import dev.inmo.tgbotapi.types.ChatIdentifier
import dev.inmo.tgbotapi.types.ChatInviteLink
import dev.inmo.tgbotapi.types.ChatInviteLinkUnlimited
import dev.inmo.tgbotapi.types.ChatInviteLinkWithJoinRequest
import dev.inmo.tgbotapi.types.ChatInviteLinkWithLimitedMembers
import dev.inmo.tgbotapi.types.DirectMessagesConfigurationChanged
import dev.inmo.tgbotapi.types.IdChatIdentifier
import dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.BaseChosenInlineResult
import dev.inmo.tgbotapi.types.InlineQueries.ChosenInlineResult.ChosenInlineResult
@@ -308,6 +309,7 @@ import dev.inmo.tgbotapi.types.message.abstracts.BusinessContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChannelContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChannelDirectMessagesContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChannelDirectMessagesEventMessage
import dev.inmo.tgbotapi.types.message.abstracts.ChannelPaidPost
import dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage
import dev.inmo.tgbotapi.types.message.abstracts.CommonChannelDirectMessagesContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.CommonForumContentMessage
@@ -768,6 +770,12 @@ public inline fun OptionallyWithUser.channelDirectMessagesEventMessageOrThrow():
public inline fun <T> OptionallyWithUser.ifChannelDirectMessagesEventMessage(block: (ChannelDirectMessagesEventMessage<ChannelDirectMessagesEvent>) -> T): T? = channelDirectMessagesEventMessageOrNull() ?.let(block)
public inline fun OptionallyWithUser.channelPaidPostOrNull(): ChannelPaidPost<MessageContent>? = this as? dev.inmo.tgbotapi.types.message.abstracts.ChannelPaidPost<dev.inmo.tgbotapi.types.message.content.MessageContent>
public inline fun OptionallyWithUser.channelPaidPostOrThrow(): ChannelPaidPost<MessageContent> = this as dev.inmo.tgbotapi.types.message.abstracts.ChannelPaidPost<dev.inmo.tgbotapi.types.message.content.MessageContent>
public inline fun <T> OptionallyWithUser.ifChannelPaidPost(block: (ChannelPaidPost<MessageContent>) -> 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 <T> 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 <T> 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 <T> 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 <T> ChatEvent.ifChannelDirectMessagesConfigurationChanged(block: (DirectMessagesConfigurationChanged) -> T): T? = channelDirectMessagesConfigurationChangedOrNull() ?.let(block)
public inline fun <T> 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 <T> ChatEvent.ifChannelDirectMessagesConfigurationChangedDisabled(block: (DirectMessagesConfigurationChanged.Disabled) -> T): T? = channelDirectMessagesConfigurationChangedDisabledOrNull() ?.let(block)
public inline fun <T> 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 <T> ChatEvent.ifChannelDirectMessagesConfigurationChangedFree(block: (DirectMessagesConfigurationChanged.Free) -> T): T? = channelDirectMessagesConfigurationChangedFreeOrNull() ?.let(block)
public inline fun <T> 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 <T> ChatEvent.ifChannelDirectMessagesConfigurationChangedPaid(block: (DirectMessagesConfigurationChanged.Paid) -> T): T? = channelDirectMessagesConfigurationChangedPaidOrNull() ?.let(block)
public inline fun <T> 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 <T> Message.ifChannelDirectMessagesEventMessage(block: (ChannelDirectMessagesEventMessage<ChannelDirectMessagesEvent>) -> T): T? = channelDirectMessagesEventMessageOrNull() ?.let(block)
public inline fun Message.channelPaidPostOrNull(): ChannelPaidPost<MessageContent>? = this as? dev.inmo.tgbotapi.types.message.abstracts.ChannelPaidPost<dev.inmo.tgbotapi.types.message.content.MessageContent>
public inline fun Message.channelPaidPostOrThrow(): ChannelPaidPost<MessageContent> = this as dev.inmo.tgbotapi.types.message.abstracts.ChannelPaidPost<dev.inmo.tgbotapi.types.message.content.MessageContent>
public inline fun <T> Message.ifChannelPaidPost(block: (ChannelPaidPost<MessageContent>) -> T): T? = channelPaidPostOrNull() ?.let(block)
public inline fun Message.chatEventMessageOrNull(): ChatEventMessage<ChatEvent>? = this as? dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage<dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChatEvent>
public inline fun Message.chatEventMessageOrThrow(): ChatEventMessage<ChatEvent> = this as dev.inmo.tgbotapi.types.message.abstracts.ChatEventMessage<dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChatEvent>