package dev.inmo.tgbotapi.requests.chat.members import dev.inmo.tgbotapi.requests.chat.abstracts.ChatMemberRequest import dev.inmo.tgbotapi.types.* import kotlinx.serialization.* import kotlinx.serialization.builtins.serializer @Serializable data class SetChatAdministratorCustomTitle( @SerialName(chatIdField) override val chatId: ChatIdentifier, @SerialName(userIdField) override val userId: UserId, @SerialName(customTitleField) val customTitle: String ) : ChatMemberRequest { override fun method(): String = "setChatAdministratorCustomTitle" override val resultDeserializer: DeserializationStrategy get() = Boolean.serializer() override val requestSerializer: SerializationStrategy<*> get() = serializer() init { if (customTitle.length !in customTitleLength) { throw IllegalArgumentException("Custom title length must be in range $customTitleLength, but was ${customTitle.length}") } } }