diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChannelMediaGroupMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChannelMediaGroupMessage.kt index 3f3688e702..2bcad5e3ac 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChannelMediaGroupMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ChannelMediaGroupMessage.kt @@ -16,7 +16,21 @@ data class ChannelMediaGroupMessage( override val mediaGroupId: MediaGroupIdentifier, override val content: T, override val editDate: DateTime?, + override val forwardable: Boolean, override val forwardInfo: ForwardInfo?, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup? -) : MediaGroupMessage +) : MediaGroupMessage { + @Deprecated("Use the constructor with forwardable field") + constructor( + messageId: MessageIdentifier, + chat: Chat, + date: DateTime, + mediaGroupId: MediaGroupIdentifier, + content: T, + editDate: DateTime?, + forwardInfo: ForwardInfo?, + replyTo: Message?, + replyMarkup: InlineKeyboardMarkup? + ) : this(messageId, chat, date, mediaGroupId, content, editDate, true, forwardInfo, replyTo, replyMarkup) +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/CommonMediaGroupMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/CommonMediaGroupMessage.kt index 28bbacf8bc..af08de46f1 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/CommonMediaGroupMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/CommonMediaGroupMessage.kt @@ -15,7 +15,22 @@ data class CommonMediaGroupMessage( override val mediaGroupId: MediaGroupIdentifier, override val content: T, override val editDate: DateTime?, + override val forwardable: Boolean, override val forwardInfo: ForwardInfo?, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup? -) : MediaGroupMessage, FromUserMessage +) : MediaGroupMessage, FromUserMessage { + @Deprecated("Use the constructor with forwardable field") + constructor( + messageId: MessageIdentifier, + from: User, + chat: Chat, + date: DateTime, + mediaGroupId: MediaGroupIdentifier, + content: T, + editDate: DateTime?, + forwardInfo: ForwardInfo?, + replyTo: Message?, + replyMarkup: InlineKeyboardMarkup? + ) : this(messageId, from, chat, date, mediaGroupId, content, editDate, true, forwardInfo, replyTo, replyMarkup) +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ConnectedChannelContentMessageImpl.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ConnectedChannelContentMessageImpl.kt index b45675fa97..fcd348bbbe 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ConnectedChannelContentMessageImpl.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ConnectedChannelContentMessageImpl.kt @@ -13,9 +13,24 @@ data class ConnectedChannelContentMessageImpl( override val content: T, override val date: DateTime, override val editDate: DateTime?, + override val forwardable: Boolean, override val forwardInfo: ForwardInfo?, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val senderBot: CommonBot?, override val authorSignature: AuthorSignature? -) : ConnectedChannelContentMessage +) : ConnectedChannelContentMessage { + @Deprecated("Use the constructor with forwardable field") + constructor( + messageId: MessageIdentifier, + chat: ChannelChat, + content: T, + date: DateTime, + editDate: DateTime?, + forwardInfo: ForwardInfo?, + replyTo: Message?, + replyMarkup: InlineKeyboardMarkup?, + senderBot: CommonBot?, + authorSignature: AuthorSignature? + ) : this(messageId, chat, content, date, editDate, true, forwardInfo, replyTo, replyMarkup, senderBot, authorSignature) +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/GroupMessages.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/GroupMessages.kt index 0fee420bf2..296f64fae2 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/GroupMessages.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/GroupMessages.kt @@ -15,12 +15,28 @@ data class FromChannelGroupContentMessageImpl( override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, + override val forwardable: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot?, override val authorSignature: AuthorSignature? -) : FromChannelGroupContentMessage +) : FromChannelGroupContentMessage { + @Deprecated("Use the constructor with forwardable field") + constructor( + chat: GroupChat, + channel: ChannelChat, + messageId: MessageIdentifier, + date: DateTime, + forwardInfo: ForwardInfo?, + editDate: DateTime?, + replyTo: Message?, + replyMarkup: InlineKeyboardMarkup?, + content: T, + senderBot: CommonBot?, + authorSignature: AuthorSignature? + ) : this(chat, channel, messageId, date, forwardInfo, editDate, true, replyTo, replyMarkup, content, senderBot, authorSignature) +} data class AnonymousGroupContentMessageImpl( override val chat: GroupChat, @@ -28,12 +44,27 @@ data class AnonymousGroupContentMessageImpl( override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, + override val forwardable: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot?, override val authorSignature: AuthorSignature? -) : AnonymousGroupContentMessage +) : AnonymousGroupContentMessage { + @Deprecated("Use the constructor with forwardable field") + constructor( + chat: GroupChat, + messageId: MessageIdentifier, + date: DateTime, + forwardInfo: ForwardInfo?, + editDate: DateTime?, + replyTo: Message?, + replyMarkup: InlineKeyboardMarkup?, + content: T, + senderBot: CommonBot?, + authorSignature: AuthorSignature? + ) : this(chat, messageId, date, forwardInfo, editDate, true, replyTo, replyMarkup, content, senderBot, authorSignature) +} data class CommonGroupContentMessageImpl( override val chat: GroupChat, @@ -42,8 +73,23 @@ data class CommonGroupContentMessageImpl( override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, + override val forwardable: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot? -) : CommonGroupContentMessage +) : CommonGroupContentMessage { + @Deprecated("Use the constructor with forwardable field") + constructor( + chat: GroupChat, + messageId: MessageIdentifier, + from: User, + date: DateTime, + forwardInfo: ForwardInfo?, + editDate: DateTime?, + replyTo: Message?, + replyMarkup: InlineKeyboardMarkup?, + content: T, + senderBot: CommonBot? + ) : this(chat, messageId, from, date, forwardInfo, editDate, true, replyTo, replyMarkup, content, senderBot) +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/PrivateMessageImpl.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/PrivateMessageImpl.kt index e8c0db2a94..00699bcfc9 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/PrivateMessageImpl.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/PrivateMessageImpl.kt @@ -7,7 +7,6 @@ import dev.inmo.tgbotapi.types.chat.abstracts.Chat import dev.inmo.tgbotapi.types.message.abstracts.Message import dev.inmo.tgbotapi.types.message.abstracts.PrivateContentMessage import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent -import dev.inmo.tgbotapi.types.message.payments.SuccessfulPaymentEvent data class PrivateContentMessageImpl( override val messageId: MessageIdentifier, @@ -16,8 +15,23 @@ data class PrivateContentMessageImpl( override val content: T, override val date: DateTime, override val editDate: DateTime?, + override val forwardable: Boolean, override val forwardInfo: ForwardInfo?, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, - override val senderBot: CommonBot?, -) : PrivateContentMessage + override val senderBot: CommonBot? +) : PrivateContentMessage { + @Deprecated("Use the constructor with forwardable field") + constructor( + messageId: MessageIdentifier, + from: User, + chat: Chat, + content: T, + date: DateTime, + editDate: DateTime?, + forwardInfo: ForwardInfo?, + replyTo: Message?, + replyMarkup: InlineKeyboardMarkup?, + senderBot: CommonBot? + ) : this(messageId, from, chat, content, date, editDate, true, forwardInfo, replyTo, replyMarkup, senderBot) +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt index ba75c22fde..fe2c88e990 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt @@ -46,6 +46,7 @@ internal data class RawMessage( private val reply_to_message: RawMessage? = null, private val via_bot: CommonBot? = null, private val edit_date: TelegramDate? = null, + private val has_protected_content: Boolean? = null, private val media_group_id: MediaGroupIdentifier? = null, private val author_signature: AuthorSignature? = null, private val text: String? = null, @@ -251,6 +252,7 @@ internal data class RawMessage( it, checkedContent, edit_date?.asDate, + has_protected_content == true, forwarded, reply_to_message?.asMessage, reply_markup @@ -263,6 +265,7 @@ internal data class RawMessage( it, checkedContent, edit_date?.asDate, + has_protected_content == true, forwarded, reply_to_message?.asMessage, reply_markup @@ -277,6 +280,7 @@ internal data class RawMessage( content, date.asDate, edit_date?.asDate, + has_protected_content == true, forwarded, reply_to_message?.asMessage, reply_markup, @@ -290,6 +294,7 @@ internal data class RawMessage( content, date.asDate, edit_date?.asDate, + has_protected_content == true, forwarded, reply_to_message?.asMessage, reply_markup, @@ -305,6 +310,7 @@ internal data class RawMessage( date.asDate, forwarded, edit_date ?.asDate, + has_protected_content == true, reply_to_message ?.asMessage, reply_markup, content, @@ -317,6 +323,7 @@ internal data class RawMessage( date.asDate, forwarded, edit_date ?.asDate, + has_protected_content == true, reply_to_message ?.asMessage, reply_markup, content, @@ -330,6 +337,7 @@ internal data class RawMessage( date.asDate, forwarded, edit_date ?.asDate, + has_protected_content == true, reply_to_message ?.asMessage, reply_markup, content, @@ -346,6 +354,7 @@ internal data class RawMessage( content, date.asDate, edit_date?.asDate, + has_protected_content == true, forwarded, reply_to_message?.asMessage, reply_markup, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/UnconnectedChannelContentMessageImpl.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/UnconnectedChannelContentMessageImpl.kt index 1e1570cea8..3ffbb01241 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/UnconnectedChannelContentMessageImpl.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/UnconnectedChannelContentMessageImpl.kt @@ -13,12 +13,27 @@ data class UnconnectedChannelContentMessageImpl( override val content: T, override val date: DateTime, override val editDate: DateTime?, + override val forwardable: Boolean, override val forwardInfo: ForwardInfo?, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val senderBot: CommonBot?, override val authorSignature: AuthorSignature? -) : UnconnectedChannelContentMessage +) : UnconnectedChannelContentMessage { + @Deprecated("Use the constructor with forwardable field") + constructor( + messageId: MessageIdentifier, + chat: ChannelChat, + content: T, + date: DateTime, + editDate: DateTime?, + forwardInfo: ForwardInfo?, + replyTo: Message?, + replyMarkup: InlineKeyboardMarkup?, + senderBot: CommonBot?, + authorSignature: AuthorSignature? + ) : this(messageId, chat, content, date, editDate, true, forwardInfo, replyTo, replyMarkup, senderBot, authorSignature) +} @Deprecated("Renamed to UnconnectedChannelContentMessage", ReplaceWith("UnconnectedChannelContentMessage", "dev.inmo.tgbotapi.types.message.UnconnectedChannelContentMessageImpl")) typealias ChannelContentMessageImpl = UnconnectedChannelContentMessage diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/abstracts/ContentMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/abstracts/ContentMessage.kt index d9db0603c4..36e34373fc 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/abstracts/ContentMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/abstracts/ContentMessage.kt @@ -3,5 +3,6 @@ package dev.inmo.tgbotapi.types.message.abstracts import dev.inmo.tgbotapi.types.message.content.abstracts.MessageContent interface ContentMessage: Message { + val forwardable: Boolean val content: T }