mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-09-16 13:49:26 +00:00
fixes in inaccessible message support
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package dev.inmo.tgbotapi.requests
|
||||
|
||||
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.update.abstracts.Update
|
||||
import dev.inmo.tgbotapi.types.update.abstracts.UpdateSerializerWithoutSerialization
|
||||
@@ -15,7 +14,7 @@ private val updatesListSerializer = ListSerializer(
|
||||
* Request updates from Telegram Bot API system. It is important, that the result updates WILL NOT include
|
||||
* [dev.inmo.tgbotapi.types.update.MediaGroupUpdates.MediaGroupUpdate] objects due to the fact,
|
||||
* that it is internal abstraction and in fact any [dev.inmo.tgbotapi.types.message.abstracts.MediaGroupMessage]
|
||||
* is just a common [dev.inmo.tgbotapi.types.message.abstracts.Message]
|
||||
* is just a common [dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage]
|
||||
*
|
||||
* @see dev.inmo.tgbotapi.extensions.utils.updates.retrieving.updateHandlerWithMediaGroupsAdaptation
|
||||
* @see dev.inmo.tgbotapi.utils.convertWithMediaGroupUpdates
|
||||
|
@@ -2,10 +2,10 @@ package dev.inmo.tgbotapi.types.chat
|
||||
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.colors.ColorId
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializeOnlySerializer
|
||||
import dev.inmo.tgbotapi.types.reactions.Reaction
|
||||
import korlibs.time.DateTime
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable(ExtendedChatSerializer.Companion::class)
|
||||
|
@@ -1,9 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.giveaway
|
||||
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChannelEvent
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChatEvent
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.Transient
|
||||
|
||||
@@ -12,5 +10,5 @@ data class GiveawayPrivateResults(
|
||||
override val chat: PreviewChat,
|
||||
override val unclaimedCount: Int,
|
||||
@Transient // TODO::Add message serializer
|
||||
val message: Message? = null
|
||||
val message: AccessibleMessage? = null
|
||||
) : GiveawayResults
|
||||
|
@@ -3,7 +3,6 @@ package dev.inmo.tgbotapi.types.message
|
||||
import korlibs.time.DateTime
|
||||
import dev.inmo.tgbotapi.types.*
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.ChannelChat
|
||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChannelChat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.*
|
||||
@@ -17,7 +16,7 @@ data class ChannelContentMessageImpl<T: MessageContent>(
|
||||
override val editDate: DateTime?,
|
||||
override val hasProtectedContent: Boolean,
|
||||
override val forwardInfo: ForwardInfo?,
|
||||
override val replyTo: Message?,
|
||||
override val replyTo: AccessibleMessage?,
|
||||
override val replyMarkup: InlineKeyboardMarkup?,
|
||||
override val senderBot: CommonBot?,
|
||||
override val authorSignature: AuthorSignature?,
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.message.ChatEvents
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.CommonEvent
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
|
||||
data class PinnedMessage(
|
||||
|
@@ -17,7 +17,7 @@ data class ConnectedFromChannelGroupContentMessageImpl<T : MessageContent>(
|
||||
override val forwardInfo: ForwardInfo?,
|
||||
override val editDate: DateTime?,
|
||||
override val hasProtectedContent: Boolean,
|
||||
override val replyTo: Message?,
|
||||
override val replyTo: AccessibleMessage?,
|
||||
override val replyMarkup: InlineKeyboardMarkup?,
|
||||
override val content: T,
|
||||
override val senderBot: CommonBot?,
|
||||
@@ -33,7 +33,7 @@ data class UnconnectedFromChannelGroupContentMessageImpl<T: MessageContent>(
|
||||
override val forwardInfo: ForwardInfo?,
|
||||
override val editDate: DateTime?,
|
||||
override val hasProtectedContent: Boolean,
|
||||
override val replyTo: Message?,
|
||||
override val replyTo: AccessibleMessage?,
|
||||
override val replyMarkup: InlineKeyboardMarkup?,
|
||||
override val content: T,
|
||||
override val senderBot: CommonBot?,
|
||||
@@ -48,7 +48,7 @@ data class AnonymousGroupContentMessageImpl<T : MessageContent>(
|
||||
override val forwardInfo: ForwardInfo?,
|
||||
override val editDate: DateTime?,
|
||||
override val hasProtectedContent: Boolean,
|
||||
override val replyTo: Message?,
|
||||
override val replyTo: AccessibleMessage?,
|
||||
override val replyMarkup: InlineKeyboardMarkup?,
|
||||
override val content: T,
|
||||
override val senderBot: CommonBot?,
|
||||
@@ -64,7 +64,7 @@ data class CommonGroupContentMessageImpl<T : MessageContent>(
|
||||
override val forwardInfo: ForwardInfo?,
|
||||
override val editDate: DateTime?,
|
||||
override val hasProtectedContent: Boolean,
|
||||
override val replyTo: Message?,
|
||||
override val replyTo: AccessibleMessage?,
|
||||
override val replyMarkup: InlineKeyboardMarkup?,
|
||||
override val content: T,
|
||||
override val senderBot: CommonBot?,
|
||||
@@ -80,7 +80,7 @@ data class FromChannelForumContentMessageImpl<T: MessageContent>(
|
||||
override val forwardInfo: ForwardInfo?,
|
||||
override val editDate: DateTime?,
|
||||
override val hasProtectedContent: Boolean,
|
||||
override val replyTo: Message?,
|
||||
override val replyTo: AccessibleMessage?,
|
||||
override val replyMarkup: InlineKeyboardMarkup?,
|
||||
override val content: T,
|
||||
override val senderBot: CommonBot?,
|
||||
@@ -96,7 +96,7 @@ data class AnonymousForumContentMessageImpl<T : MessageContent>(
|
||||
override val forwardInfo: ForwardInfo?,
|
||||
override val editDate: DateTime?,
|
||||
override val hasProtectedContent: Boolean,
|
||||
override val replyTo: Message?,
|
||||
override val replyTo: AccessibleMessage?,
|
||||
override val replyMarkup: InlineKeyboardMarkup?,
|
||||
override val content: T,
|
||||
override val senderBot: CommonBot?,
|
||||
@@ -113,7 +113,7 @@ data class CommonForumContentMessageImpl<T : MessageContent>(
|
||||
override val forwardInfo: ForwardInfo?,
|
||||
override val editDate: DateTime?,
|
||||
override val hasProtectedContent: Boolean,
|
||||
override val replyTo: Message?,
|
||||
override val replyTo: AccessibleMessage?,
|
||||
override val replyMarkup: InlineKeyboardMarkup?,
|
||||
override val content: T,
|
||||
override val senderBot: CommonBot?,
|
||||
|
@@ -3,10 +3,9 @@ package dev.inmo.tgbotapi.types.message
|
||||
import korlibs.time.DateTime
|
||||
import dev.inmo.tgbotapi.types.MessageId
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.FromUserMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.passport.PassportData
|
||||
|
||||
data class PassportMessage(
|
||||
@@ -15,4 +14,4 @@ data class PassportMessage(
|
||||
override val from: User,
|
||||
override val date: DateTime,
|
||||
val passportData: PassportData
|
||||
) : Message, FromUserMessage
|
||||
) : AccessibleMessage, FromUserMessage
|
||||
|
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.*
|
||||
import dev.inmo.tgbotapi.types.chat.CommonBot
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||
|
||||
@@ -19,7 +19,7 @@ data class PrivateContentMessageImpl<T: MessageContent>(
|
||||
override val editDate: DateTime?,
|
||||
override val hasProtectedContent: Boolean,
|
||||
override val forwardInfo: ForwardInfo?,
|
||||
override val replyTo: Message?,
|
||||
override val replyTo: AccessibleMessage?,
|
||||
override val replyMarkup: InlineKeyboardMarkup?,
|
||||
override val senderBot: CommonBot?,
|
||||
override val mediaGroupId: MediaGroupIdentifier?,
|
||||
|
@@ -286,7 +286,7 @@ internal data class RawMessage(
|
||||
}
|
||||
}
|
||||
|
||||
val asMessage: Message by lazy {
|
||||
val asMessage: AccessibleMessage by lazy {
|
||||
if (date.date == 0L) {
|
||||
return@lazy InaccessibleMessage(
|
||||
chat,
|
||||
|
@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.ChatEvents.abstracts.ChatEvent
|
||||
|
||||
interface ChatEventMessage<T : ChatEvent> : Message {
|
||||
interface ChatEventMessage<T : ChatEvent> : AccessibleMessage {
|
||||
val chatEvent: T
|
||||
}
|
@@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||
|
||||
sealed interface CommonMessage<out T: MessageContent> : Message,
|
||||
sealed interface CommonMessage<out T: MessageContent> : AccessibleMessage,
|
||||
PossiblyForwardedMessage,
|
||||
PossiblyEditedMessage,
|
||||
PossiblyReplyMessage,
|
||||
|
@@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||
|
||||
interface ContentMessage<out T: MessageContent>: Message {
|
||||
interface ContentMessage<out T: MessageContent>: AccessibleMessage {
|
||||
val hasProtectedContent: Boolean
|
||||
val content: T
|
||||
|
||||
|
@@ -2,4 +2,4 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.abstracts.FromUser
|
||||
|
||||
interface FromUserMessage : FromUser, Message
|
||||
interface FromUserMessage : FromUser, AccessibleMessage
|
||||
|
@@ -1,12 +1,9 @@
|
||||
package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.abstracts.WithMessageId
|
||||
import korlibs.time.DateTime
|
||||
import dev.inmo.tgbotapi.abstracts.WithPreviewChat
|
||||
import dev.inmo.tgbotapi.abstracts.WithPreviewChatAndMessageId
|
||||
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
|
||||
import dev.inmo.tgbotapi.types.MessageId
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||
import dev.inmo.tgbotapi.types.message.RawMessage
|
||||
import kotlinx.serialization.*
|
||||
@@ -19,11 +16,13 @@ interface Message : WithPreviewChatAndMessageId {
|
||||
val date: DateTime
|
||||
}
|
||||
|
||||
interface AccessibleMessage : Message
|
||||
|
||||
@Serializable
|
||||
data class InaccessibleMessage(
|
||||
override val chat: PreviewChat,
|
||||
override val messageId: MessageId,
|
||||
) : Message {
|
||||
) : AccessibleMessage {
|
||||
override val date: DateTime
|
||||
get() = DateTime.invoke(0L)
|
||||
}
|
||||
@@ -33,7 +32,7 @@ data class UnknownMessageType(
|
||||
override val chat: PreviewChat,
|
||||
override val date: DateTime,
|
||||
val insideException: Exception
|
||||
) : Message
|
||||
) : AccessibleMessage
|
||||
|
||||
internal class TelegramBotAPIMessageDeserializationStrategyClass<T> : DeserializationStrategy<T> {
|
||||
@OptIn(InternalSerializationApi::class)
|
||||
|
@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import korlibs.time.DateTime
|
||||
|
||||
interface PossiblyEditedMessage : Message {
|
||||
interface PossiblyEditedMessage : AccessibleMessage {
|
||||
val editDate: DateTime?
|
||||
}
|
||||
|
@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.ForwardInfo
|
||||
|
||||
interface PossiblyForwardedMessage : Message {
|
||||
interface PossiblyForwardedMessage : AccessibleMessage {
|
||||
val forwardInfo: ForwardInfo?
|
||||
}
|
@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.payments.abstracts.PaymentInfo
|
||||
|
||||
interface PossiblyPaymentMessage : Message {
|
||||
interface PossiblyPaymentMessage : AccessibleMessage {
|
||||
val paymentInfo: PaymentInfo?
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
interface PossiblyReplyMessage {
|
||||
val replyTo: Message?
|
||||
val replyTo: AccessibleMessage?
|
||||
}
|
@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.MessageThreadId
|
||||
|
||||
interface PossiblyTopicMessage : Message {
|
||||
interface PossiblyTopicMessage : AccessibleMessage {
|
||||
val threadId: MessageThreadId?
|
||||
}
|
||||
|
@@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.types.message.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.AuthorSignature
|
||||
|
||||
interface SignedMessage : Message {
|
||||
interface SignedMessage : AccessibleMessage {
|
||||
val authorSignature: AuthorSignature?
|
||||
}
|
@@ -165,5 +165,5 @@ sealed interface ResendableContent {
|
||||
replyToMessageId: MessageId? = null,
|
||||
allowSendingWithoutReply: Boolean? = null,
|
||||
replyMarkup: KeyboardMarkup? = null
|
||||
): Request<out Message>
|
||||
): Request<out AccessibleMessage>
|
||||
}
|
||||
|
@@ -10,7 +10,6 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.files.TelegramMediaFile
|
||||
import dev.inmo.tgbotapi.types.media.TelegramMedia
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
@@ -7,8 +7,6 @@ import dev.inmo.tgbotapi.types.MessageId
|
||||
import dev.inmo.tgbotapi.types.MessageThreadId
|
||||
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyForwardedMessage
|
||||
import dev.inmo.tgbotapi.types.stories.Story
|
||||
import kotlinx.serialization.Serializable
|
||||
|
@@ -0,0 +1,9 @@
|
||||
package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||
|
||||
sealed interface AbstractMessageCallbackQuery : CallbackQuery {
|
||||
val message: Message
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.InaccessibleMessage
|
||||
|
||||
sealed interface InaccessibleMessageCallbackQuery : AbstractMessageCallbackQuery {
|
||||
override val message: InaccessibleMessage
|
||||
}
|
@@ -0,0 +1,16 @@
|
||||
package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.types.CallbackQueryIdentifier
|
||||
import dev.inmo.tgbotapi.types.chat.CommonUser
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.InaccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||
|
||||
data class InaccessibleMessageDataCallbackQuery(
|
||||
override val id: CallbackQueryIdentifier,
|
||||
override val from: CommonUser,
|
||||
override val chatInstance: String,
|
||||
override val message: InaccessibleMessage,
|
||||
override val data: String
|
||||
) : DataCallbackQuery, InaccessibleMessageCallbackQuery
|
@@ -0,0 +1,16 @@
|
||||
package dev.inmo.tgbotapi.types.queries.callback
|
||||
|
||||
import dev.inmo.tgbotapi.types.CallbackQueryIdentifier
|
||||
import dev.inmo.tgbotapi.types.chat.CommonUser
|
||||
import dev.inmo.tgbotapi.types.chat.User
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.InaccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||
|
||||
data class InaccessibleMessageGameShortNameCallbackQuery(
|
||||
override val id: CallbackQueryIdentifier,
|
||||
override val from: CommonUser,
|
||||
override val chatInstance: String,
|
||||
override val message: InaccessibleMessage,
|
||||
override val gameShortName: String
|
||||
) : GameShortNameCallbackQuery, InaccessibleMessageCallbackQuery
|
@@ -3,6 +3,6 @@ package dev.inmo.tgbotapi.types.queries.callback
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||
|
||||
sealed interface MessageCallbackQuery : CallbackQuery {
|
||||
val message: ContentMessage<MessageContent>
|
||||
sealed interface MessageCallbackQuery : AbstractMessageCallbackQuery {
|
||||
override val message: ContentMessage<MessageContent>
|
||||
}
|
||||
|
@@ -16,7 +16,7 @@ internal data class RawCallbackQuery(
|
||||
@SerialName(fromField)
|
||||
val from: CommonUser,
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
val message: ContentMessage<MessageContent>? = null,
|
||||
val message: Message? = null,
|
||||
@SerialName(inlineMessageIdField)
|
||||
val inlineMessageId: InlineMessageIdentifier? = null,
|
||||
@SerialName("chat_instance")
|
||||
@@ -28,8 +28,26 @@ internal data class RawCallbackQuery(
|
||||
private var inited: CallbackQuery? = null
|
||||
fun asCallbackQuery(raw: String): CallbackQuery {
|
||||
return inited ?: when {
|
||||
message != null && data != null -> MessageDataCallbackQuery(id, from, chatInstance, message, data)
|
||||
message != null && gameShortName != null -> MessageGameShortNameCallbackQuery(id, from, chatInstance, message, gameShortName)
|
||||
message != null && data != null -> when {
|
||||
message is ContentMessage<*> -> MessageDataCallbackQuery(id, from, chatInstance, message, data)
|
||||
message is InaccessibleMessage -> InaccessibleMessageDataCallbackQuery(id, from, chatInstance, message, data)
|
||||
else -> UnknownCallbackQueryType(
|
||||
id,
|
||||
from,
|
||||
chatInstance,
|
||||
raw
|
||||
)
|
||||
}
|
||||
message != null && gameShortName != null -> when {
|
||||
message is ContentMessage<*> -> MessageGameShortNameCallbackQuery(id, from, chatInstance, message, gameShortName)
|
||||
message is InaccessibleMessage -> InaccessibleMessageGameShortNameCallbackQuery(id, from, chatInstance, message, gameShortName)
|
||||
else -> UnknownCallbackQueryType(
|
||||
id,
|
||||
from,
|
||||
chatInstance,
|
||||
raw
|
||||
)
|
||||
}
|
||||
inlineMessageId != null && data != null -> InlineMessageIdDataCallbackQuery(id, from, chatInstance, inlineMessageId, data)
|
||||
inlineMessageId != null && gameShortName != null -> InlineMessageIdGameShortNameCallbackQuery(id, from, chatInstance, inlineMessageId, gameShortName)
|
||||
else -> UnknownCallbackQueryType(
|
||||
|
@@ -1,12 +1,12 @@
|
||||
package dev.inmo.tgbotapi.types.update
|
||||
|
||||
import dev.inmo.tgbotapi.types.UpdateIdentifier
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
|
||||
|
||||
data class ChannelPostUpdate(
|
||||
override val updateId: UpdateIdentifier,
|
||||
override val data: Message
|
||||
override val data: AccessibleMessage
|
||||
) : BaseSentMessageUpdate {
|
||||
override fun copy(newData: Message): BaseSentMessageUpdate = copy(updateId, newData)
|
||||
override fun copy(newData: AccessibleMessage): BaseSentMessageUpdate = copy(updateId, newData)
|
||||
}
|
||||
|
@@ -1,12 +1,12 @@
|
||||
package dev.inmo.tgbotapi.types.update
|
||||
|
||||
import dev.inmo.tgbotapi.types.UpdateIdentifier
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.update.abstracts.BaseSentMessageUpdate
|
||||
|
||||
data class MessageUpdate(
|
||||
override val updateId: UpdateIdentifier,
|
||||
override val data: Message
|
||||
override val data: AccessibleMessage
|
||||
) : BaseSentMessageUpdate {
|
||||
override fun copy(newData: Message) = copy(updateId, newData)
|
||||
override fun copy(newData: AccessibleMessage) = copy(updateId, newData)
|
||||
}
|
||||
|
@@ -28,11 +28,11 @@ internal data class RawUpdate constructor(
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
private val edited_message: CommonMessage<*>? = null,
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
private val message: Message? = null,
|
||||
private val message: AccessibleMessage? = null,
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
private val edited_channel_post: CommonMessage<*>? = null,
|
||||
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
|
||||
private val channel_post: Message? = null,
|
||||
private val channel_post: AccessibleMessage? = null,
|
||||
private val inline_query: RawInlineQuery? = null,
|
||||
private val chosen_inline_result: RawChosenInlineResult? = null,
|
||||
private val callback_query: RawCallbackQuery? = null,
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.update.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
|
||||
interface BaseMessageUpdate : Update {
|
||||
override val data: Message
|
||||
override val data: AccessibleMessage
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.types.update.abstracts
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
|
||||
interface BaseSentMessageUpdate : BaseMessageUpdate {
|
||||
fun copy(newData: Message): BaseSentMessageUpdate
|
||||
fun copy(newData: AccessibleMessage): BaseSentMessageUpdate
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package dev.inmo.tgbotapi.utils.extensions
|
||||
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.Message
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyTopicMessage
|
||||
|
||||
val Message.threadIdOrNull
|
||||
val AccessibleMessage.threadIdOrNull
|
||||
get() = (this as? PossiblyTopicMessage) ?.threadId
|
||||
|
Reference in New Issue
Block a user