mirror of
https://github.com/InsanusMokrassar/TelegramBotApiLibraries.git
synced 2025-11-10 00:50:05 +00:00
improvements in MessagesResender
This commit is contained in:
@@ -3,8 +3,10 @@ package dev.inmo.tgbotapi.libraries.resender
|
||||
import dev.inmo.tgbotapi.types.FullChatIdentifierSerializer
|
||||
import dev.inmo.tgbotapi.types.IdChatIdentifier
|
||||
import dev.inmo.tgbotapi.types.MessageId
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyMediaGroupMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.MediaGroupContent
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
@@ -13,7 +15,20 @@ data class MessageMetaInfo(
|
||||
val chatId: IdChatIdentifier,
|
||||
val messageId: MessageId,
|
||||
val group: String? = null
|
||||
)
|
||||
) {
|
||||
val metaInfo: Message.MetaInfo
|
||||
get() = Message.MetaInfo(chatId, messageId)
|
||||
}
|
||||
|
||||
fun Message.asMessageMetaInfos(): List<MessageMetaInfo> {
|
||||
return if (this is ContentMessage<*>) {
|
||||
(content as? MediaGroupContent<*>) ?.group ?.map {
|
||||
MessageMetaInfo(it.sourceMessage.chat.id, it.sourceMessage.messageId, it.sourceMessage.mediaGroupId)
|
||||
}
|
||||
} else {
|
||||
null
|
||||
} ?: listOf(MessageMetaInfo(chat.id, messageId, (this as? PossiblyMediaGroupMessage<*>) ?.mediaGroupId))
|
||||
}
|
||||
|
||||
operator fun MessageMetaInfo.Companion.invoke(
|
||||
message: Message
|
||||
|
||||
Reference in New Issue
Block a user