1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-29 04:47:48 +00:00

complete effects in core part

This commit is contained in:
InsanusMokrassar 2024-05-30 22:13:18 +06:00
parent 7a5c9c7ef8
commit 8de41bdd99
26 changed files with 237 additions and 147 deletions

View File

@ -1430,7 +1430,7 @@ suspend fun TelegramBot.reply(
replyInThreadId, replyInThreadId,
replyInBusinessConnectionId, replyInBusinessConnectionId,
disableNotification, disableNotification,
protectContent, protectContent,,
ReplyParameters(to, allowSendingWithoutReply = allowSendingWithoutReply == true), ReplyParameters(to, allowSendingWithoutReply = allowSendingWithoutReply == true),
replyMarkup replyMarkup
) )

View File

@ -1499,7 +1499,7 @@ suspend fun TelegramBot.reply(
replyInThreadId, replyInThreadId,
replyInBusinessConnectionId, replyInBusinessConnectionId,
disableNotification, disableNotification,
protectContent, protectContent,,
ReplyParameters(toChatId, toMessageId, allowSendingWithoutReply = allowSendingWithoutReply), ReplyParameters(toChatId, toMessageId, allowSendingWithoutReply = allowSendingWithoutReply),
replyMarkup replyMarkup
) )

View File

@ -23,7 +23,7 @@ suspend inline fun <T : MessageContent> TelegramBot.resend(
chatId = chatId, chatId = chatId,
messageThreadId = messageThreadId, messageThreadId = messageThreadId,
disableNotification = disableNotification, disableNotification = disableNotification,
protectContent = protectContent, protectContent = protectContent,,
replyParameters = replyParameters, replyParameters = replyParameters,
replyMarkup = replyMarkup replyMarkup = replyMarkup
) )

View File

@ -105,6 +105,7 @@ fun Poll.createRequest(
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false, disableNotification: Boolean = false,
protectContent: Boolean = false, protectContent: Boolean = false,
effectId: EffectId? = null,
replyParameters: ReplyParameters? = null, replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null replyMarkup: KeyboardMarkup? = null
) = when (this) { ) = when (this) {
@ -120,6 +121,7 @@ fun Poll.createRequest(
businessConnectionId, businessConnectionId,
disableNotification, disableNotification,
protectContent, protectContent,
effectId = effectId,
replyParameters, replyParameters,
replyMarkup replyMarkup
) )
@ -137,6 +139,7 @@ fun Poll.createRequest(
businessConnectionId, businessConnectionId,
disableNotification, disableNotification,
protectContent, protectContent,
effectId = effectId,
replyParameters, replyParameters,
replyMarkup replyMarkup
) )
@ -152,6 +155,7 @@ fun Poll.createRequest(
businessConnectionId, businessConnectionId,
disableNotification, disableNotification,
protectContent, protectContent,
effectId = effectId,
replyParameters, replyParameters,
replyMarkup replyMarkup
) )
@ -167,6 +171,7 @@ fun Poll.createRequest(
businessConnectionId, businessConnectionId,
disableNotification, disableNotification,
protectContent, protectContent,
effectId = effectId,
replyParameters, replyParameters,
replyMarkup replyMarkup
) )

View File

@ -153,6 +153,7 @@ sealed interface ResendableContent {
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false, disableNotification: Boolean = false,
protectContent: Boolean = false, protectContent: Boolean = false,
effectId: EffectId?,
replyParameters: ReplyParameters? = null, replyParameters: ReplyParameters? = null,
replyMarkup: KeyboardMarkup? = null replyMarkup: KeyboardMarkup? = null
): Request<out AccessibleMessage> ): Request<out AccessibleMessage>
@ -163,6 +164,7 @@ sealed interface ResendableContent {
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
disableNotification: Boolean = false, disableNotification: Boolean = false,
protectContent: Boolean = false, protectContent: Boolean = false,
effectId: EffectId?,
replyToMessageId: MessageId?, replyToMessageId: MessageId?,
allowSendingWithoutReply: Boolean? = null, allowSendingWithoutReply: Boolean? = null,
replyMarkup: KeyboardMarkup? = null replyMarkup: KeyboardMarkup? = null
@ -172,6 +174,7 @@ sealed interface ResendableContent {
businessConnectionId = businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification = disableNotification, disableNotification = disableNotification,
protectContent = protectContent, protectContent = protectContent,
effectId = effectId,
replyParameters = replyToMessageId ?.let { replyParameters = replyToMessageId ?.let {
ReplyParameters( ReplyParameters(
chatId, chatId,

View File

@ -28,6 +28,7 @@ data class AnimationContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<AnimationContent>> = SendAnimation( ): Request<ContentMessage<AnimationContent>> = SendAnimation(
@ -44,6 +45,7 @@ data class AnimationContent(
businessConnectionId = businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification = disableNotification, disableNotification = disableNotification,
protectContent = protectContent, protectContent = protectContent,
effectId = effectId,
replyParameters = replyParameters, replyParameters = replyParameters,
replyMarkup = replyMarkup replyMarkup = replyMarkup
) )

View File

@ -25,22 +25,24 @@ data class AudioContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<AudioContent>> = SendAudio( ): Request<ContentMessage<AudioContent>> = SendAudio(
chatId, chatId = chatId,
media.fileId, audio = media.fileId,
media.thumbnail ?.fileId, thumbnail = media.thumbnail ?.fileId,
textSources, entities = textSources,
media.duration, duration = media.duration,
media.performer, performer = media.performer,
media.title, title = media.title,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyMarkup replyParameters = replyParameters,
replyMarkup = replyMarkup
) )
override fun toMediaGroupMemberTelegramMedia(): TelegramMediaAudio = asTelegramMedia() override fun toMediaGroupMemberTelegramMedia(): TelegramMediaAudio = asTelegramMedia()

View File

@ -18,9 +18,18 @@ data class ContactContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<ContactContent>> = SendContact( ): Request<ContentMessage<ContactContent>> = SendContact(
chatId, contact, messageThreadId, businessConnectionId, disableNotification, protectContent, replyParameters, replyMarkup chatId = chatId,
contact = contact,
threadId = messageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
effectId = effectId,
replyParameters = replyParameters,
replyMarkup = replyMarkup
) )
} }

View File

@ -2,10 +2,7 @@ package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.requests.send.SendDice import dev.inmo.tgbotapi.requests.send.SendDice
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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.Dice import dev.inmo.tgbotapi.types.dice.Dice
@ -22,16 +19,18 @@ data class DiceContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<DiceContent>> = SendDice( ): Request<ContentMessage<DiceContent>> = SendDice(
chatId, chatId = chatId,
dice.animationType, animationType = dice.animationType,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyMarkup replyParameters = replyParameters,
replyMarkup = replyMarkup
) )
} }

View File

@ -28,19 +28,21 @@ data class DocumentContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<DocumentContent>> = SendDocument( ): Request<ContentMessage<DocumentContent>> = SendDocument(
chatId, chatId = chatId,
media.fileId, document = media.fileId,
media.thumbnail ?.fileId, thumbnail = media.thumbnail ?.fileId,
textSources, entities = textSources,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyMarkup replyParameters = replyParameters,
replyMarkup = replyMarkup
) )
override fun toMediaGroupMemberTelegramMedia(): TelegramMediaDocument = asTelegramMedia() override fun toMediaGroupMemberTelegramMedia(): TelegramMediaDocument = asTelegramMedia()

View File

@ -2,10 +2,7 @@ package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.requests.send.games.SendGame import dev.inmo.tgbotapi.requests.send.games.SendGame
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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.games.Game import dev.inmo.tgbotapi.types.games.Game
@ -22,16 +19,18 @@ data class GameContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<GameContent>> = SendGame( ): Request<ContentMessage<GameContent>> = SendGame(
chatId, chatId = chatId,
game.title, gameShortName = game.title,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyMarkup replyParameters = replyParameters,
replyMarkup = replyMarkup
) )
} }

View File

@ -22,6 +22,7 @@ data class GiveawayContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<out AccessibleMessage> { ): Request<out AccessibleMessage> {

View File

@ -19,6 +19,7 @@ data class GiveawayPublicResultsContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<out AccessibleMessage> { ): Request<out AccessibleMessage> {

View File

@ -1,10 +1,7 @@
package dev.inmo.tgbotapi.types.message.content package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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
@ -21,6 +18,7 @@ data class InvoiceContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<InvoiceContent>> { ): Request<ContentMessage<InvoiceContent>> {

View File

@ -4,10 +4,7 @@ import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.requests.send.SendLiveLocation import dev.inmo.tgbotapi.requests.send.SendLiveLocation
import dev.inmo.tgbotapi.requests.send.SendStaticLocation import dev.inmo.tgbotapi.requests.send.SendStaticLocation
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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.location.* import dev.inmo.tgbotapi.types.location.*
@ -104,22 +101,24 @@ data class LiveLocationContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<LiveLocationContent>> = SendLiveLocation( ): Request<ContentMessage<LiveLocationContent>> = SendLiveLocation(
chatId, chatId = chatId,
location.latitude, latitude = location.latitude,
location.longitude, longitude = location.longitude,
location.livePeriod, livePeriod = location.livePeriod,
location.horizontalAccuracy, horizontalAccuracy = location.horizontalAccuracy,
location.heading, heading = location.heading,
location.proximityAlertRadius, proximityAlertRadius = location.proximityAlertRadius,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyMarkup replyParameters = replyParameters,
replyMarkup = replyMarkup
) as SendMessageRequest<ContentMessage<LiveLocationContent>> ) as SendMessageRequest<ContentMessage<LiveLocationContent>>
} }
@ -137,17 +136,19 @@ data class StaticLocationContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<StaticLocationContent>> = SendStaticLocation( ): Request<ContentMessage<StaticLocationContent>> = SendStaticLocation(
chatId, chatId = chatId,
location.latitude, latitude = location.latitude,
location.longitude, longitude = location.longitude,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyMarkup replyParameters = replyParameters,
replyMarkup = replyMarkup
) as SendMessageRequest<ContentMessage<StaticLocationContent>> ) as SendMessageRequest<ContentMessage<StaticLocationContent>>
} }

View File

@ -37,15 +37,17 @@ data class MediaGroupContent<T : MediaGroupPartContent>(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<MediaGroupContent<MediaGroupPartContent>>> = SendMediaGroup<MediaGroupPartContent>( ): Request<ContentMessage<MediaGroupContent<MediaGroupPartContent>>> = SendMediaGroup<MediaGroupPartContent>(
chatId, chatId = chatId,
group.map { it.content.toMediaGroupMemberTelegramMedia() }, media = group.map { it.content.toMediaGroupMemberTelegramMedia() },
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyParameters = replyParameters,
) )
} }

View File

@ -30,6 +30,7 @@ data class PhotoContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<PhotoContent>> = SendPhoto( ): Request<ContentMessage<PhotoContent>> = SendPhoto(
@ -42,6 +43,7 @@ data class PhotoContent(
businessConnectionId = businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification = disableNotification, disableNotification = disableNotification,
protectContent = protectContent, protectContent = protectContent,
effectId = effectId,
replyParameters = replyParameters, replyParameters = replyParameters,
replyMarkup = replyMarkup replyMarkup = replyMarkup
) )

View File

@ -2,10 +2,7 @@ package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.requests.send.polls.createRequest import dev.inmo.tgbotapi.requests.send.polls.createRequest
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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
@ -22,15 +19,17 @@ data class PollContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<PollContent>> = poll.createRequest( ): Request<ContentMessage<PollContent>> = poll.createRequest(
chatId, chatId = chatId,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyMarkup replyParameters = replyParameters,
replyMarkup = replyMarkup
) )
} }

View File

@ -2,11 +2,8 @@ package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.requests.send.media.SendSticker import dev.inmo.tgbotapi.requests.send.media.SendSticker
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.media.TelegramMediaDocument import dev.inmo.tgbotapi.types.media.TelegramMediaDocument
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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.files.Sticker import dev.inmo.tgbotapi.types.files.Sticker
@ -23,18 +20,19 @@ data class StickerContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<StickerContent>> = SendSticker( ): Request<ContentMessage<StickerContent>> = SendSticker(
chatId, chatId = chatId,
media.fileId, sticker = media.fileId,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
media.emoji, disableNotification = disableNotification,
disableNotification, protectContent = protectContent,
protectContent, effectId = effectId,
replyParameters, replyParameters = replyParameters,
replyMarkup replyMarkup = replyMarkup
) )
override fun asTelegramMedia(): TelegramMediaDocument = TelegramMediaDocument( override fun asTelegramMedia(): TelegramMediaDocument = TelegramMediaDocument(

View File

@ -2,10 +2,7 @@ package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.requests.ForwardMessage import dev.inmo.tgbotapi.requests.ForwardMessage
import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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.chat.Chat import dev.inmo.tgbotapi.types.chat.Chat
@ -25,6 +22,7 @@ data class StoryContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<PossiblyForwardedMessage> { ): Request<PossiblyForwardedMessage> {

View File

@ -1,6 +1,5 @@
package dev.inmo.tgbotapi.types.message.content package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.abstracts.TextedInput
import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.requests.send.SendTextMessage import dev.inmo.tgbotapi.requests.send.SendTextMessage
import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.*
@ -24,17 +23,19 @@ data class TextContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<TextContent>> = SendTextMessage( ): Request<ContentMessage<TextContent>> = SendTextMessage(
chatId, chatId = chatId,
textSources, entities = textSources,
linkPreviewOptions, linkPreviewOptions = linkPreviewOptions,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyMarkup replyParameters = replyParameters,
replyMarkup = replyMarkup
) )
} }

View File

@ -2,10 +2,7 @@ package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.requests.send.SendVenue import dev.inmo.tgbotapi.requests.send.SendVenue
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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
@ -22,9 +19,18 @@ data class VenueContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<VenueContent>> = SendVenue( ): Request<ContentMessage<VenueContent>> = SendVenue(
chatId, venue, messageThreadId, businessConnectionId, disableNotification, protectContent, replyParameters, replyMarkup chatId = chatId,
venue = venue,
threadId = messageThreadId,
businessConnectionId = businessConnectionId,
disableNotification = disableNotification,
protectContent = protectContent,
effectId = effectId,
replyParameters = replyParameters,
replyMarkup = replyMarkup
) )
} }

View File

@ -27,6 +27,7 @@ data class VideoContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<VideoContent>> = SendVideo( ): Request<ContentMessage<VideoContent>> = SendVideo(
@ -44,6 +45,7 @@ data class VideoContent(
businessConnectionId = businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification = disableNotification, disableNotification = disableNotification,
protectContent = protectContent, protectContent = protectContent,
effectId = effectId,
replyParameters = replyParameters, replyParameters = replyParameters,
replyMarkup = replyMarkup replyMarkup = replyMarkup
) )

View File

@ -2,11 +2,8 @@ package dev.inmo.tgbotapi.types.message.content
import dev.inmo.tgbotapi.requests.abstracts.Request import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.requests.send.media.SendVideoNote import dev.inmo.tgbotapi.requests.send.media.SendVideoNote
import dev.inmo.tgbotapi.types.ChatIdentifier import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.media.TelegramMediaVideo import dev.inmo.tgbotapi.types.media.TelegramMediaVideo
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.MessageThreadId
import dev.inmo.tgbotapi.types.ReplyParameters
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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.files.VideoNoteFile import dev.inmo.tgbotapi.types.files.VideoNoteFile
@ -23,20 +20,22 @@ data class VideoNoteContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<VideoNoteContent>> = SendVideoNote( ): Request<ContentMessage<VideoNoteContent>> = SendVideoNote(
chatId, chatId = chatId,
media.fileId, videoNote = media.fileId,
media.thumbnail ?.fileId, thumbnail = media.thumbnail ?.fileId,
media.duration, duration = media.duration,
media.width, size = media.width,
messageThreadId, threadId = messageThreadId,
businessConnectionId, businessConnectionId = businessConnectionId,
disableNotification, disableNotification = disableNotification,
protectContent, protectContent = protectContent,
replyParameters, effectId = effectId,
replyMarkup replyParameters = replyParameters,
replyMarkup = replyMarkup
) )
override fun asTelegramMedia(): TelegramMediaVideo = TelegramMediaVideo( override fun asTelegramMedia(): TelegramMediaVideo = TelegramMediaVideo(

View File

@ -5,7 +5,6 @@ import dev.inmo.tgbotapi.requests.send.media.SendVoice
import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.media.TelegramMediaAudio import dev.inmo.tgbotapi.types.media.TelegramMediaAudio
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
import dev.inmo.tgbotapi.types.abstracts.WithOptionalQuoteInfo
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId 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.files.VoiceFile import dev.inmo.tgbotapi.types.files.VoiceFile
@ -25,6 +24,7 @@ data class VoiceContent(
businessConnectionId: BusinessConnectionId?, businessConnectionId: BusinessConnectionId?,
disableNotification: Boolean, disableNotification: Boolean,
protectContent: Boolean, protectContent: Boolean,
effectId: EffectId?,
replyParameters: ReplyParameters?, replyParameters: ReplyParameters?,
replyMarkup: KeyboardMarkup? replyMarkup: KeyboardMarkup?
): Request<ContentMessage<VoiceContent>> = SendVoice( ): Request<ContentMessage<VoiceContent>> = SendVoice(
@ -36,6 +36,7 @@ data class VoiceContent(
duration = media.duration, duration = media.duration,
disableNotification = disableNotification, disableNotification = disableNotification,
protectContent = protectContent, protectContent = protectContent,
effectId = effectId,
replyParameters = replyParameters, replyParameters = replyParameters,
replyMarkup = replyMarkup replyMarkup = replyMarkup
) )

View File

@ -46,6 +46,7 @@ import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.Thumbed
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbedWithMimeTypeInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.ThumbedWithMimeTypeInlineQueryResult
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.TitledInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.TitledInlineQueryResult
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.UrlInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.UrlInlineQueryResult
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithCustomizableCaptionInlineQueryResult
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithInputMessageContentInlineQueryResult import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithInputMessageContentInlineQueryResult
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudio import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudio
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudioCached import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.results.audio.InlineQueryResultAudioCached
@ -228,6 +229,7 @@ import dev.inmo.tgbotapi.types.media.TelegramMediaVideo
import dev.inmo.tgbotapi.types.media.ThumbedTelegramMedia import dev.inmo.tgbotapi.types.media.ThumbedTelegramMedia
import dev.inmo.tgbotapi.types.media.TitledTelegramMedia import dev.inmo.tgbotapi.types.media.TitledTelegramMedia
import dev.inmo.tgbotapi.types.media.VisualMediaGroupMemberTelegramMedia import dev.inmo.tgbotapi.types.media.VisualMediaGroupMemberTelegramMedia
import dev.inmo.tgbotapi.types.media.WithCustomizableCaptionTelegramMedia
import dev.inmo.tgbotapi.types.message.ChannelEventMessage import dev.inmo.tgbotapi.types.message.ChannelEventMessage
import dev.inmo.tgbotapi.types.message.ChatEvents.ChannelChatCreated import dev.inmo.tgbotapi.types.message.ChatEvents.ChannelChatCreated
import dev.inmo.tgbotapi.types.message.ChatEvents.ChatBoostAdded import dev.inmo.tgbotapi.types.message.ChatEvents.ChatBoostAdded
@ -295,6 +297,7 @@ import dev.inmo.tgbotapi.types.message.abstracts.PossiblyOfflineMessage
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyPaymentMessage import dev.inmo.tgbotapi.types.message.abstracts.PossiblyPaymentMessage
import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage import dev.inmo.tgbotapi.types.message.abstracts.PossiblySentViaBotCommonMessage
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyTopicMessage import dev.inmo.tgbotapi.types.message.abstracts.PossiblyTopicMessage
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyWithEffectMessage
import dev.inmo.tgbotapi.types.message.abstracts.PotentiallyFromUserGroupContentMessage import dev.inmo.tgbotapi.types.message.abstracts.PotentiallyFromUserGroupContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage import dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.PublicContentMessage import dev.inmo.tgbotapi.types.message.abstracts.PublicContentMessage
@ -336,6 +339,7 @@ import dev.inmo.tgbotapi.types.message.content.VideoContent
import dev.inmo.tgbotapi.types.message.content.VideoNoteContent import dev.inmo.tgbotapi.types.message.content.VideoNoteContent
import dev.inmo.tgbotapi.types.message.content.VisualMediaGroupPartContent import dev.inmo.tgbotapi.types.message.content.VisualMediaGroupPartContent
import dev.inmo.tgbotapi.types.message.content.VoiceContent import dev.inmo.tgbotapi.types.message.content.VoiceContent
import dev.inmo.tgbotapi.types.message.content.WithCustomizedCaptionMediaContent
import dev.inmo.tgbotapi.types.message.payments.SuccessfulPaymentEvent import dev.inmo.tgbotapi.types.message.payments.SuccessfulPaymentEvent
import dev.inmo.tgbotapi.types.message.textsources.BlockquoteTextSource import dev.inmo.tgbotapi.types.message.textsources.BlockquoteTextSource
import dev.inmo.tgbotapi.types.message.textsources.BoldTextSource import dev.inmo.tgbotapi.types.message.textsources.BoldTextSource
@ -344,6 +348,7 @@ import dev.inmo.tgbotapi.types.message.textsources.CashTagTextSource
import dev.inmo.tgbotapi.types.message.textsources.CodeTextSource import dev.inmo.tgbotapi.types.message.textsources.CodeTextSource
import dev.inmo.tgbotapi.types.message.textsources.CustomEmojiTextSource import dev.inmo.tgbotapi.types.message.textsources.CustomEmojiTextSource
import dev.inmo.tgbotapi.types.message.textsources.EMailTextSource import dev.inmo.tgbotapi.types.message.textsources.EMailTextSource
import dev.inmo.tgbotapi.types.message.textsources.ExpandableBlockquoteTextSource
import dev.inmo.tgbotapi.types.message.textsources.HashTagTextSource import dev.inmo.tgbotapi.types.message.textsources.HashTagTextSource
import dev.inmo.tgbotapi.types.message.textsources.ItalicTextSource import dev.inmo.tgbotapi.types.message.textsources.ItalicTextSource
import dev.inmo.tgbotapi.types.message.textsources.MentionTextSource import dev.inmo.tgbotapi.types.message.textsources.MentionTextSource
@ -1413,6 +1418,18 @@ public inline fun InlineQueryResult.urlInlineQueryResultOrThrow(): UrlInlineQuer
public inline fun <T> InlineQueryResult.ifUrlInlineQueryResult(block: (UrlInlineQueryResult) -> T): public inline fun <T> InlineQueryResult.ifUrlInlineQueryResult(block: (UrlInlineQueryResult) -> T):
T? = urlInlineQueryResultOrNull() ?.let(block) T? = urlInlineQueryResultOrNull() ?.let(block)
public inline fun InlineQueryResult.withCustomizableCaptionInlineQueryResultOrNull():
WithCustomizableCaptionInlineQueryResult? = this as?
dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithCustomizableCaptionInlineQueryResult
public inline fun InlineQueryResult.withCustomizableCaptionInlineQueryResultOrThrow():
WithCustomizableCaptionInlineQueryResult = this as
dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithCustomizableCaptionInlineQueryResult
public inline fun <T>
InlineQueryResult.ifWithCustomizableCaptionInlineQueryResult(block: (WithCustomizableCaptionInlineQueryResult) -> T):
T? = withCustomizableCaptionInlineQueryResultOrNull() ?.let(block)
public inline fun InlineQueryResult.withInputMessageContentInlineQueryResultOrNull(): public inline fun InlineQueryResult.withInputMessageContentInlineQueryResultOrNull():
WithInputMessageContentInlineQueryResult? = this as? WithInputMessageContentInlineQueryResult? = this as?
dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithInputMessageContentInlineQueryResult dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.WithInputMessageContentInlineQueryResult
@ -3064,6 +3081,18 @@ public inline fun TelegramMedia.titledTelegramMediaOrThrow(): TitledTelegramMedi
public inline fun <T> TelegramMedia.ifTitledTelegramMedia(block: (TitledTelegramMedia) -> T): T? = public inline fun <T> TelegramMedia.ifTitledTelegramMedia(block: (TitledTelegramMedia) -> T): T? =
titledTelegramMediaOrNull() ?.let(block) titledTelegramMediaOrNull() ?.let(block)
public inline fun TelegramMedia.withCustomizableCaptionTelegramMediaOrNull():
WithCustomizableCaptionTelegramMedia? = this as?
dev.inmo.tgbotapi.types.media.WithCustomizableCaptionTelegramMedia
public inline fun TelegramMedia.withCustomizableCaptionTelegramMediaOrThrow():
WithCustomizableCaptionTelegramMedia = this as
dev.inmo.tgbotapi.types.media.WithCustomizableCaptionTelegramMedia
public inline fun <T>
TelegramMedia.ifWithCustomizableCaptionTelegramMedia(block: (WithCustomizableCaptionTelegramMedia) -> T):
T? = withCustomizableCaptionTelegramMediaOrNull() ?.let(block)
public inline fun ChatEvent.chatBackgroundOrNull(): ChatBackground? = this as? public inline fun ChatEvent.chatBackgroundOrNull(): ChatBackground? = this as?
dev.inmo.tgbotapi.types.chat.ChatBackground dev.inmo.tgbotapi.types.chat.ChatBackground
@ -3842,6 +3871,15 @@ public inline fun Message.possiblyTopicMessageOrThrow(): PossiblyTopicMessage =
public inline fun <T> Message.ifPossiblyTopicMessage(block: (PossiblyTopicMessage) -> T): T? = public inline fun <T> Message.ifPossiblyTopicMessage(block: (PossiblyTopicMessage) -> T): T? =
possiblyTopicMessageOrNull() ?.let(block) possiblyTopicMessageOrNull() ?.let(block)
public inline fun Message.possiblyWithEffectMessageOrNull(): PossiblyWithEffectMessage? = this as?
dev.inmo.tgbotapi.types.message.abstracts.PossiblyWithEffectMessage
public inline fun Message.possiblyWithEffectMessageOrThrow(): PossiblyWithEffectMessage = this as
dev.inmo.tgbotapi.types.message.abstracts.PossiblyWithEffectMessage
public inline fun <T> Message.ifPossiblyWithEffectMessage(block: (PossiblyWithEffectMessage) -> T):
T? = possiblyWithEffectMessageOrNull() ?.let(block)
public inline fun Message.privateContentMessageOrNull(): PrivateContentMessage<MessageContent>? = public inline fun Message.privateContentMessageOrNull(): PrivateContentMessage<MessageContent>? =
this as? this as?
dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage<dev.inmo.tgbotapi.types.message.content.MessageContent> dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage<dev.inmo.tgbotapi.types.message.content.MessageContent>
@ -3936,6 +3974,18 @@ public inline fun <T>
ResendableContent.ifSpoilerableMediaContent(block: (SpoilerableMediaContent) -> T): T? = ResendableContent.ifSpoilerableMediaContent(block: (SpoilerableMediaContent) -> T): T? =
spoilerableMediaContentOrNull() ?.let(block) spoilerableMediaContentOrNull() ?.let(block)
public inline fun ResendableContent.withCustomizedCaptionMediaContentOrNull():
WithCustomizedCaptionMediaContent? = this as?
dev.inmo.tgbotapi.types.message.content.WithCustomizedCaptionMediaContent
public inline fun ResendableContent.withCustomizedCaptionMediaContentOrThrow():
WithCustomizedCaptionMediaContent = this as
dev.inmo.tgbotapi.types.message.content.WithCustomizedCaptionMediaContent
public inline fun <T>
ResendableContent.ifWithCustomizedCaptionMediaContent(block: (WithCustomizedCaptionMediaContent) -> T):
T? = withCustomizedCaptionMediaContentOrNull() ?.let(block)
public inline fun ResendableContent.audioMediaGroupPartContentOrNull(): AudioMediaGroupPartContent? public inline fun ResendableContent.audioMediaGroupPartContentOrNull(): AudioMediaGroupPartContent?
= this as? dev.inmo.tgbotapi.types.message.content.AudioMediaGroupPartContent = this as? dev.inmo.tgbotapi.types.message.content.AudioMediaGroupPartContent
@ -4269,6 +4319,16 @@ public inline fun TextSource.eMailTextSourceOrThrow(): EMailTextSource = this as
public inline fun <T> TextSource.ifEMailTextSource(block: (EMailTextSource) -> T): T? = public inline fun <T> TextSource.ifEMailTextSource(block: (EMailTextSource) -> T): T? =
eMailTextSourceOrNull() ?.let(block) eMailTextSourceOrNull() ?.let(block)
public inline fun TextSource.expandableBlockquoteTextSourceOrNull(): ExpandableBlockquoteTextSource?
= this as? dev.inmo.tgbotapi.types.message.textsources.ExpandableBlockquoteTextSource
public inline fun TextSource.expandableBlockquoteTextSourceOrThrow(): ExpandableBlockquoteTextSource
= this as dev.inmo.tgbotapi.types.message.textsources.ExpandableBlockquoteTextSource
public inline fun <T>
TextSource.ifExpandableBlockquoteTextSource(block: (ExpandableBlockquoteTextSource) -> T): T? =
expandableBlockquoteTextSourceOrNull() ?.let(block)
public inline fun TextSource.hashTagTextSourceOrNull(): HashTagTextSource? = this as? public inline fun TextSource.hashTagTextSourceOrNull(): HashTagTextSource? = this as?
dev.inmo.tgbotapi.types.message.textsources.HashTagTextSource dev.inmo.tgbotapi.types.message.textsources.HashTagTextSource