2020-11-05 06:39:59 +00:00
|
|
|
package dev.inmo.tgbotapi.types.message.abstracts
|
|
|
|
|
2022-11-06 06:51:53 +00:00
|
|
|
import dev.inmo.tgbotapi.types.MessageThreadId
|
2023-10-11 07:07:07 +00:00
|
|
|
import dev.inmo.tgbotapi.types.chat.*
|
2022-05-01 05:52:02 +00:00
|
|
|
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
2020-11-05 06:39:59 +00:00
|
|
|
|
2022-11-06 06:51:53 +00:00
|
|
|
sealed interface GroupContentMessage<T : MessageContent> : PublicContentMessage<T> {
|
2023-10-11 07:07:07 +00:00
|
|
|
override val chat: PreviewGroupChat
|
2020-11-05 06:39:59 +00:00
|
|
|
}
|
|
|
|
|
2024-02-16 15:38:28 +00:00
|
|
|
sealed interface PotentiallyFromUserGroupContentMessage<T : MessageContent> : GroupContentMessage<T> {
|
|
|
|
val senderBoostsCount: Int?
|
|
|
|
}
|
|
|
|
|
2022-11-07 18:21:16 +00:00
|
|
|
sealed interface ForumContentMessage<T : MessageContent> : GroupContentMessage<T>, PossiblyTopicMessage {
|
2023-10-11 07:07:07 +00:00
|
|
|
override val chat: PreviewForumChat
|
2022-11-07 18:21:16 +00:00
|
|
|
override val threadId: MessageThreadId
|
2022-11-06 06:51:53 +00:00
|
|
|
}
|
|
|
|
|
2021-02-07 10:54:48 +00:00
|
|
|
|
2022-11-06 06:51:53 +00:00
|
|
|
sealed interface FromChannelGroupContentMessage<T : MessageContent> : GroupContentMessage<T>, SignedMessage, WithSenderChatMessage {
|
2023-10-11 07:07:07 +00:00
|
|
|
val channel: PreviewChannelChat
|
|
|
|
override val senderChat: PreviewChannelChat
|
2020-11-05 06:39:59 +00:00
|
|
|
get() = channel
|
|
|
|
}
|
2021-02-07 10:54:48 +00:00
|
|
|
|
2021-12-20 08:07:45 +00:00
|
|
|
interface ConnectedFromChannelGroupContentMessage<T: MessageContent> : FromChannelGroupContentMessage<T>
|
|
|
|
interface UnconnectedFromChannelGroupContentMessage<T: MessageContent> : FromChannelGroupContentMessage<T>
|
|
|
|
|
2021-02-07 10:54:48 +00:00
|
|
|
interface AnonymousGroupContentMessage<T : MessageContent> : GroupContentMessage<T>, SignedMessage, WithSenderChatMessage {
|
2023-10-11 07:07:07 +00:00
|
|
|
override val senderChat: PreviewGroupChat
|
2020-11-05 06:39:59 +00:00
|
|
|
get() = chat
|
|
|
|
}
|
2021-02-07 10:54:48 +00:00
|
|
|
|
2024-02-16 15:38:28 +00:00
|
|
|
interface CommonGroupContentMessage<T : MessageContent> : GroupContentMessage<T>, PotentiallyFromUserGroupContentMessage<T>, FromUserMessage
|
2022-11-06 06:51:53 +00:00
|
|
|
|
|
|
|
interface FromChannelForumContentMessage<T: MessageContent> : FromChannelGroupContentMessage<T>, ForumContentMessage<T>
|
|
|
|
|
|
|
|
interface AnonymousForumContentMessage<T : MessageContent> : ForumContentMessage<T>, SignedMessage, WithSenderChatMessage {
|
2023-10-11 07:07:07 +00:00
|
|
|
override val senderChat: PreviewGroupChat
|
2022-11-06 06:51:53 +00:00
|
|
|
get() = chat
|
|
|
|
}
|
|
|
|
|
2024-02-16 15:38:28 +00:00
|
|
|
interface CommonForumContentMessage<T : MessageContent> : ForumContentMessage<T>, PotentiallyFromUserGroupContentMessage<T>, FromUserMessage
|