2020-10-04 11:06:30 +00:00
|
|
|
package dev.inmo.tgbotapi.types.message
|
2020-01-15 06:52:52 +00:00
|
|
|
|
2021-10-18 08:45:57 +00:00
|
|
|
import dev.inmo.tgbotapi.CommonAbstracts.FromUser
|
2020-10-04 11:06:30 +00:00
|
|
|
import dev.inmo.tgbotapi.types.*
|
2022-01-06 08:49:11 +00:00
|
|
|
import dev.inmo.tgbotapi.types.chat.abstracts.*
|
2020-01-15 06:52:52 +00:00
|
|
|
|
|
|
|
sealed class ForwardInfo {
|
|
|
|
abstract val dateOfOriginal: TelegramDate
|
|
|
|
}
|
|
|
|
|
|
|
|
data class AnonymousForwardInfo(
|
|
|
|
override val dateOfOriginal: TelegramDate,
|
|
|
|
val senderName: String
|
|
|
|
) : ForwardInfo()
|
|
|
|
|
|
|
|
data class UserForwardInfo(
|
|
|
|
override val dateOfOriginal: TelegramDate,
|
2021-10-18 08:45:57 +00:00
|
|
|
override val from: User
|
|
|
|
) : ForwardInfo(), FromUser
|
2020-01-15 06:52:52 +00:00
|
|
|
|
2022-01-06 08:49:11 +00:00
|
|
|
sealed class ForwardFromPublicChatInfo : ForwardInfo() {
|
|
|
|
abstract val chat: PublicChat
|
|
|
|
}
|
|
|
|
|
2020-01-15 06:52:52 +00:00
|
|
|
data class ForwardFromChannelInfo(
|
|
|
|
override val dateOfOriginal: TelegramDate,
|
|
|
|
val messageId: MessageIdentifier,
|
2020-02-25 07:45:32 +00:00
|
|
|
val channelChat: ChannelChat,
|
2020-01-15 06:52:52 +00:00
|
|
|
val signature: String? = null
|
2022-01-06 08:49:11 +00:00
|
|
|
) : ForwardFromPublicChatInfo() {
|
|
|
|
override val chat: PublicChat
|
|
|
|
get() = channelChat
|
|
|
|
}
|
2020-10-02 08:59:10 +00:00
|
|
|
|
|
|
|
data class ForwardFromSupergroupInfo(
|
|
|
|
override val dateOfOriginal: TelegramDate,
|
|
|
|
val group: SupergroupChat
|
2022-01-06 08:49:11 +00:00
|
|
|
) : ForwardFromPublicChatInfo() {
|
|
|
|
override val chat: PublicChat
|
|
|
|
get() = group
|
|
|
|
}
|