1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2026-03-09 20:32:26 +00:00

returned boolean now returns unit

This commit is contained in:
2026-03-06 00:39:54 +06:00
parent a8410df038
commit 083fd1b682
200 changed files with 705 additions and 623 deletions

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests
import dev.inmo.tgbotapi.abstracts.types.MessageAction
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -12,11 +13,11 @@ data class DeleteMessage(
override val chatId: ChatIdentifier,
@SerialName(messageIdField)
override val messageId: MessageId
) : SimpleRequest<Boolean>, MessageAction {
) : SimpleRequest<Unit>, MessageAction {
override fun method(): String = "deleteMessage"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.MessageAction
import dev.inmo.tgbotapi.abstracts.types.MessagesAction
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -13,7 +14,7 @@ data class DeleteMessages(
override val chatId: ChatIdentifier,
@SerialName(messageIdsField)
override val messageIds: List<MessageId>
) : SimpleRequest<Boolean>, MessagesAction {
) : SimpleRequest<Unit>, MessagesAction {
override fun method(): String = "deleteMessages"
init {
@@ -22,8 +23,8 @@ data class DeleteMessages(
}
}
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.passport.PassportElementError
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -13,9 +14,9 @@ data class SetPassportDataErrors(
val user: UserId,
@SerialName(errorsField)
val errors: List<PassportElementError>
) : SimpleRequest<Boolean> {
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
) : SimpleRequest<Unit> {
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override fun method(): String = "setPassportDataErrors"
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.answers
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.queries.callback.CallbackQuery
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -18,10 +19,10 @@ data class AnswerCallbackQuery(
val url: String? = null,
@SerialName(cacheTimeField)
val cachedTimeSeconds: Int? = null
) : SimpleRequest<Boolean> {
) : SimpleRequest<Unit> {
override fun method(): String = "answerCallbackQuery"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.InlineQ
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.serializers.InlineQueryResultSerializer
import dev.inmo.tgbotapi.types.InlineQueries.query.InlineQuery
import dev.inmo.tgbotapi.utils.RiskFeature
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.ListSerializer
import kotlinx.serialization.builtins.serializer
@@ -25,7 +26,7 @@ data class AnswerInlineQuery(
val nextOffset: String? = null,
@SerialName(buttonField)
val button: InlineQueryResultsButton? = null,
) : SimpleRequest<Boolean> {
) : SimpleRequest<Unit> {
constructor(
inlineQueryID: InlineQueryId,
results: List<InlineQueryResult> = emptyList(),
@@ -48,8 +49,8 @@ data class AnswerInlineQuery(
)
override fun method(): String = "answerInlineQuery"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -2,13 +2,14 @@ package dev.inmo.tgbotapi.requests.answers.payments.abstracts
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.PreCheckoutQueryId
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.KSerializer
import kotlinx.serialization.builtins.serializer
interface AnswerPreCheckoutQuery : SimpleRequest<Boolean> {
interface AnswerPreCheckoutQuery : SimpleRequest<Unit> {
override fun method(): String = "answerPreCheckoutQuery"
override val resultDeserializer: KSerializer<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: KSerializer<Unit>
get() = UnitFromBooleanSerializer
val preCheckoutQueryId: PreCheckoutQueryId
val isOk: Boolean

View File

@@ -2,13 +2,14 @@ package dev.inmo.tgbotapi.requests.answers.payments.abstracts
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.ShippingQueryId
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.builtins.serializer
interface AnswerShippingQuery : SimpleRequest<Boolean> {
interface AnswerShippingQuery : SimpleRequest<Unit> {
override fun method(): String = "answerShippingQuery"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
val shippingQueryId: ShippingQueryId
val isOk: Boolean

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.bot
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -9,10 +10,10 @@ import kotlinx.serialization.builtins.serializer
class ClearMyDefaultAdministratorRights(
@SerialName(forChannelsField)
val forChannels: Boolean? = null
) : SimpleRequest<Boolean> {
) : SimpleRequest<Unit> {
override fun method(): String = "setMyDefaultAdministratorRights"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.micro_utils.language_codes.IetfLangSerializer
import dev.inmo.tgbotapi.types.commands.*
import dev.inmo.tgbotapi.types.languageCodeField
import dev.inmo.tgbotapi.types.scopeField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -17,12 +18,12 @@ data class DeleteMyCommands(
@SerialName(languageCodeField)
@Serializable(IetfLangSerializer::class)
override val ietfLanguageCode: IetfLang? = null
) : MyCommandsRequest<Boolean> {
) : MyCommandsRequest<Unit> {
override fun method(): String = "deleteMyCommands"
override val requestSerializer: SerializationStrategy<DeleteMyCommands>
get() = serializer()
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
constructor(
scope: BotCommandScope = BotCommandScopeDefault,
@@ -32,5 +33,5 @@ data class DeleteMyCommands(
languageCode ?.let(::IetfLang)
)
companion object : MyCommandsRequest<Boolean> by DeleteMyCommands()
companion object : MyCommandsRequest<Unit> by DeleteMyCommands()
}

View File

@@ -1,16 +1,17 @@
package dev.inmo.tgbotapi.requests.bot
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.Serializable
import kotlinx.serialization.SerializationStrategy
import kotlinx.serialization.builtins.serializer
@Serializable
object RemoveMyProfilePhoto : SimpleRequest<Boolean> {
object RemoveMyProfilePhoto : SimpleRequest<Unit> {
override fun method(): String = "removeMyProfilePhoto"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -5,6 +5,7 @@ import dev.inmo.micro_utils.language_codes.IetfLangSerializer
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.commands.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -18,10 +19,10 @@ class SetMyCommands(
@SerialName(languageCodeField)
@Serializable(IetfLangSerializer::class)
override val ietfLanguageCode: IetfLang? = null
) : MyCommandsRequest<Boolean> {
) : MyCommandsRequest<Unit> {
override fun method(): String = "setMyCommands"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.bot
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.member.ChatCommonAdministratorRights
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -12,10 +13,10 @@ class SetMyDefaultAdministratorRights(
val rights: ChatCommonAdministratorRights,
@SerialName(forChannelsField)
val forChannels: Boolean? = null
) : SimpleRequest<Boolean> {
) : SimpleRequest<Unit> {
override fun method(): String = "setMyDefaultAdministratorRights"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.abstracts.WithOptionalLanguageCode
import dev.inmo.tgbotapi.types.commands.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -16,10 +17,10 @@ class SetMyDescription(
@SerialName(languageCodeField)
@Serializable(IetfLangSerializer::class)
override val ietfLanguageCode: IetfLang? = null
) : SimpleRequest<Boolean>, WithOptionalLanguageCode {
) : SimpleRequest<Unit>, WithOptionalLanguageCode {
override fun method(): String = "setMyDescription"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.abstracts.WithOptionalLanguageCode
import dev.inmo.tgbotapi.types.commands.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -16,10 +17,10 @@ class SetMyName(
@SerialName(languageCodeField)
@Serializable(IetfLangSerializer::class)
override val ietfLanguageCode: IetfLang? = null
) : SimpleRequest<Boolean>, WithOptionalLanguageCode {
) : SimpleRequest<Unit>, WithOptionalLanguageCode {
override fun method(): String = "setMyName"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.bot
import dev.inmo.tgbotapi.requests.abstracts.*
import dev.inmo.tgbotapi.requests.business_connection.InputProfilePhoto
import dev.inmo.tgbotapi.types.photoField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.json.JsonObject
@@ -11,15 +12,15 @@ import kotlinx.serialization.json.JsonObject
data class SetMyProfilePhoto(
@SerialName(photoField)
val photo: InputProfilePhoto
) : MultipartRequest.Common<Boolean> {
) : MultipartRequest.Common<Unit> {
override fun method(): String = "setMyProfilePhoto"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override val data: SimpleRequest<Boolean>
override val data: SimpleRequest<Unit>
get() = this
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.abstracts.WithOptionalLanguageCode
import dev.inmo.tgbotapi.types.commands.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -16,10 +17,10 @@ class SetMyShortDescription(
@SerialName(languageCodeField)
@Serializable(IetfLangSerializer::class)
override val ietfLanguageCode: IetfLang? = null
) : SimpleRequest<Boolean>, WithOptionalLanguageCode {
) : SimpleRequest<Unit>, WithOptionalLanguageCode {
override fun method(): String = "setMyShortDescription"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -17,6 +17,7 @@ import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.types.messageIdsField
import dev.inmo.tgbotapi.types.ownedGiftIdField
import dev.inmo.tgbotapi.types.usernameField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -29,11 +30,11 @@ data class ConvertGiftToStars(
override val businessConnectionId: BusinessConnectionId,
@SerialName(ownedGiftIdField)
val ownedGiftId: GiftId
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "convertGiftToStars"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.businessConnectionIdField
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.messageIdsField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -17,11 +18,11 @@ data class DeleteBusinessMessages(
override val businessConnectionId: BusinessConnectionId,
@SerialName(messageIdsField)
val messagesIds: List<MessageId>
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "deleteBusinessMessages"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -9,6 +9,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.chatIdField
import dev.inmo.tgbotapi.types.message.RawMessage
import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -24,11 +25,11 @@ data class ReadBusinessMessage(
val chatId: ChatId,
@SerialName(messageIdField)
val messageId: MessageId
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "readBusinessMessage"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -17,6 +17,7 @@ import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.types.messageIdsField
import dev.inmo.tgbotapi.types.photoField
import dev.inmo.tgbotapi.types.usernameField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -29,11 +30,11 @@ data class RemoveBusinessAccountProfilePhoto(
override val businessConnectionId: BusinessConnectionId,
@SerialName(isPublicField)
val isPublic: Boolean = false
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "removeBusinessAccountProfilePhoto"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -15,6 +15,7 @@ import dev.inmo.tgbotapi.types.message.RawMessage
import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.types.messageIdsField
import dev.inmo.tgbotapi.types.usernameField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -27,11 +28,11 @@ data class SetBusinessAccountBio(
override val businessConnectionId: BusinessConnectionId,
@SerialName(bioField)
val bio: String
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "setBusinessAccountBio"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -17,6 +17,7 @@ import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.types.messageIdsField
import dev.inmo.tgbotapi.types.showGiftButtonField
import dev.inmo.tgbotapi.types.usernameField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -31,11 +32,11 @@ data class SetBusinessAccountGiftSettings(
val showGiftButton: Boolean,
@SerialName(acceptedGiftTypesField)
val acceptedGiftTypes: AcceptedGiftTypes
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "setBusinessAccountGiftSettings"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -12,6 +12,7 @@ import dev.inmo.tgbotapi.types.lastNameField
import dev.inmo.tgbotapi.types.message.RawMessage
import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.types.messageIdsField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -26,11 +27,11 @@ data class SetBusinessAccountName(
val firstName: String,
@SerialName(lastNameField)
val lastName: String? = null
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "setBusinessAccountName"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.types.businessConnectionIdField
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.isPublicField
import dev.inmo.tgbotapi.types.photoField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -20,11 +21,11 @@ data class SetBusinessAccountProfilePhoto(
val photo: InputProfilePhoto,
@SerialName(isPublicField)
val isPublic: Boolean = false
) : BusinessRequest.Multipart<Boolean> {
) : BusinessRequest.Multipart<Unit> {
override fun method(): String = "setBusinessAccountProfilePhoto"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -14,6 +14,7 @@ import dev.inmo.tgbotapi.types.message.RawMessage
import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.types.messageIdsField
import dev.inmo.tgbotapi.types.usernameField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -27,11 +28,11 @@ data class SetBusinessAccountUsername(
@SerialName(usernameField)
@Serializable(Username.Companion.WithoutAtSerializer::class)
val username: Username
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "setBusinessAccountUsername"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.requests.abstracts.BusinessRequest
import dev.inmo.tgbotapi.types.businessConnectionIdField
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.starCountField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -16,11 +17,11 @@ data class TransferBusinessAccountStars(
override val businessConnectionId: BusinessConnectionId,
@SerialName(starCountField)
val starCount: Int
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "transferBusinessAccountStars"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -8,6 +8,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.newOwnerChatIdField
import dev.inmo.tgbotapi.types.ownedGiftIdField
import dev.inmo.tgbotapi.types.starCountField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -25,11 +26,11 @@ data class TransferGift(
val newOwnerChatId: ChatId,
@SerialName(starCountField)
val transferPaymentStarCount: Int? = null,
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "transferGift"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -19,6 +19,7 @@ import dev.inmo.tgbotapi.types.messageIdsField
import dev.inmo.tgbotapi.types.ownedGiftIdField
import dev.inmo.tgbotapi.types.starCountField
import dev.inmo.tgbotapi.types.usernameField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -35,11 +36,11 @@ data class UpgradeGift(
val keepOriginalDetails: Boolean = false,
@SerialName(starCountField)
val starCount: Int? = null,
) : BusinessRequest.Simple<Boolean> {
) : BusinessRequest.Simple<Unit> {
override fun method(): String = "upgradeGift"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.ChatIdentifier
import dev.inmo.tgbotapi.types.chatIdField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -11,10 +12,10 @@ import kotlinx.serialization.builtins.serializer
data class LeaveChat(
@SerialName(chatIdField)
override val chatId: ChatIdentifier
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
override fun method(): String = "leaveChat"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,6 @@ import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.IdChatIdentifier
interface ChatSenderRequest : ChatRequest, SimpleRequest<Boolean> {
interface ChatSenderRequest : ChatRequest, SimpleRequest<Unit> {
val senderChatId: IdChatIdentifier
}

View File

@@ -11,7 +11,7 @@ import kotlinx.serialization.builtins.serializer
data class CloseGeneralForumTopic (
@SerialName(chatIdField)
override val chatId: ChatIdentifier
): ModifyForumRequest, GeneralForumRequest<Boolean> {
): ModifyForumRequest, GeneralForumRequest<Unit> {
override fun method(): String = "closeGeneralForumTopic"
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -9,7 +9,7 @@ data class EditGeneralForumTopic (
override val chatId: ChatIdentifier,
@SerialName(nameField)
val name: String
): ModifyForumRequest, GeneralForumRequest<Boolean> {
): ModifyForumRequest, GeneralForumRequest<Unit> {
init {
if (name.length !in threadNameLength) {
throw IllegalArgumentException("Thread name must be in $threadNameLength range")

View File

@@ -11,7 +11,7 @@ import kotlinx.serialization.builtins.serializer
data class HideGeneralForumTopic (
@SerialName(chatIdField)
override val chatId: ChatIdentifier
): ModifyForumRequest, GeneralForumRequest<Boolean> {
): ModifyForumRequest, GeneralForumRequest<Unit> {
override fun method(): String = "hideGeneralForumTopic"
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -1,10 +1,11 @@
package dev.inmo.tgbotapi.requests.chat.forum
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.builtins.serializer
sealed interface ModifyForumRequest : ForumRequest<Boolean> {
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
sealed interface ModifyForumRequest : ForumRequest<Unit> {
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -11,7 +11,7 @@ import kotlinx.serialization.builtins.serializer
data class ReopenGeneralForumTopic (
@SerialName(chatIdField)
override val chatId: ChatIdentifier,
): ModifyForumRequest, GeneralForumRequest<Boolean> {
): ModifyForumRequest, GeneralForumRequest<Unit> {
override fun method(): String = "reopenGeneralForumTopic"
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -11,7 +11,7 @@ import kotlinx.serialization.builtins.serializer
data class UnhideGeneralForumTopic (
@SerialName(chatIdField)
override val chatId: ChatIdentifier
): ModifyForumRequest, GeneralForumRequest<Boolean> {
): ModifyForumRequest, GeneralForumRequest<Unit> {
override fun method(): String = "unhideGeneralForumTopic"
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -2,18 +2,19 @@ package dev.inmo.tgbotapi.requests.chat.invite_links
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
/**
* Represent a join request answer. See inheritors for more info
*/
sealed interface ChatJoinRequestAnswer : SimpleRequest<Boolean> {
sealed interface ChatJoinRequestAnswer : SimpleRequest<Unit> {
val chatId: ChatIdentifier
val userId: UserId
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}
/**

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.chat.members
import dev.inmo.tgbotapi.abstracts.types.UntilDate
import dev.inmo.tgbotapi.requests.chat.abstracts.ChatMemberRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -17,10 +18,10 @@ data class BanChatMember(
override val untilDate: TelegramDate? = null,
@SerialName(revokeMessagesField)
val revokeMessages: Boolean? = null
) : ChatMemberRequest<Boolean>, UntilDate {
) : ChatMemberRequest<Unit>, UntilDate {
override fun method(): String = "banChatMember"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.chat.members
import dev.inmo.tgbotapi.requests.chat.abstracts.ChatSenderRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -17,8 +18,8 @@ data class BanChatSenderChat(
override val senderChatId: IdChatIdentifier
) : ChatSenderRequest {
override fun method(): String = "banChatSenderChat"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.micro_utils.common.Warning
import dev.inmo.tgbotapi.abstracts.types.UntilDate
import dev.inmo.tgbotapi.requests.chat.abstracts.ChatMemberRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -51,10 +52,10 @@ data class PromoteChatMember(
private val canManageDirectMessages: Boolean? = null,
@SerialName(canManageTagsField)
private val canManageTags: Boolean? = null,
) : ChatMemberRequest<Boolean>, UntilDate {
) : ChatMemberRequest<Unit>, UntilDate {
override fun method(): String = "promoteChatMember"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.UntilDate
import dev.inmo.tgbotapi.requests.chat.abstracts.ChatMemberRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.ChatPermissions
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -20,10 +21,10 @@ data class RestrictChatMember(
val permissions: ChatPermissions = ChatPermissions(),
@SerialName(useIndependentChatPermissionsField)
val useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
) : ChatMemberRequest<Boolean>, UntilDate {
) : ChatMemberRequest<Unit>, UntilDate {
override fun method(): String = "restrictChatMember"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.chat.members
import dev.inmo.tgbotapi.requests.chat.abstracts.ChatMemberRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -14,10 +15,10 @@ data class SetChatAdministratorCustomTitle(
override val userId: UserId,
@SerialName(customTitleField)
val customTitle: String
) : ChatMemberRequest<Boolean> {
) : ChatMemberRequest<Unit> {
override fun method(): String = "setChatAdministratorCustomTitle"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.chat.members
import dev.inmo.tgbotapi.requests.chat.abstracts.ChatMemberRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -14,10 +15,10 @@ data class UnbanChatMember(
override val userId: UserId,
@SerialName(onlyIfBannedField)
val onlyIfBanned: Boolean? = null
) : ChatMemberRequest<Boolean> {
) : ChatMemberRequest<Unit> {
override fun method(): String = "unbanChatMember"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.chat.members
import dev.inmo.tgbotapi.requests.chat.abstracts.ChatSenderRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -17,8 +18,8 @@ data class UnbanChatSenderChat(
override val senderChatId: IdChatIdentifier
) : ChatSenderRequest {
override fun method(): String = "unbanChatSenderChat"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.ChatIdentifier
import dev.inmo.tgbotapi.types.chatIdField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -11,10 +12,10 @@ import kotlinx.serialization.builtins.serializer
data class DeleteChatPhoto(
@SerialName(chatIdField)
override val chatId: ChatIdentifier
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
override fun method(): String = "deleteChatPhoto"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.*
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -22,10 +23,10 @@ data class PinChatMessage (
override val businessConnectionId: BusinessConnectionId? = null,
@SerialName(disableNotificationField)
override val disableNotification: Boolean = false
): ChatRequest, SimpleRequest<Boolean>, MessageAction, DisableNotification, OptionallyBusinessConnectionRequest {
): ChatRequest, SimpleRequest<Unit>, MessageAction, DisableNotification, OptionallyBusinessConnectionRequest {
override fun method(): String = "pinChatMessage"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.chat.modify
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -12,7 +13,7 @@ data class SetChatDescription (
override val chatId: ChatIdentifier,
@SerialName(descriptionField)
val description: String
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
init {
if (description.length !in chatDescriptionLength) {
throw IllegalArgumentException("Chat description must be in $chatDescriptionLength range")
@@ -20,8 +21,8 @@ data class SetChatDescription (
}
override fun method(): String = "setChatDescription"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.chat.modify
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -13,12 +14,12 @@ data class SetChatMenuButton(
@Serializable(MenuButtonSerializer::class)
@SerialName(menuButtonField)
val menuButton: MenuButton
) : ChatRequest, SimpleRequest<Boolean> {
) : ChatRequest, SimpleRequest<Unit> {
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override fun method(): String = SetDefaultChatMenuButton.method()
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.ChatPermissions
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -15,10 +16,10 @@ data class SetChatPermissions (
val permissions: ChatPermissions,
@SerialName(useIndependentChatPermissionsField)
val useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
override fun method(): String = "setChatPermissions"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
import dev.inmo.tgbotapi.requests.abstracts.MultipartRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import dev.inmo.tgbotapi.utils.toJson
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -15,10 +16,10 @@ data class SetChatPhoto (
override val chatId: ChatIdentifier,
@Transient
val photo: MultipartFile = throw IllegalArgumentException("Unfortunately, this type of objects can't be parsed automatically")
): ChatRequest, MultipartRequest<Boolean> {
): ChatRequest, MultipartRequest<Unit> {
override fun method(): String = "setChatPhoto"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
@Transient
override val mediaMap: Map<String, MultipartFile> = mapOf(photoField to photo)
@Transient

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.chat.modify
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -12,7 +13,7 @@ data class SetChatTitle (
override val chatId: ChatIdentifier,
@SerialName(titleField)
val title: String
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
init {
if (title.length !in chatTitleLength) {
throw IllegalArgumentException("Chat title must be in $chatTitleLength range")
@@ -20,8 +21,8 @@ data class SetChatTitle (
}
override fun method(): String = "setChatTitle"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.chat.modify
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -10,14 +11,14 @@ data class SetDefaultChatMenuButton(
@Serializable(MenuButtonSerializer::class)
@SerialName(menuButtonField)
val menuButton: MenuButton
) : SimpleRequest<Boolean> {
) : SimpleRequest<Unit> {
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override fun method(): String = Companion.method()
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
companion object {
fun method() = "setChatMenuButton"

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.ChatIdentifier
import dev.inmo.tgbotapi.types.chatIdField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -19,10 +20,10 @@ import kotlinx.serialization.builtins.serializer
data class UnpinAllChatMessages(
@SerialName(chatIdField)
override val chatId: ChatIdentifier
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
override fun method(): String = "unpinAllChatMessages"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.abstracts.types.OptionallyBusinessConnectionRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -16,10 +17,10 @@ data class UnpinChatMessage(
val messageId: MessageId? = null,
@SerialName(businessConnectionIdField)
override val businessConnectionId: BusinessConnectionId? = null
): ChatRequest, SimpleRequest<Boolean>, OptionallyBusinessConnectionRequest {
): ChatRequest, SimpleRequest<Unit>, OptionallyBusinessConnectionRequest {
override fun method(): String = "unpinChatMessage"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.ChatIdentifier
import dev.inmo.tgbotapi.types.chatIdField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -11,10 +12,10 @@ import kotlinx.serialization.builtins.serializer
data class DeleteChatStickerSet(
@SerialName(chatIdField)
override val chatId: ChatIdentifier
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
override fun method(): String = "deleteChatStickerSet"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.chat.stickers
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -12,10 +13,10 @@ data class SetChatStickerSet(
override val chatId: ChatIdentifier,
@SerialName(stickerSetNameField)
val stickerSetName: StickerSetName
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
override fun method(): String = "setChatStickerSet"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -2,11 +2,12 @@ package dev.inmo.tgbotapi.requests.edit.abstracts
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.InlineMessageId
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.builtins.serializer
interface EditInlineMessage : SimpleRequest<Boolean> {
interface EditInlineMessage : SimpleRequest<Unit> {
val inlineMessageId: InlineMessageId
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.types.isCanceledField
import dev.inmo.tgbotapi.types.payments.abstracts.TelegramPaymentChargeId
import dev.inmo.tgbotapi.types.telegramPaymentChargeIdField
import dev.inmo.tgbotapi.types.userIdField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -21,13 +22,13 @@ data class EditUserStarSubscription(
val telegramPaymentChargeId: TelegramPaymentChargeId,
@SerialName(isCanceledField)
val isCanceled: Boolean
) : SimpleRequest<Boolean> {
) : SimpleRequest<Unit> {
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override fun method(): String = "editUserStarSubscription"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -63,7 +63,7 @@ data class EditInlineMessageText internal constructor(
override val linkPreviewOptions: LinkPreviewOptions? = null,
@SerialName(replyMarkupField)
override val replyMarkup: InlineKeyboardMarkup? = null
) : EditInlineMessage, WithCustomizableCaptionRequest<Boolean>, EditTextChatMessage, EditReplyMessage, EditLinkPreviewOptionsContainer {
) : EditInlineMessage, WithCustomizableCaptionRequest<Unit>, EditTextChatMessage, EditReplyMessage, EditLinkPreviewOptionsContainer {
override val textSources: TextSourcesList? by lazy {
rawEntities ?.asTextSources(text)
}

View File

@@ -2,16 +2,17 @@ package dev.inmo.tgbotapi.requests.games.abstracts
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.UserId
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.builtins.serializer
interface SetGameScore : SimpleRequest<Boolean> {
interface SetGameScore : SimpleRequest<Unit> {
val userId: UserId
val score: Long
val force: Boolean
val disableEditMessage: Boolean
override fun method(): String = "setGameScore"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -15,6 +15,7 @@ import dev.inmo.tgbotapi.types.textField
import dev.inmo.tgbotapi.types.textParseModeField
import dev.inmo.tgbotapi.types.userIdField
import dev.inmo.tgbotapi.utils.extensions.makeSourceString
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -37,7 +38,7 @@ data class GiftPremiumSubscription internal constructor(
override val parseMode: ParseMode? = null,
@SerialName(textEntitiesField)
private val rawEntities: RawMessageEntities? = null,
) : SimpleRequest<Boolean>, TextedOutput {
) : SimpleRequest<Unit>, TextedOutput {
override val textSources: TextSourcesList? by lazy {
rawEntities?.let {
text?.let { _ ->
@@ -51,8 +52,8 @@ data class GiftPremiumSubscription internal constructor(
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
constructor(
userId: UserId,

View File

@@ -9,6 +9,7 @@ import dev.inmo.tgbotapi.types.message.asTextSources
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
import dev.inmo.tgbotapi.types.message.toRawMessageEntities
import dev.inmo.tgbotapi.utils.extensions.makeSourceString
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -33,7 +34,7 @@ data class SendGift internal constructor(
private val rawEntities: List<RawMessageEntity>? = null,
@SerialName(payToUpgradeField)
val upgradableToUnique: Boolean = false
) : SimpleRequest<Boolean>, TextedOutput {
) : SimpleRequest<Unit>, TextedOutput {
override val textSources: TextSourcesList? by lazy {
rawEntities ?.let {
text ?.let { _ ->
@@ -48,8 +49,8 @@ data class SendGift internal constructor(
get() = serializer()
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
@Deprecated("Use factory function `toUser` instead", ReplaceWith("toUser(userId, giftId, text, parseMode, upgradableToUnique)"))
constructor(

View File

@@ -1,6 +1,7 @@
package dev.inmo.tgbotapi.requests.local
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -12,12 +13,12 @@ import kotlinx.serialization.builtins.serializer
* @see io.ktor.client.features.ClientRequestException
*/
@Serializable
object Close : SimpleRequest<Boolean> {
object Close : SimpleRequest<Unit> {
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override fun method(): String = "close"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -1,6 +1,7 @@
package dev.inmo.tgbotapi.requests.local
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -10,12 +11,12 @@ import kotlinx.serialization.builtins.serializer
* call, you will not be able to log in again using the same token for 10 minutes
*/
@Serializable
object LogOut : SimpleRequest<Boolean> {
object LogOut : SimpleRequest<Unit> {
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override fun method(): String = "logOut"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.requests.send.abstracts.SendChatMessageRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.actions.BotAction
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -24,10 +25,10 @@ data class SendAction(
override val threadId: MessageThreadId? = chatId.threadId,
@SerialName(businessConnectionIdField)
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId
): SendChatMessageRequest<Boolean>, OptionallyMessageThreadRequest, OptionallyBusinessConnectionRequest {
): SendChatMessageRequest<Unit>, OptionallyMessageThreadRequest, OptionallyBusinessConnectionRequest {
override fun method(): String = "sendChatAction"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -13,6 +13,7 @@ import dev.inmo.tgbotapi.types.message.abstracts.TelegramBotAPIMessageDeserializ
import dev.inmo.tgbotapi.types.message.content.TextContent
import dev.inmo.tgbotapi.types.message.toRawMessageEntities
import dev.inmo.tgbotapi.utils.extensions.makeString
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import dev.inmo.tgbotapi.utils.throwRangeError
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -63,7 +64,7 @@ data class SendMessageDraft internal constructor(
@SerialName(messageThreadIdField)
@EncodeDefault
override val threadId: MessageThreadId? = chatId.threadId
) : SendChatMessageRequest<Boolean>,
) : SendChatMessageRequest<Unit>,
TextedOutput,
OptionallyMessageThreadRequest
{
@@ -78,8 +79,8 @@ data class SendMessageDraft internal constructor(
}
override fun method(): String = "sendMessageDraft"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.reactions.Reaction
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -20,12 +21,12 @@ data class SetMessageReactions(
val reactions: List<Reaction>,
@SerialName(isBigField)
val big: Boolean = false
) : SimpleRequest<Boolean>, ChatRequest {
) : SimpleRequest<Unit>, ChatRequest {
override fun method(): String = "setMessageReaction"
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.send.payments
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.payments.abstracts.TelegramPaymentChargeId
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -13,10 +14,10 @@ data class RefundStarPayment(
val userId: UserId,
@SerialName(telegramPaymentChargeIdField)
val telegramPaymentChargeId: TelegramPaymentChargeId
) : SimpleRequest<Boolean> {
) : SimpleRequest<Unit> {
override fun method(): String = "refundStarPayment"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.set
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -18,12 +19,12 @@ data class SetUserEmojiStatus(
@Serializable(TelegramDateSerializer::class)
@SerialName(emojiStatusExpirationDateField)
val expirationDate: TelegramDate? = null
) : SimpleRequest<Boolean> {
) : SimpleRequest<Unit> {
override fun method(): String = "setUserEmojiStatus"
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -11,7 +11,7 @@ fun AddStickerToSet(
userId: UserId,
stickerSetName: StickerSetName,
inputSticker: InputSticker
): Request<Boolean> {
): Request<Unit> {
val data = AddStickerToSetData(userId, stickerSetName, inputSticker)
return when (val sticker = inputSticker.sticker) {
is MultipartFile -> CommonMultipartFileRequest(
@@ -26,7 +26,7 @@ fun AddStickerToSet(
userId: UserId,
stickerSetName: String,
inputSticker: InputSticker
): Request<Boolean> = AddStickerToSet(
): Request<Unit> = AddStickerToSet(
userId = userId,
stickerSetName = StickerSetName(stickerSetName),
inputSticker = inputSticker

View File

@@ -19,7 +19,7 @@ fun CreateNewStickerSet(
title: String,
stickers: List<InputSticker>,
needsRepainting: Boolean? = null
): Request<Boolean> {
): Request<Unit> {
val data = when(stickers.first()) {
is InputSticker.Mask -> CreateNewStickerSet.Mask(userId, name, title, stickers.filterIsInstance<InputSticker.Mask>())
is InputSticker.WithKeywords.CustomEmoji -> CreateNewStickerSet.CustomEmoji(userId, name, title, stickers.filterIsInstance<InputSticker.WithKeywords.CustomEmoji>(), needsRepainting)

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.stickers
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.requests.stickers.abstracts.StickerAction
import dev.inmo.tgbotapi.types.stickerField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -11,10 +12,10 @@ data class DeleteStickerFromSet(
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@SerialName(stickerField)
override val sticker: FileId
) : StickerAction<Boolean> {
) : StickerAction<Unit> {
override fun method(): String = "deleteStickerFromSet"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.StickerSetName
import dev.inmo.tgbotapi.types.nameField
import dev.inmo.tgbotapi.types.stickerField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -12,10 +13,10 @@ import kotlinx.serialization.builtins.serializer
data class DeleteStickerSet(
@SerialName(nameField)
val name: StickerSetName
) : SimpleRequest<Boolean> {
) : SimpleRequest<Unit> {
override fun method(): String = "deleteStickerSet"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -15,7 +15,7 @@ fun ReplaceStickerInSet(
stickerSetName: StickerSetName,
oldSticker: FileId,
newSticker: InputSticker
): Request<Boolean> {
): Request<Unit> {
val data = ReplaceStickerInSetData(
userId = userId,
name = stickerSetName,
@@ -37,7 +37,7 @@ fun ReplaceStickerInSet(
stickerSetName: String,
oldSticker: FileId,
newSticker: InputSticker
): Request<Boolean> = ReplaceStickerInSetData(
): Request<Unit> = ReplaceStickerInSetData(
userId = userId,
name = StickerSetName(stickerSetName),
oldSticker = oldSticker,

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.stickers
import dev.inmo.tgbotapi.requests.abstracts.*
import dev.inmo.tgbotapi.requests.stickers.abstracts.StickerAction
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -14,7 +15,7 @@ data class SetStickerEmojiList (
override val sticker: FileId,
@SerialName(emojiListField)
val emojis: List<String>
) : StickerAction<Boolean> {
) : StickerAction<Unit> {
constructor(sticker: FileId, vararg emojis: String) : this(sticker, emojis.toList())
init {
@@ -23,8 +24,8 @@ data class SetStickerEmojiList (
}
}
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.stickers
import dev.inmo.tgbotapi.requests.abstracts.*
import dev.inmo.tgbotapi.requests.stickers.abstracts.StickerAction
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -14,7 +15,7 @@ data class SetStickerKeywords (
override val sticker: FileId,
@SerialName(keywordsField)
val keywords: List<String>
) : StickerAction<Boolean> {
) : StickerAction<Unit> {
constructor(sticker: FileId, vararg keywords: String) : this(sticker, keywords.toList())
init {
@@ -28,8 +29,8 @@ data class SetStickerKeywords (
}
}
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.requests.abstracts.*
import dev.inmo.tgbotapi.requests.stickers.abstracts.StickerAction
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.stickers.MaskPosition
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -14,9 +15,9 @@ data class SetStickerMaskPosition (
override val sticker: FileId,
@SerialName(maskPositionField)
val maskPosition: MaskPosition
) : StickerAction<Boolean> {
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
) : StickerAction<Unit> {
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.requests.stickers.abstracts.StickerAction
import dev.inmo.tgbotapi.types.positionField
import dev.inmo.tgbotapi.types.stickerField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -14,7 +15,7 @@ data class SetStickerPositionInSet(
override val sticker: FileId,
@SerialName(positionField)
val position: Int
) : StickerAction<Boolean> {
) : StickerAction<Unit> {
init {
if (position < 0) {
throw IllegalArgumentException("Position must be positive or 0")
@@ -22,8 +23,8 @@ data class SetStickerPositionInSet(
}
override fun method(): String = "setStickerPositionInSet"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -13,7 +13,7 @@ fun SetStickerSetThumbnail(
stickerSetName: StickerSetName,
format: StickerFormat,
thumbnail: MultipartFile
): Request<Boolean> {
): Request<Unit> {
return CommonMultipartFileRequest(
SetStickerSetThumbnail(userId, stickerSetName, format),
mapOf(thumbnailField to thumbnail)
@@ -26,7 +26,7 @@ fun SetStickerSetThumbnail(
stickerSetName: String,
format: StickerFormat,
thumbnail: MultipartFile
): Request<Boolean> = SetStickerSetThumbnail(
): Request<Unit> = SetStickerSetThumbnail(
userId = userId,
stickerSetName = StickerSetName(stickerSetName, ),
format = format,

View File

@@ -3,12 +3,13 @@ package dev.inmo.tgbotapi.requests.stickers.abstracts
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.StickerSetName
import dev.inmo.tgbotapi.types.UserId
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.KSerializer
import kotlinx.serialization.builtins.serializer
interface StickerSetAction : SimpleRequest<Boolean> {
interface StickerSetAction : SimpleRequest<Unit> {
val name: StickerSetName
override val resultDeserializer: KSerializer<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: KSerializer<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -7,6 +7,7 @@ import dev.inmo.tgbotapi.types.businessConnectionIdField
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.types.storyIdField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -19,11 +20,11 @@ data class DeleteStory(
override val businessConnectionId: BusinessConnectionId,
@SerialName(storyIdField)
val storyId: StoryId,
) : SimpleRequest<Boolean>, WithBusinessConnectionId {
) : SimpleRequest<Unit>, WithBusinessConnectionId {
override fun method(): String = "deleteStory"
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -9,6 +9,7 @@ import dev.inmo.tgbotapi.types.TelegramDate
import dev.inmo.tgbotapi.types.chatIdField
import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.types.sendDateField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -25,12 +26,12 @@ data class ApproveSuggestedPost(
val messageId: MessageId,
@SerialName(sendDateField)
val sendDate: TelegramDate? = null,
) : SimpleRequest<Boolean>, ChatRequest {
) : SimpleRequest<Unit>, ChatRequest {
override val requestSerializer: SerializationStrategy<ApproveSuggestedPost>
get() = serializer()
override fun method(): String = "approveSuggestedPost"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -8,6 +8,7 @@ import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.chatIdField
import dev.inmo.tgbotapi.types.commentField
import dev.inmo.tgbotapi.types.messageIdField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -24,12 +25,12 @@ data class DeclineSuggestedPost(
val messageId: MessageId,
@SerialName(commentField)
val comment: String? = null,
) : SimpleRequest<Boolean>, ChatRequest {
) : SimpleRequest<Unit>, ChatRequest {
override val requestSerializer: SerializationStrategy<DeclineSuggestedPost>
get() = serializer()
override fun method(): String = "declineSuggestedPost"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
}

View File

@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.requests.verifications
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -14,10 +15,10 @@ import kotlinx.serialization.builtins.serializer
data class RemoveChatVerification(
@SerialName(chatIdField)
override val chatId: ChatIdentifier,
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
override fun method(): String = "removeChatVerification"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.verifications
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -13,10 +14,10 @@ data class RemoveUserVerification(
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
@SerialName(userIdField)
val userId: UserId,
): SimpleRequest<Boolean> {
): SimpleRequest<Unit> {
override fun method(): String = "removeUserVerification"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.types.ChatIdentifier
import dev.inmo.tgbotapi.types.chatIdField
import dev.inmo.tgbotapi.types.customDescriptionField
import dev.inmo.tgbotapi.types.descriptionField
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -19,10 +20,10 @@ data class VerifyChat(
override val chatId: ChatIdentifier,
@SerialName(customDescriptionField)
val description: String? = null
): ChatRequest, SimpleRequest<Boolean> {
): ChatRequest, SimpleRequest<Unit> {
override fun method(): String = "verifyChat"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.verifications
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -16,10 +17,10 @@ data class VerifyUser(
val userId: UserId,
@SerialName(customDescriptionField)
val description: String? = null
): SimpleRequest<Boolean> {
): SimpleRequest<Unit> {
override fun method(): String = "verifyUser"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -1,15 +1,16 @@
package dev.inmo.tgbotapi.requests.webhook
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@Serializable
class DeleteWebhook : SimpleRequest<Boolean> {
class DeleteWebhook : SimpleRequest<Unit> {
override fun method(): String = "deleteWebhook"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.requests.send.media.base.DataRequest
import dev.inmo.tgbotapi.requests.send.media.base.MultipartRequestImpl
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -15,7 +16,7 @@ private fun correctWebhookUrl(sourceUrl: String) = if (sourceUrl.contains("://")
"https://$sourceUrl"
}
sealed class SetWebhookRequest : Request<Boolean>
sealed class SetWebhookRequest : Request<Unit>
class MultipartSetWebhookRequest(
url: String,
certificate: MultipartFile,
@@ -24,7 +25,7 @@ class MultipartSetWebhookRequest(
allowedUpdates: List<String>? = ALL_UPDATES_LIST,
dropPendingUpdates: Boolean? = null,
secretToken: String? = null
) : SetWebhookRequest(), MultipartRequest<Boolean> by MultipartRequestImpl(
) : SetWebhookRequest(), MultipartRequest<Unit> by MultipartRequestImpl(
SetWebhook(
correctWebhookUrl(url),
null as String?,
@@ -154,10 +155,10 @@ data class SetWebhook internal constructor(
val dropPendingUpdates: Boolean? = null,
@SerialName(secretTokenField)
val secretToken: String? = null
) : SetWebhookRequest(), DataRequest<Boolean> {
) : SetWebhookRequest(), DataRequest<Unit> {
override fun method(): String = "setWebhook"
override val resultDeserializer: DeserializationStrategy<Boolean>
get() = Boolean.serializer()
override val resultDeserializer: DeserializationStrategy<Unit>
get() = UnitFromBooleanSerializer
override val requestSerializer: SerializationStrategy<*>
get() = serializer()