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,
|
2019-08-12 08:09:14 +00:00
|
|
|
@SerialName(permissionsField)
|
2023-02-05 18:21:46 +00:00
|
|
|
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
|
|
|
}
|