59 lines
2.1 KiB
Kotlin
59 lines
2.1 KiB
Kotlin
package dev.inmo.tgbotapi.types.chat.member
|
|
|
|
sealed interface SpecialChatAdministratorRights {
|
|
val canChangeInfo: Boolean
|
|
val canInviteUsers: Boolean
|
|
val canPinMessages: Boolean
|
|
val canManageTopics: Boolean
|
|
}
|
|
|
|
sealed interface ChatAdministratorRights : SpecialChatAdministratorRights {
|
|
val isAnonymous: Boolean
|
|
val canManageChat: Boolean
|
|
val canRemoveMessages: Boolean
|
|
val canManageVideoChats: Boolean
|
|
val canRestrictMembers: Boolean
|
|
val canPromoteMembers: Boolean
|
|
val canPostMessages: Boolean
|
|
val canEditMessages: Boolean
|
|
val canPostStories: Boolean
|
|
val canEditStories: Boolean
|
|
val canDeleteStories: Boolean
|
|
|
|
companion object {
|
|
operator fun invoke(
|
|
canChangeInfo: Boolean = false,
|
|
canPostMessages: Boolean = false,
|
|
canEditMessages: Boolean = false,
|
|
canRemoveMessages: Boolean = false,
|
|
canInviteUsers: Boolean = false,
|
|
canRestrictMembers: Boolean = false,
|
|
canPinMessages: Boolean = false,
|
|
canPromoteMembers: Boolean = false,
|
|
canManageVideoChats: Boolean = false,
|
|
canManageChat: Boolean = false,
|
|
isAnonymous: Boolean = false,
|
|
canManageTopics: Boolean = false,
|
|
canPostStories: Boolean = false,
|
|
canEditStories: Boolean = false,
|
|
canDeleteStories: Boolean = false
|
|
) = ChatCommonAdministratorRights(
|
|
canChangeInfo = canChangeInfo,
|
|
canPostMessages = canPostMessages,
|
|
canEditMessages = canEditMessages,
|
|
canRemoveMessages = canRemoveMessages,
|
|
canInviteUsers = canInviteUsers,
|
|
canRestrictMembers = canRestrictMembers,
|
|
canPinMessages = canPinMessages,
|
|
canPromoteMembers = canPromoteMembers,
|
|
canManageVideoChats = canManageVideoChats,
|
|
canManageChat = canManageChat,
|
|
isAnonymous = isAnonymous,
|
|
canManageTopics = canManageTopics,
|
|
canPostStories = canPostStories,
|
|
canEditStories = canEditStories,
|
|
canDeleteStories = canDeleteStories
|
|
)
|
|
}
|
|
}
|