1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-13 21:35:28 +00:00
tgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/ForwardInfo.kt

64 lines
2.0 KiB
Kotlin
Raw Normal View History

2020-10-04 11:06:30 +00:00
package dev.inmo.tgbotapi.types.message
2022-05-01 16:13:40 +00:00
import dev.inmo.tgbotapi.abstracts.FromUser
2020-10-04 11:06:30 +00:00
import dev.inmo.tgbotapi.types.*
2022-04-21 18:16:41 +00:00
import dev.inmo.tgbotapi.types.chat.*
import dev.inmo.tgbotapi.types.chat.User
2022-08-04 16:13:02 +00:00
sealed interface ForwardInfo {
abstract val dateOfOriginal: TelegramDate
}
data class AnonymousForwardInfo(
override val dateOfOriginal: TelegramDate,
val senderName: String
2022-08-04 16:13:02 +00:00
) : ForwardInfo
data class UserForwardInfo(
override val dateOfOriginal: TelegramDate,
2021-10-18 08:45:57 +00:00
override val from: User
2022-08-04 16:13:02 +00:00
) : ForwardInfo, FromUser
2022-08-04 16:13:02 +00:00
sealed interface ForwardFromPublicChatInfo : ForwardInfo {
val chat: PublicChat
2022-08-04 16:13:02 +00:00
/**
* Represent forward info for the message sent by [channelChat] into some group
*/
data class SentByChannel(
override val dateOfOriginal: TelegramDate,
val channelChat: ChannelChat,
val signature: String? = null
) : ForwardFromPublicChatInfo {
override val chat: PublicChat
get() = channelChat
}
2020-10-02 08:59:10 +00:00
2022-08-04 16:13:02 +00:00
/**
* Represent forward info for the message sent by [channelChat] into that channel
*/
data class FromChannel(
override val dateOfOriginal: TelegramDate,
val messageId: MessageIdentifier,
val channelChat: ChannelChat,
val signature: String? = null
) : ForwardFromPublicChatInfo {
override val chat: PublicChat
get() = channelChat
}
data class FromSupergroup(
override val dateOfOriginal: TelegramDate,
val group: SupergroupChat
) : ForwardFromPublicChatInfo {
override val chat: PublicChat
get() = group
}
}
2022-08-04 16:13:02 +00:00
@Deprecated("Replaced", ReplaceWith("ForwardFromPublicChatInfo.FromChannel", "dev.inmo.tgbotapi.types.message.FromChannel"))
typealias ForwardFromChannelInfo = ForwardFromPublicChatInfo.FromChannel
@Deprecated("Replaced", ReplaceWith("ForwardFromPublicChatInfo.FromSupergroup", "dev.inmo.tgbotapi.types.message.ForwardFromPublicChatInfo"))
typealias ForwardFromSupergroupInfo = ForwardFromPublicChatInfo.FromSupergroup