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.* import dev.inmo.tgbotapi.types.chat.CommonBot import dev.inmo.tgbotapi.types.chat.User import dev.inmo.tgbotapi.types.message.abstracts.* import dev.inmo.tgbotapi.types.message.content.MessageContent data class ConnectedFromChannelGroupContentMessageImpl( override val chat: PreviewGroupChat, override val channel: PreviewChannelChat, override val messageId: MessageId, override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, override val hasProtectedContent: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot?, override val authorSignature: AuthorSignature?, override val mediaGroupId: MediaGroupIdentifier?, ) : ConnectedFromChannelGroupContentMessage data class UnconnectedFromChannelGroupContentMessageImpl( override val chat: PreviewGroupChat, override val channel: PreviewChannelChat, override val messageId: MessageId, override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, override val hasProtectedContent: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot?, override val authorSignature: AuthorSignature?, override val mediaGroupId: MediaGroupIdentifier?, ) : UnconnectedFromChannelGroupContentMessage data class AnonymousGroupContentMessageImpl( override val chat: PreviewGroupChat, override val messageId: MessageId, override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, override val hasProtectedContent: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot?, override val authorSignature: AuthorSignature?, override val mediaGroupId: MediaGroupIdentifier?, ) : AnonymousGroupContentMessage data class CommonGroupContentMessageImpl( override val chat: PreviewGroupChat, override val messageId: MessageId, override val from: User, override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, override val hasProtectedContent: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot?, override val mediaGroupId: MediaGroupIdentifier?, ) : CommonGroupContentMessage data class FromChannelForumContentMessageImpl( override val chat: PreviewForumChat, override val channel: PreviewChannelChat, override val messageId: MessageId, override val threadId: MessageThreadId, override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, override val hasProtectedContent: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot?, override val authorSignature: AuthorSignature?, override val mediaGroupId: MediaGroupIdentifier?, ) : FromChannelForumContentMessage data class AnonymousForumContentMessageImpl( override val chat: PreviewForumChat, override val messageId: MessageId, override val threadId: MessageThreadId, override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, override val hasProtectedContent: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot?, override val authorSignature: AuthorSignature?, override val mediaGroupId: MediaGroupIdentifier?, ) : AnonymousForumContentMessage data class CommonForumContentMessageImpl( override val chat: PreviewForumChat, override val messageId: MessageId, override val threadId: MessageThreadId, override val from: User, override val date: DateTime, override val forwardInfo: ForwardInfo?, override val editDate: DateTime?, override val hasProtectedContent: Boolean, override val replyTo: Message?, override val replyMarkup: InlineKeyboardMarkup?, override val content: T, override val senderBot: CommonBot?, override val mediaGroupId: MediaGroupIdentifier?, ) : CommonForumContentMessage