1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-03 00:15:27 +00:00
tgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/RestrictChatMember.kt

29 lines
1.1 KiB
Kotlin
Raw Normal View History

2020-10-04 11:06:30 +00:00
package dev.inmo.tgbotapi.requests.chat.members
2018-12-26 08:07:24 +00:00
2022-05-01 16:13:40 +00:00
import dev.inmo.tgbotapi.abstracts.types.UntilDate
2020-10-04 11:06:30 +00:00
import dev.inmo.tgbotapi.requests.chat.abstracts.ChatMemberRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.ChatPermissions
2018-12-26 08:07:24 +00:00
import kotlinx.serialization.*
2020-03-22 07:37:01 +00:00
import kotlinx.serialization.builtins.serializer
2018-12-26 08:07:24 +00:00
@Serializable
data class RestrictChatMember(
@SerialName(chatIdField)
override val chatId: ChatIdentifier,
@SerialName(userIdField)
override val userId: UserId,
@SerialName(untilDateField)
override val untilDate: TelegramDate? = null,
@SerialName(permissionsField)
val permissions: ChatPermissions = ChatPermissions(),
@SerialName(useIndependentChatPermissionsField)
val useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
2018-12-26 08:07:24 +00:00
) : ChatMemberRequest<Boolean>, UntilDate {
override fun method(): String = "restrictChatMember"
2019-12-02 08:35:37 +00:00
override val resultDeserializer: DeserializationStrategy<Boolean>
2020-03-22 07:37:01 +00:00
get() = Boolean.serializer()
2019-12-02 08:35:37 +00:00
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
2018-12-26 08:07:24 +00:00
}