1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-11-24 16:26:01 +00:00

update ChatMember to use PreviewUser instead of User

This commit is contained in:
2024-08-30 19:04:10 +06:00
parent e8a280c90d
commit 87ed66e3ad
12 changed files with 83 additions and 57 deletions

View File

@@ -1,13 +1,14 @@
package dev.inmo.tgbotapi.types.chat.member
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import kotlinx.serialization.*
@Serializable
data class AdministratorChatMemberImpl(
@SerialName(userField)
override val user: User,
override val user: PreviewUser,
@SerialName(canBeEditedField)
override val canBeEdited: Boolean = false,
@SerialName(canChangeInfoField)

View File

@@ -1,6 +1,8 @@
package dev.inmo.tgbotapi.types.chat.member
import dev.inmo.tgbotapi.abstracts.WithUser
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import dev.inmo.tgbotapi.types.statusField
import dev.inmo.tgbotapi.types.untilDateField
import dev.inmo.tgbotapi.utils.RiskFeature
@@ -17,6 +19,7 @@ import kotlinx.serialization.json.jsonPrimitive
@Serializable(ChatMemberSerializer::class)
sealed interface ChatMember : WithUser {
override val user: PreviewUser
@Serializable(StatusSerializer::class)
enum class Status(
val status: String,

View File

@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.abstracts.WithUser
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.Chat
import dev.inmo.tgbotapi.types.chat.PreviewChat
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -14,7 +15,7 @@ data class ChatMemberUpdated(
@SerialName(chatField)
override val chat: PreviewChat,
@SerialName(fromField)
override val user: User,
override val user: PreviewUser,
@SerialName(dateField)
val date: TelegramDate,
@SerialName(oldChatMemberField)
@@ -27,4 +28,7 @@ data class ChatMemberUpdated(
val viaChatFolderInviteLink: Boolean? = false,
@SerialName(viaJoinRequestField)
val viaJoinRequest: Boolean? = false
) : WithPreviewChat, WithUser
) : WithPreviewChat, WithUser {
val member: PreviewUser
get() = newChatMemberState.user
}

View File

@@ -1,13 +1,14 @@
package dev.inmo.tgbotapi.types.chat.member
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import kotlinx.serialization.*
@Serializable
data class KickedChatMember(
@SerialName(userField)
override val user: User,
override val user: PreviewUser,
@SerialName(untilDateField)
override val untilDate: TelegramDate? = null
) : RestrictedChatMember {

View File

@@ -1,13 +1,14 @@
package dev.inmo.tgbotapi.types.chat.member
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import kotlinx.serialization.*
@Serializable
data class LeftChatMemberImpl(
@SerialName(userField)
override val user: User
override val user: PreviewUser
) : LeftChatMember {
@SerialName(statusField)
@Required

View File

@@ -1,6 +1,7 @@
package dev.inmo.tgbotapi.types.chat.member
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import korlibs.time.DateTime
import kotlinx.serialization.*
@@ -8,7 +9,7 @@ import kotlinx.serialization.*
@Serializable
data class MemberChatMemberImpl(
@SerialName(userField)
override val user: User
override val user: PreviewUser
) : MemberChatMember {
@SerialName(statusField)
@Required

View File

@@ -1,12 +1,13 @@
package dev.inmo.tgbotapi.types.chat.member
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import kotlinx.serialization.*
@Serializable
data class OwnerChatMember(
override val user: User,
override val user: PreviewUser,
@SerialName(isAnonymousField)
override val isAnonymous: Boolean = false,
@SerialName(customTitleField)

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.chat.member
import dev.inmo.tgbotapi.abstracts.types.UntilDate
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import kotlinx.serialization.Serializable
@@ -17,7 +18,7 @@ sealed interface RestrictedChatMember : ChatMember, UntilDate {
)
)
operator fun invoke(
user: User,
user: PreviewUser,
untilDate: TelegramDate? = null,
isMember: Boolean = false,
canSendMessages: Boolean = false,

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.chat.member
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.ChatPermissions
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import kotlinx.serialization.*
@@ -12,7 +13,7 @@ import kotlinx.serialization.*
@Serializable
data class RestrictedMemberChatMember(
@SerialName(userField)
override val user: User,
override val user: PreviewUser,
@SerialName(untilDateField)
override val untilDate: TelegramDate? = null,
@SerialName(isMemberField)

View File

@@ -1,6 +1,7 @@
package dev.inmo.tgbotapi.types.chat.member
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.types.chat.User
import korlibs.time.DateTime
import kotlinx.serialization.*
@@ -8,7 +9,7 @@ import kotlinx.serialization.*
@Serializable
data class SubscriptionMemberChatMemberImpl(
@SerialName(userField)
override val user: User,
override val user: PreviewUser,
@SerialName(untilDateField)
@Serializable(TelegramDateSerializer::class)
override val untilDate: TelegramDate