diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e78009d7a..b1e809a788 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,16 @@ of `]` in links titles * Now `MediaGroupContent` is `MediaContent` * All `MedaContent` now have no generics and have basic `TelegramMediaFile` media field +### 0.12.6 Libraries updates + +* `kotlin` version `1.3.21` -> `1.3.30` +* `kotlin coroutines` version `1.1.1` -> `1.2.0` +* `kotlin serialization` version `0.10.0` -> `0.11.0` +* `ktor` version `1.1.2` -> `1.1.3` +* Added `DeleteWebhook` request +* All default `startGettingOfUpdates` (in fact - method `start` of `UpdatesPoller`) are suspend and +will try to delete webhook + ## 0.11.0 * Kotlin `1.3.11` -> `1.3.21` diff --git a/README.md b/README.md index ab2cc8d9d4..a26b2cde92 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,39 @@ solves or unuseful moments are describing by official [Telegram Bot API](https:/ This version compatible with [July 2018 update of TelegramBotAPI](https://core.telegram.org/bots/api#july-26-2018). That means that most part of API has been implemented (according to last [August 2018 update of TelegramBotAPI](https://core.telegram.org/bots/api#august-27-2018)) -except the Passport API which will be included as soon as possible. +except the Passport API which will be included as soon as possible. All included and supported API +can be found on [wiki](https://github.com/InsanusMokrassar/TelegramBotAPI/wiki/Included-API). + +## How to implement library? + +Common ways to implement this library are presented here. In some cases it will require additional steps +like inserting of additional libraries (like `kotlin stdlib`). In the examples will be used variable +`telegrambotapi.version`, which must be set up by developer. Available versions are presented on +[bintray](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI), next version is last published: + +[![Download](https://api.bintray.com/packages/insanusmokrassar/StandardRepository/TelegramBotAPI/images/download.svg) ](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI/_latestVersion) + +### Maven + +```xml + + com.github.insanusmokrassar + TelegramBotAPI + ${telegrambotapi.version} + +``` + +### Gradle + +```groovy +implementation "com.github.insanusmokrassar:TelegramBotAPI:${telegrambotapi.version}" +``` + +### Gradle (old) + +```groovy +compile "com.github.insanusmokrassar:TelegramBotAPI:${telegrambotapi.version}" +``` ## How to work with library? diff --git a/build.gradle b/build.gradle index 609b4be96a..aef9c31704 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -project.version = "0.12.5" +project.version = "0.12.6" project.group = "com.github.insanusmokrassar" buildscript { diff --git a/gradle.properties b/gradle.properties index 20f62f9d7f..43c7278bdd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,9 +1,9 @@ kotlin.code.style=official -kotlin_version=1.3.21 -kotlin_coroutines_version=1.1.1 -kotlin_serialisation_runtime_version=0.10.0 +kotlin_version=1.3.30 +kotlin_coroutines_version=1.2.0 +kotlin_serialisation_runtime_version=0.11.0 joda_time_version=2.10.1 -ktor_version=1.1.2 +ktor_version=1.1.3 gradle_bintray_plugin_version=1.8.4 diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/settings/ProxySettings.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/settings/ProxySettings.kt index 19dfdec44d..ba83791ef3 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/settings/ProxySettings.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/settings/ProxySettings.kt @@ -1,16 +1,11 @@ package com.github.insanusmokrassar.TelegramBotAPI.bot.settings -import kotlinx.serialization.Optional import kotlinx.serialization.Serializable @Serializable data class ProxySettings( - @Optional val host: String = "localhost", - @Optional val port: Int = 1080, - @Optional val username: String? = null, - @Optional val password: String? = null ) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/settings/limiters/PowLimiter.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/settings/limiters/PowLimiter.kt index da2acc46bf..dfe8e76299 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/settings/limiters/PowLimiter.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/settings/limiters/PowLimiter.kt @@ -2,7 +2,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.bot.settings.limiters import kotlinx.coroutines.* import kotlinx.coroutines.channels.Channel -import kotlinx.serialization.* +import kotlinx.serialization.Serializable +import kotlinx.serialization.Transient import java.util.concurrent.Executors import kotlin.coroutines.* @@ -14,13 +15,9 @@ private object CompleteRequest : RequestEvent() @Serializable data class PowLimiter( - @Optional private val minAwaitTime: Long = 0L, - @Optional private val maxAwaitTime: Long = 10000L, - @Optional private val powValue: Double = 4.0, - @Optional private val powK: Double = 0.0016 ) : RequestLimiter { @Transient diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/ForwardMessage.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/ForwardMessage.kt index f0e764be4b..8fa1281ad4 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/ForwardMessage.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/ForwardMessage.kt @@ -14,7 +14,6 @@ data class ForwardMessage( @SerialName(messageIdField) val messageId: MessageIdentifier, @SerialName(disableNotificationField) - @Optional val disableNotification: Boolean = false ): SimpleRequest { override fun method(): String = "forwardMessage" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/GetUpdates.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/GetUpdates.kt index 9b55e4c99f..b5f88f9882 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/GetUpdates.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/GetUpdates.kt @@ -4,7 +4,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.SimpleReque import com.github.insanusmokrassar.TelegramBotAPI.types.ALL_UPDATES_LIST import com.github.insanusmokrassar.TelegramBotAPI.types.UpdateIdentifier import com.github.insanusmokrassar.TelegramBotAPI.types.update.RawUpdate -import kotlinx.serialization.* +import kotlinx.serialization.KSerializer +import kotlinx.serialization.Serializable import kotlinx.serialization.internal.ArrayListSerializer @Deprecated("Replaced to other package", ReplaceWith("UPDATE_MESSAGE", "com.github.insanusmokrassar.TelegramBotAPI.types.UPDATE_MESSAGE")) @@ -28,13 +29,9 @@ const val UPDATE_PRE_CHECKOUT_QUERY = com.github.insanusmokrassar.TelegramBotAPI @Serializable data class GetUpdates( - @Optional val offset: UpdateIdentifier? = null,// set `last update id + 1` to receive next part of updates - @Optional val limit: Int? = null, - @Optional val timeout: Int? = null, - @Optional val allowed_updates: List? = ALL_UPDATES_LIST ): SimpleRequest> { override fun method(): String = "getUpdates" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/abstracts/InputFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/abstracts/InputFile.kt index 7926308dbf..8b70d3d154 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/abstracts/InputFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/abstracts/InputFile.kt @@ -2,8 +2,10 @@ package com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts import com.github.insanusmokrassar.TelegramBotAPI.utils.StorageFile import kotlinx.serialization.* +import kotlinx.serialization.internal.StringDescriptor import java.io.File +@Serializable(InputFileSerializer::class) sealed class InputFile { abstract val fileId: String } @@ -12,16 +14,17 @@ sealed class InputFile { /** * Contains file id or file url */ -@Serializable(FileIdSerializer::class) +@Serializable(InputFileSerializer::class) data class FileId( override val fileId: String ) : InputFile() fun String.toInputFile(): InputFile = FileId(this) -@Serializer(FileId::class) -object FileIdSerializer : KSerializer { - override fun serialize(encoder: Encoder, obj: FileId) = encoder.encodeString(obj.fileId) +@Serializer(InputFile::class) +object InputFileSerializer : KSerializer { + override val descriptor: SerialDescriptor = StringDescriptor.withName(FileId::class.toString()) + override fun serialize(encoder: Encoder, obj: InputFile) = encoder.encodeString(obj.fileId) override fun deserialize(decoder: Decoder): FileId = FileId(decoder.decodeString()) } @@ -29,7 +32,7 @@ object FileIdSerializer : KSerializer { /** * Contains info about file for sending */ -@Serializable +@Serializable(InputFileSerializer::class) data class MultipartFile ( val file: StorageFile, val mimeType: String = file.contentType, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/answers/AnswerCallbackQuery.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/answers/AnswerCallbackQuery.kt index 829c8e4199..08b7464bdc 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/answers/AnswerCallbackQuery.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/answers/AnswerCallbackQuery.kt @@ -11,16 +11,12 @@ data class AnswerCallbackQuery( @SerialName(callbackQueryIdField) val callbackQueryId: CallbackQueryIdentifier, @SerialName(textField) - @Optional val text: String? = null, @SerialName(showAlertField) - @Optional val showAlert: Boolean? = null, @SerialName(urlField) - @Optional val url: String? = null, @SerialName(cachedTimeField) - @Optional val cachedTimeSeconds: Int? = null ) : SimpleRequest { override fun method(): String = "answerCallbackQuery" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/answers/AnswerInlineQuery.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/answers/AnswerInlineQuery.kt index b4181e0f7e..ed4e3a29aa 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/answers/AnswerInlineQuery.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/answers/AnswerInlineQuery.kt @@ -17,19 +17,14 @@ data class AnswerInlineQuery( @SerialName(resultsField) val results: List = emptyList(), @SerialName(cachedTimeField) - @Optional val cachedTime: Int? = null, @SerialName(isPersonalField) - @Optional val isPersonal: Boolean? = null, @SerialName(nextOffsetField) - @Optional val nextOffset: String? = null, @SerialName(switchPmTextField) - @Optional val switchPmText: String? = null, @SerialName(switchPmParameterField) - @Optional val switchPmParameter: String? = null ): SimpleRequest { override fun method(): String = "answerInlineQuery" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/KickChatMember.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/KickChatMember.kt index 96f917ab9c..0bd97473a7 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/KickChatMember.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/KickChatMember.kt @@ -13,7 +13,6 @@ data class KickChatMember( @SerialName(userIdField) override val userId: UserId, @SerialName(untilDateField) - @Optional override val untilDate: TelegramDate? = null ) : ChatMemberRequest, UntilDate { override fun method(): String = "kickChatMember" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/PromoteChatMember.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/PromoteChatMember.kt index 4751adb8c6..57e4fdf090 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/PromoteChatMember.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/PromoteChatMember.kt @@ -13,31 +13,22 @@ data class PromoteChatMember( @SerialName(userIdField) override val userId: UserId, @SerialName(untilDateField) - @Optional override val untilDate: TelegramDate? = null, @SerialName(canChangeInfoField) - @Optional private val canChangeInfo: Boolean? = null, @SerialName(canPostMessagesField) - @Optional private val canPostMessages: Boolean? = null, @SerialName(canEditMessagesField) - @Optional private val canEditMessages: Boolean? = null, @SerialName(canDeleteMessagesField) - @Optional private val canDeleteMessages: Boolean? = null, @SerialName(canInviteUsersField) - @Optional private val canInviteUsers: Boolean? = null, @SerialName(canRestrictMembersField) - @Optional private val canRestrictMembers: Boolean? = null, @SerialName(canPinMessagesField) - @Optional private val canPinMessages: Boolean? = null, @SerialName(canPromoteMembersField) - @Optional private val canPromoteMembers: Boolean? = null ) : ChatMemberRequest, UntilDate { override fun method(): String = "promoteChatMember" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/RestrictChatMember.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/RestrictChatMember.kt index cf960fa91b..5179587c6c 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/RestrictChatMember.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/members/RestrictChatMember.kt @@ -13,19 +13,14 @@ data class RestrictChatMember( @SerialName(userIdField) override val userId: UserId, @SerialName(untilDateField) - @Optional override val untilDate: TelegramDate? = null, @SerialName(canSendMessagesField) - @Optional private val canSendMessages: Boolean? = null, @SerialName(canSendMediaMessagesField) - @Optional private val canSendMediaMessages: Boolean? = null, @SerialName(canSendOtherMessagesField) - @Optional private val canSendOtherMessages: Boolean? = null, @SerialName(canAddWebPagePreviewsField) - @Optional private val canAddWebPagePreviews: Boolean? = null ) : ChatMemberRequest, UntilDate { override fun method(): String = "restrictChatMember" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/PinChatMessage.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/PinChatMessage.kt index 000b055562..f9c74c5309 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/PinChatMessage.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/PinChatMessage.kt @@ -14,7 +14,6 @@ data class PinChatMessage ( @SerialName(messageIdField) val messageId: MessageIdentifier, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false ): ChatRequest, SimpleRequest, DisableNotification { override fun method(): String = "pinChatMessage" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/SetChatPhoto.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/SetChatPhoto.kt index 184b344255..212346bf6d 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/SetChatPhoto.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/SetChatPhoto.kt @@ -13,11 +13,10 @@ import kotlinx.serialization.json.JsonObject data class SetChatPhoto ( @SerialName(chatIdField) override val chatId: ChatIdentifier, - @Transient val photo: MultipartFile = throw IllegalArgumentException("Unfortunately, this type of objects can't be parsed automatically") ): ChatRequest, MultipartRequest { override fun method(): String = "setChatPhoto" override fun resultSerializer(): KSerializer = BooleanSerializer override val mediaMap: Map = mapOf(photoField to photo) - override val paramsJson: JsonObject = this.toJson(serializer()) + override val paramsJson: JsonObject = toJson(serializer()) } diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/EditChatMessageLiveLocation.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/EditChatMessageLiveLocation.kt index 6e274db55f..c492115e85 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/EditChatMessageLiveLocation.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/EditChatMessageLiveLocation.kt @@ -17,7 +17,6 @@ data class EditChatMessageLiveLocation( @SerialName(longitudeField) override val longitude: Double, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditChatMessage, EditReplyMessage, EditLocationMessage { override fun method(): String = "editMessageLiveLocation" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/EditInlineMessageLiveLocation.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/EditInlineMessageLiveLocation.kt index 652dac2282..215a67c1a4 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/EditInlineMessageLiveLocation.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/EditInlineMessageLiveLocation.kt @@ -3,7 +3,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.requests.edit.LiveLocation import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class EditInlineMessageLiveLocation( @@ -14,7 +15,6 @@ data class EditInlineMessageLiveLocation( @SerialName(longitudeField) override val longitude: Double, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditInlineMessage, EditReplyMessage, EditLocationMessage { override fun method(): String = "editMessageLiveLocation" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/StopChatMessageLiveLocation.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/StopChatMessageLiveLocation.kt index aa9fae5b02..7780fa347c 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/StopChatMessageLiveLocation.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/StopChatMessageLiveLocation.kt @@ -14,7 +14,6 @@ data class StopChatMessageLiveLocation( @SerialName(messageIdField) override val messageId: MessageIdentifier, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditChatMessage, EditReplyMessage { override fun method(): String = "stopMessageLiveLocation" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/StopInlineMessageLiveLocation.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/StopInlineMessageLiveLocation.kt index 04b24c45e7..3a3b80e6ff 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/StopInlineMessageLiveLocation.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/LiveLocation/StopInlineMessageLiveLocation.kt @@ -4,14 +4,14 @@ import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.abstracts.EditIn import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.abstracts.EditReplyMessage import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class StopInlineMessageLiveLocation( @SerialName(inlineMessageIdField) override val inlineMessageId: InlineMessageIdentifier, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditInlineMessage, EditReplyMessage { override fun method(): String = "stopMessageLiveLocation" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/ReplyMarkup/EditChatMessageReplyMarkup.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/ReplyMarkup/EditChatMessageReplyMarkup.kt index 8af0bd16cb..b8ea63b86a 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/ReplyMarkup/EditChatMessageReplyMarkup.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/ReplyMarkup/EditChatMessageReplyMarkup.kt @@ -16,7 +16,6 @@ data class EditChatMessageReplyMarkup( @SerialName(messageIdField) override val messageId: MessageIdentifier, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditChatMessage, EditReplyMessage { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/ReplyMarkup/EditInlineMessageReplyMarkup.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/ReplyMarkup/EditInlineMessageReplyMarkup.kt index 854760446f..a5a0f17dd7 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/ReplyMarkup/EditInlineMessageReplyMarkup.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/ReplyMarkup/EditInlineMessageReplyMarkup.kt @@ -4,14 +4,14 @@ import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.abstracts.EditIn import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.abstracts.EditReplyMessage import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class EditInlineMessageReplyMarkup( @SerialName(inlineMessageIdField) override val inlineMessageId: InlineMessageIdentifier, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditInlineMessage, EditReplyMessage { override fun method(): String = editMessageReplyMarkupMethod diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/caption/EditChatMessageCaption.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/caption/EditChatMessageCaption.kt index 09f219eb5f..2d281bb1e4 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/caption/EditChatMessageCaption.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/caption/EditChatMessageCaption.kt @@ -19,10 +19,8 @@ data class EditChatMessageCaption( @SerialName(captionField) override val text: String, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditChatMessage, EditTextChatMessage, EditReplyMessage { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/caption/EditInlineMessageCaption.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/caption/EditInlineMessageCaption.kt index 72c4e2474a..6ae7306f0f 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/caption/EditInlineMessageCaption.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/caption/EditInlineMessageCaption.kt @@ -5,7 +5,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class EditInlineMessageCaption( @@ -14,10 +15,8 @@ data class EditInlineMessageCaption( @SerialName(captionField) override val text: String, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditInlineMessage, EditTextChatMessage, EditReplyMessage { override fun method(): String = editMessageCaptionMethod diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/media/EditChatMessageMedia.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/media/EditChatMessageMedia.kt index bcb3d96a0a..4ed80b8de2 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/media/EditChatMessageMedia.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/media/EditChatMessageMedia.kt @@ -19,7 +19,6 @@ data class EditChatMessageMedia( @SerialName(mediaField) override val media: InputMedia, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditChatMessage, EditReplyMessage, EditMediaMessage { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/media/EditInlineMessageMedia.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/media/EditInlineMessageMedia.kt index c99f147e47..27920dc26e 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/media/EditInlineMessageMedia.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/media/EditInlineMessageMedia.kt @@ -5,7 +5,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.InputMedia.InputMedia import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class EditInlineMessageMedia( @@ -14,7 +15,6 @@ data class EditInlineMessageMedia( @SerialName(mediaField) override val media: InputMedia, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditInlineMessage, EditReplyMessage, EditMediaMessage { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/text/EditChatMessageText.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/text/EditChatMessageText.kt index 26e816f485..e4d3c12977 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/text/EditChatMessageText.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/text/EditChatMessageText.kt @@ -19,13 +19,10 @@ data class EditChatMessageText( @SerialName(textField) override val text: String, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(disableWebPagePreviewField) - @Optional override val disableWebPagePreview: Boolean? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditChatMessage, EditTextChatMessage, EditReplyMessage, EditDisableWebPagePreviewMessage { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/text/EditInlineMessageText.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/text/EditInlineMessageText.kt index edc4647004..d04f4bcdcf 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/text/EditInlineMessageText.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/edit/text/EditInlineMessageText.kt @@ -6,7 +6,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class EditInlineMessageText( @@ -15,13 +16,10 @@ data class EditInlineMessageText( @SerialName(textField) override val text: String, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(disableWebPagePreviewField) - @Optional override val disableWebPagePreview: Boolean? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : EditInlineMessage, EditTextChatMessage, EditReplyMessage, EditDisableWebPagePreviewMessage { override fun method(): String = editMessageMediaMethod diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/games/SetGameScoreByChatId.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/games/SetGameScoreByChatId.kt index f5a057be78..5c724b2c0c 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/games/SetGameScoreByChatId.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/games/SetGameScoreByChatId.kt @@ -3,7 +3,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.requests.games import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.types.ByMessageId import com.github.insanusmokrassar.TelegramBotAPI.requests.games.abstracts.SetGameScore import com.github.insanusmokrassar.TelegramBotAPI.types.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class SetGameScoreByChatId ( @@ -16,9 +17,7 @@ data class SetGameScoreByChatId ( @SerialName(messageIdField) override val messageId: MessageIdentifier, @SerialName(forceField) - @Optional override val force: Boolean = false, @SerialName(disableEditMessageField) - @Optional override val disableEditMessage: Boolean = false ) : SetGameScore, ByMessageId diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/games/SetGameScoreByInlineMessageId.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/games/SetGameScoreByInlineMessageId.kt index 67551d60bc..fcdec16441 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/games/SetGameScoreByInlineMessageId.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/games/SetGameScoreByInlineMessageId.kt @@ -3,7 +3,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.requests.games import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.types.ByInlineMessageId import com.github.insanusmokrassar.TelegramBotAPI.requests.games.abstracts.SetGameScore import com.github.insanusmokrassar.TelegramBotAPI.types.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class SetGameScoreByInlineMessageId ( @@ -14,9 +15,7 @@ data class SetGameScoreByInlineMessageId ( @SerialName(inlineMessageIdField) override val inlineMessageId: InlineMessageIdentifier, @SerialName(forceField) - @Optional override val force: Boolean = false, @SerialName(disableEditMessageField) - @Optional override val disableEditMessage: Boolean = false ) : SetGameScore, ByInlineMessageId diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendContact.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendContact.kt index 500f9e7e5c..8b7ef0f15e 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendContact.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendContact.kt @@ -16,16 +16,12 @@ data class SendContact( @SerialName(firstNameField) val firstName: String, @SerialName(lastNameField) - @Optional val lastName: String? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : SendMessageRequest, ReplyingMarkupSendMessageRequest diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendLocation.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendLocation.kt index 42593b0dd2..75778768d0 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendLocation.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendLocation.kt @@ -16,16 +16,12 @@ data class SendLocation( @SerialName(longitudeField) override val longitude: Double, @SerialName(livePeriodField) - @Optional val livePeriod: Long? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : SendMessageRequest, ReplyingMarkupSendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendMessage.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendMessage.kt index 8e7c7b16bd..02b0e7d10f 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendMessage.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendMessage.kt @@ -16,19 +16,14 @@ data class SendMessage( @SerialName(textField) override val text: String, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(disableWebPagePreviewField) - @Optional override val disableWebPagePreview: Boolean? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : SendMessageRequest, ReplyingMarkupSendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendVenue.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendVenue.kt index e944cccf83..5c6c38eece 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendVenue.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/SendVenue.kt @@ -19,16 +19,12 @@ data class SendVenue( @SerialName(addressField) val address: String, @SerialName(foursquareIdField) - @Optional val foursquareId: String? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : SendMessageRequest, PositionedSendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/games/SendGame.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/games/SendGame.kt index 38ba35bb1a..f3cc4c9352 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/games/SendGame.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/games/SendGame.kt @@ -14,13 +14,10 @@ data class SendGame ( @SerialName(gameShortNameField) val gameShortName: String, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : SendMessageRequest, ReplyMarkup { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendAnimation.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendAnimation.kt index 7974b242a9..e5d1e4394a 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendAnimation.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendAnimation.kt @@ -58,34 +58,24 @@ data class SendAnimationData internal constructor( @SerialName(chatIdField) override val chatId: ChatIdentifier, @SerialName(animationField) - @Optional val animation: String? = null, @SerialName(thumbField) - @Optional override val thumb: String? = null, @SerialName(captionField) - @Optional override val text: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(durationField) - @Optional override val duration: Long? = null, @SerialName(widthField) - @Optional override val width: Int? = null, @SerialName(heightField) - @Optional override val height: Int? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : DataRequest, SendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendAudio.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendAudio.kt index 2e086813dd..c6317f0c00 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendAudio.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendAudio.kt @@ -59,34 +59,24 @@ data class SendAudioData internal constructor( @SerialName(chatIdField) override val chatId: ChatIdentifier, @SerialName(audioField) - @Optional val audio: String? = null, @SerialName(thumbField) - @Optional override val thumb: String? = null, @SerialName(captionField) - @Optional override val text: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(durationField) - @Optional override val duration: Long? = null, @SerialName(performerField) - @Optional override val performer: String? = null, @SerialName(titleField) - @Optional override val title: String? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : DataRequest, SendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendDocument.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendDocument.kt index dca1fc11c9..f3cc73279b 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendDocument.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendDocument.kt @@ -52,25 +52,18 @@ data class SendDocumentData internal constructor( @SerialName(chatIdField) override val chatId: ChatIdentifier, @SerialName(documentField) - @Optional val document: String? = null, @SerialName(thumbField) - @Optional override val thumb: String? = null, @SerialName(captionField) - @Optional override val text: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : DataRequest, SendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendMediaGroup.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendMediaGroup.kt index a945196b74..014df6fa83 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendMediaGroup.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendMediaGroup.kt @@ -61,10 +61,8 @@ data class SendMediaGroupData internal constructor( @Transient val media: List = emptyList(), @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null ) : DataRequest>, SendMessageRequest> diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendPhoto.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendPhoto.kt index 92336917c0..78b418a0c7 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendPhoto.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendPhoto.kt @@ -41,22 +41,16 @@ data class SendPhotoData internal constructor( @SerialName(chatIdField) override val chatId: ChatIdentifier, @SerialName(photoField) - @Optional val photo: String? = null, @SerialName(captionField) - @Optional override val text: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : DataRequest, SendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendSticker.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendSticker.kt index 3ad1b96fc5..e9d16beb8b 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendSticker.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendSticker.kt @@ -34,16 +34,12 @@ data class SendStickerByFileId internal constructor( @SerialName(chatIdField) override val chatId: ChatIdentifier, @SerialName(stickerField) - @Optional val sticker: FileId? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : SendMessageRequest, ReplyingMarkupSendMessageRequest { override fun method(): String = "sendSticker" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVideo.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVideo.kt index 3097bf07c9..03c69b4d39 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVideo.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVideo.kt @@ -60,37 +60,26 @@ data class SendVideoData internal constructor( @SerialName(chatIdField) override val chatId: ChatIdentifier, @SerialName(videoField) - @Optional val video: String? = null, @SerialName(thumbField) - @Optional override val thumb: String? = null, @SerialName(captionField) - @Optional override val text: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(durationField) - @Optional override val duration: Long? = null, @SerialName(widthField) - @Optional override val width: Int? = null, @SerialName(heightField) - @Optional override val height: Int? = null, @SerialName(supportStreamingField) - @Optional val supportStreaming: Boolean? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : DataRequest, SendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVideoNote.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVideoNote.kt index c3199c0c2f..88de4f17a0 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVideoNote.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVideoNote.kt @@ -56,31 +56,22 @@ data class SendVideoNoteData internal constructor( @SerialName(chatIdField) override val chatId: ChatIdentifier, @SerialName(videoNoteField) - @Optional val videoNote: String? = null, @SerialName(thumbField) - @Optional override val thumb: String? = null, @SerialName(captionField) - @Optional override val text: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(durationField) - @Optional override val duration: Long? = null, @SerialName(lengthField) - @Optional override val width: Int? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : DataRequest, SendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVoice.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVoice.kt index 16ee8a3a20..c167b8ed3d 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVoice.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/media/SendVoice.kt @@ -54,28 +54,20 @@ data class SendVoiceData internal constructor( @SerialName(chatIdField) override val chatId: ChatIdentifier, @SerialName(voiceField) - @Optional val voice: String? = null, @SerialName(thumbField) - @Optional override val thumb: String? = null, @SerialName(captionField) - @Optional override val text: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(durationField) - @Optional override val duration: Long? = null, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: KeyboardMarkup? = null ) : DataRequest, SendMessageRequest, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/payments/SendInvoice.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/payments/SendInvoice.kt index 7f4239b4f1..9dc46a4ffa 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/payments/SendInvoice.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/send/payments/SendInvoice.kt @@ -9,7 +9,6 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.payments.LabeledPrice import com.github.insanusmokrassar.TelegramBotAPI.types.payments.LabeledPricesSerializer import com.github.insanusmokrassar.TelegramBotAPI.types.payments.abstracts.* import kotlinx.serialization.* -import kotlinx.serialization.Optional import java.util.* /** @@ -36,37 +35,26 @@ data class SendInvoice( @SerialName(pricesField) override val prices: List, @SerialName(providerDataField) - @Optional val providerData: String? = null, @SerialName(requireNameField) - @Optional val requireName: Boolean = false, @SerialName(requirePhoneNumberField) - @Optional val requirePhoneNumber: Boolean = false, @SerialName(requireEmailField) - @Optional val requireEmail: Boolean = false, @SerialName(requireShippingAddressField) - @Optional val requireShippingAddress: Boolean = false, @SerialName(shouldSendPhoneNumberToProviderField) - @Optional val shouldSendPhoneNumberToProvider: Boolean = false, @SerialName(shouldSendEmailToProviderField) - @Optional val shouldSendEmailToProvider: Boolean = false, @SerialName(priceDependOnShipAddressField) - @Optional val priceDependOnShipAddress: Boolean = false, @SerialName(disableNotificationField) - @Optional override val disableNotification: Boolean = false, @SerialName(replyToMessageIdField) - @Optional override val replyToMessageId: MessageIdentifier? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null ) : Currencied, Priced, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/stickers/AddStickerToSet.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/stickers/AddStickerToSet.kt index 164d42d9ca..9f79ddd49e 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/stickers/AddStickerToSet.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/stickers/AddStickerToSet.kt @@ -5,7 +5,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.requests.common.CommonMultipar import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.abstracts.StickerSetAction import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.MaskPosition -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable fun AddStickerToSet( userId: UserId, @@ -33,10 +34,8 @@ data class AddStickerToSet internal constructor( @SerialName(emojisField) override val emojis: String, @SerialName(pngStickerField) - @Optional val sticker: FileId? = null, @SerialName(maskPositionField) - @Optional override val maskPosition: MaskPosition? = null ) : StickerSetAction { init { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/stickers/CreateNewStickerSet.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/stickers/CreateNewStickerSet.kt index feb74bcfdd..abb645dd8b 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/stickers/CreateNewStickerSet.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/stickers/CreateNewStickerSet.kt @@ -5,7 +5,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.requests.common.CommonMultipar import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.abstracts.StickerSetAction import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.MaskPosition -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable fun CreateNewStickerSet( userId: UserId, @@ -34,13 +35,10 @@ data class CreateNewStickerSet internal constructor( @SerialName(emojisField) override val emojis: String, @SerialName(pngStickerField) - @Optional val sticker: FileId? = null, @SerialName(containsMasksField) - @Optional val containsMasks: Boolean? = null, @SerialName(maskPositionField) - @Optional override val maskPosition: MaskPosition? = null ) : StickerSetAction { init { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/webhook/DeleteWebhook.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/webhook/DeleteWebhook.kt new file mode 100644 index 0000000000..2260816fe1 --- /dev/null +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/webhook/DeleteWebhook.kt @@ -0,0 +1,13 @@ +package com.github.insanusmokrassar.TelegramBotAPI.requests.webhook + +import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.SimpleRequest +import kotlinx.serialization.KSerializer +import kotlinx.serialization.Serializable +import kotlinx.serialization.internal.BooleanSerializer + +@Serializable +class DeleteWebhook : SimpleRequest { + override fun method(): String = "deleteWebhook" + + override fun resultSerializer(): KSerializer = BooleanSerializer +} diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/webhook/SetWebhook.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/webhook/SetWebhook.kt index 79c6ca74fb..bae1ad4a4c 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/webhook/SetWebhook.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/webhook/SetWebhook.kt @@ -44,13 +44,10 @@ data class SetWebhook internal constructor( @SerialName(urlField) val url: String, @SerialName(certificateField) - @Optional val certificateFile: String? = null, @SerialName(maxAllowedConnectionsField) - @Optional val maxAllowedConnections: Int? = null, @SerialName(allowedUpdatesField) - @Optional val allowedUpdates: List? = null ) : DataRequest { override fun method(): String = "setWebhook" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/CallbackQuery/RawCallbackQuery.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/CallbackQuery/RawCallbackQuery.kt index 611ec6a730..fc84587435 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/CallbackQuery/RawCallbackQuery.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/CallbackQuery/RawCallbackQuery.kt @@ -10,17 +10,13 @@ data class RawCallbackQuery( val id: CallbackQueryIdentifier, @SerialName(fromField) val from: User, - @Optional val message: RawMessage? = null, @SerialName(inlineMessageIdField) - @Optional val inlineMessageId: InlineMessageIdentifier? = null, @SerialName("chat_instance") val chatInstance: String, - @Optional val data: String? = null, @SerialName("game_short_name") - @Optional val gameShortName: String? = null ) { @Transient diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ChatMember/RawChatMember.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ChatMember/RawChatMember.kt index f64040c859..11c24ed191 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ChatMember/RawChatMember.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ChatMember/RawChatMember.kt @@ -7,46 +7,32 @@ import kotlinx.serialization.* data class RawChatMember( val user: User, private val status: String, - @Optional private val until_date: TelegramDate? = null, @SerialName(canBeEditedField) - @Optional private val canBeEdited: Boolean = false, @SerialName(canChangeInfoField) - @Optional private val canChangeInfo: Boolean = false, @SerialName(canPostMessagesField) - @Optional private val canPostMessages: Boolean = false, @SerialName(canEditMessagesField) - @Optional private val canEditMessages: Boolean = false, @SerialName(canDeleteMessagesField) - @Optional private val canDeleteMessages: Boolean = false, @SerialName(canInviteUsersField) - @Optional private val canInviteUsers: Boolean = false, @SerialName(canRestrictMembersField) - @Optional private val canRestrictMembers: Boolean = false, @SerialName(canPinMessagesField) - @Optional private val canPinMessages: Boolean = false, @SerialName(canPromoteMembersField) - @Optional private val canPromoteMembers: Boolean = false, @SerialName(canSendMessagesField) - @Optional private val canSendMessages: Boolean = false, @SerialName(canSendMediaMessagesField) - @Optional private val canSendMediaMessages: Boolean = false, @SerialName(canSendOtherMessagesField) - @Optional private val canSendOtherMessages: Boolean = false, @SerialName(canAddWebPagePreviewsField) - @Optional private val canAddWebPagePreviews: Boolean = false ) { @Transient diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Common.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Common.kt index 8aa06288d6..59c81efe57 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Common.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Common.kt @@ -184,7 +184,7 @@ const val certificateField = "certificate" const val pointField = "point" const val xShiftField = "x_shift" const val yShiftField = "y_shift" -const val scaleField = "y_shift" +const val scaleField = "scale" const val currencyField = "currency" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Contact.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Contact.kt index 1ccfbaf76f..d15a3c0409 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Contact.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Contact.kt @@ -1,7 +1,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.CommonContactData -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class Contact( @@ -10,12 +11,9 @@ data class Contact( @SerialName(firstNameField) override val firstName: String, @SerialName(lastNameField) - @Optional override val lastName: String? = null, @SerialName(userIdField) - @Optional val userId: UserId? = null, @SerialName(vcardField) - @Optional override val vcard: String? = null ) : CommonContactData diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/ChosenInlineResult/RawChosenInlineResult.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/ChosenInlineResult/RawChosenInlineResult.kt index 5b54fd5ae7..1d5b4b81a3 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/ChosenInlineResult/RawChosenInlineResult.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/ChosenInlineResult/RawChosenInlineResult.kt @@ -13,10 +13,8 @@ data class RawChosenInlineResult( @SerialName(queryField) val query: String, @SerialName(locationField) - @Optional val location: Location? = null, @SerialName(inlineMessageIdField) - @Optional val inlineMessageId: InlineMessageIdentifier? = null ) { @Transient diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultArticle.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultArticle.kt index aa3094450b..54d8a925de 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultArticle.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultArticle.kt @@ -4,7 +4,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable class InlineQueryResultArticle( @@ -15,25 +16,18 @@ class InlineQueryResultArticle( @SerialName(inputMessageContentField) override val inputMessageContent: InputMessageContent, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(urlField) - @Optional override val url: String? = null, @SerialName(hideUrlField) - @Optional val hideUrl: Boolean? = null, @SerialName(descriptionField) - @Optional override val description: String? = null, @SerialName(thumbUrlField) - @Optional override val thumbUrl: String? = null, @SerialName(thumbWidthField) - @Optional override val thumbWidth: Int? = null, @SerialName(thumbHeightField) - @Optional override val thumbHeight: Int? = null ) : InlineQueryResult, ThumbSizedInlineQueryResult, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultAudioCachedImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultAudioCachedImpl.kt index a010003078..478def39fd 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultAudioCachedImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultAudioCachedImpl.kt @@ -8,7 +8,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultAudioCachedImpl( @@ -17,16 +18,12 @@ data class InlineQueryResultAudioCachedImpl( @SerialName(audioFileIdField) override val fileId: FileId, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultAudioCached { override val type: String = inlineQueryResultAudioType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultAudioImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultAudioImpl.kt index bc87900ef0..96ffba4ef9 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultAudioImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultAudioImpl.kt @@ -7,7 +7,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultAudioImpl( @@ -18,22 +19,16 @@ data class InlineQueryResultAudioImpl( @SerialName(titleField) override val title: String, @SerialName(performerField) - @Optional override val performer: String? = null, @SerialName(audioDurationField) - @Optional override val duration: Int? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultAudio { override val type: String = inlineQueryResultAudioType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultContact.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultContact.kt index 2adf85af81..a3165cf313 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultContact.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultContact.kt @@ -5,7 +5,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultContact( @@ -16,25 +17,18 @@ data class InlineQueryResultContact( @SerialName(firstNameField) override val firstName: String, @SerialName(lastNameField) - @Optional override val lastName: String? = null, @SerialName(vcardField) - @Optional override val vcard: String? = null, @SerialName(thumbUrlField) - @Optional override val thumbUrl: String? = null, @SerialName(thumbWidthField) - @Optional override val thumbWidth: Int? = null, @SerialName(thumbHeightField) - @Optional override val thumbHeight: Int? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResult, CommonContactData, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultDocumentCachedImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultDocumentCachedImpl.kt index 726d940ff6..43580e2d99 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultDocumentCachedImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultDocumentCachedImpl.kt @@ -8,7 +8,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultDocumentCachedImpl( @@ -19,19 +20,14 @@ data class InlineQueryResultDocumentCachedImpl( @SerialName(titleField) override val title: String, @SerialName(descriptionField) - @Optional override val description: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultDocumentCached { override val type: String = inlineQueryResultDocumentType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultDocumentImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultDocumentImpl.kt index f6a2dce048..a5998af969 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultDocumentImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultDocumentImpl.kt @@ -8,7 +8,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.mimeTypeField -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultDocumentImpl( @@ -21,28 +22,20 @@ data class InlineQueryResultDocumentImpl( @SerialName(mimeTypeField) override val mimeType: String, @SerialName(thumbUrlField) - @Optional override val thumbUrl: String? = null, @SerialName(thumbWidthField) - @Optional override val thumbWidth: Int? = null, @SerialName(thumbHeightField) - @Optional override val thumbHeight: Int? = null, @SerialName(descriptionField) - @Optional override val description: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultDocument { override val type: String = inlineQueryResultDocumentType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultGifCachedImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultGifCachedImpl.kt index c9ecb27da4..6ed362aaef 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultGifCachedImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultGifCachedImpl.kt @@ -8,7 +8,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultGifCachedImpl( @@ -17,19 +18,14 @@ data class InlineQueryResultGifCachedImpl( @SerialName(gifFileIdField) override val fileId: FileId, @SerialName(titleField) - @Optional override val title: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultGifCached { override val type: String = inlineQueryResultGifType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultGifImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultGifImpl.kt index b59ddb2593..4785c3cb33 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultGifImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultGifImpl.kt @@ -7,7 +7,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultGifImpl( @@ -18,28 +19,20 @@ data class InlineQueryResultGifImpl( @SerialName(thumbUrlField) override val thumbUrl: String, @SerialName(gifWidthField) - @Optional override val width: Int? = null, @SerialName(gifHeightField) - @Optional override val height: Int? = null, @SerialName(gifDurationField) - @Optional override val duration: Int? = null, @SerialName(titleField) - @Optional override val title: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultGif { override val type: String = inlineQueryResultGifType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultLocation.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultLocation.kt index 71f8bbbe11..73bea7a975 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultLocation.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultLocation.kt @@ -6,7 +6,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultLocation( @@ -19,22 +20,16 @@ data class InlineQueryResultLocation( @SerialName(titleField) override val title: String, @SerialName(livePeriodField) - @Optional override val livePeriod: Int? = null, @SerialName(thumbUrlField) - @Optional override val thumbUrl: String? = null, @SerialName(thumbWidthField) - @Optional override val thumbWidth: Int? = null, @SerialName(thumbHeightField) - @Optional override val thumbHeight: Int? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResult, Locationed, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultMpeg4GifCachedImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultMpeg4GifCachedImpl.kt index 956f1edcb7..3a38ad7a8c 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultMpeg4GifCachedImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultMpeg4GifCachedImpl.kt @@ -8,7 +8,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultMpeg4GifCachedImpl( @@ -17,19 +18,14 @@ data class InlineQueryResultMpeg4GifCachedImpl( @SerialName(mpeg4GifFileIdField) override val fileId: FileId, @SerialName(titleField) - @Optional override val title: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultMpeg4GifCached { override val type: String = inlineQueryResultMpeg4GifType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultMpeg4GifImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultMpeg4GifImpl.kt index 945afca6e2..acf78ca86e 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultMpeg4GifImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultMpeg4GifImpl.kt @@ -7,7 +7,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultMpeg4GifImpl( @@ -18,28 +19,20 @@ data class InlineQueryResultMpeg4GifImpl( @SerialName(thumbUrlField) override val thumbUrl: String, @SerialName(mpeg4GifWidthField) - @Optional override val width: Int? = null, @SerialName(mpeg4GifHeightField) - @Optional override val height: Int? = null, @SerialName(mpeg4GifDurationField) - @Optional override val duration: Int? = null, @SerialName(titleField) - @Optional override val title: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultMpeg4Gif { override val type: String = inlineQueryResultMpeg4GifType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultPhotoCachedImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultPhotoCachedImpl.kt index 63eb575864..c6c44cd893 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultPhotoCachedImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultPhotoCachedImpl.kt @@ -8,7 +8,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultPhotoCachedImpl( @@ -17,22 +18,16 @@ data class InlineQueryResultPhotoCachedImpl( @SerialName(photoFileIdField) override val fileId: FileId, @SerialName(titleField) - @Optional override val title: String? = null, @SerialName(descriptionField) - @Optional override val description: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultPhotoCached { override val type: String = inlineQueryResultPhotoType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultPhotoImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultPhotoImpl.kt index 15ed0d5993..cb3289ec80 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultPhotoImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultPhotoImpl.kt @@ -7,7 +7,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultPhotoImpl( @@ -18,28 +19,20 @@ data class InlineQueryResultPhotoImpl( @SerialName(thumbUrlField) override val thumbUrl: String, @SerialName(photoWidthField) - @Optional override val width: Int? = null, @SerialName(photoHeightField) - @Optional override val height: Int? = null, @SerialName(titleField) - @Optional override val title: String? = null, @SerialName(descriptionField) - @Optional override val description: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultPhoto { override val type: String = inlineQueryResultPhotoType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultStickerCached.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultStickerCached.kt index d8577d6be0..ceb2a2de25 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultStickerCached.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultStickerCached.kt @@ -5,7 +5,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultStickerCached( @@ -14,10 +15,8 @@ data class InlineQueryResultStickerCached( @SerialName(stickerFileIdField) override val fileId: FileId, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResult, WithInputMessageContentInlineQueryResult, WithFileIdInlineQueryResult { override val type: String = "sticker" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVenue.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVenue.kt index d5809da48f..59824d1ca5 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVenue.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVenue.kt @@ -6,7 +6,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultVenue( @@ -21,25 +22,18 @@ data class InlineQueryResultVenue( @SerialName(addressField) override val address: String, @SerialName(foursquareIdField) - @Optional override val foursquareId: String? = null, @SerialName(foursquareTypeField) - @Optional override val foursquareType: String? = null, @SerialName(thumbUrlField) - @Optional override val thumbUrl: String? = null, @SerialName(thumbWidthField) - @Optional override val thumbWidth: Int? = null, @SerialName(thumbHeightField) - @Optional override val thumbHeight: Int? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResult, Locationed, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVideoCachedImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVideoCachedImpl.kt index 60ad8cb164..98bfe63f58 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVideoCachedImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVideoCachedImpl.kt @@ -8,7 +8,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultVideoCachedImpl( @@ -19,19 +20,14 @@ data class InlineQueryResultVideoCachedImpl( @SerialName(titleField) override val title: String, @SerialName(descriptionField) - @Optional override val description: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultVideoCached { override val type: String = inlineQueryResultVideoType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVideoImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVideoImpl.kt index df32e33267..3d0a52404d 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVideoImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVideoImpl.kt @@ -8,7 +8,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.mimeTypeField -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultVideoImpl( @@ -23,28 +24,20 @@ data class InlineQueryResultVideoImpl( @SerialName(titleField) override val title: String, @SerialName(videoWidthField) - @Optional override val width: Int? = null, @SerialName(videoHeightField) - @Optional override val height: Int? = null, @SerialName(videoDurationField) - @Optional override val duration: Int? = null, @SerialName(descriptionField) - @Optional override val description: String? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultVideo { override val type: String = inlineQueryResultVideoType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVoiceCachedImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVoiceCachedImpl.kt index 9113a6cf3c..0ecca9f32d 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVoiceCachedImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVoiceCachedImpl.kt @@ -8,7 +8,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultVoiceCachedImpl( @@ -19,16 +20,12 @@ data class InlineQueryResultVoiceCachedImpl( @SerialName(titleField) override val title: String, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultVoiceCached { override val type: String = inlineQueryResultVoiceType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVoiceImpl.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVoiceImpl.kt index 6871756798..9090e0bfb1 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVoiceImpl.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/InlineQueryResultVoiceImpl.kt @@ -7,7 +7,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts. import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InlineQueryResultVoiceImpl( @@ -18,19 +19,14 @@ data class InlineQueryResultVoiceImpl( @SerialName(titleField) override val title: String, @SerialName(voiceDurationField) - @Optional override val duration: Int? = null, @SerialName(captionField) - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(replyMarkupField) - @Optional override val replyMarkup: InlineKeyboardMarkup? = null, @SerialName(inputMessageContentField) - @Optional override val inputMessageContent: InputMessageContent? = null ) : InlineQueryResultVoice { override val type: String = inlineQueryResultVoiceType diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/serializers/InlineQueryResultSerializer.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/serializers/InlineQueryResultSerializer.kt index 62296d41e5..2e6e9736ff 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/serializers/InlineQueryResultSerializer.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/serializers/InlineQueryResultSerializer.kt @@ -3,11 +3,12 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQue import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.InlineQueryResult import kotlinx.serialization.* +import kotlinx.serialization.internal.StringDescriptor import sun.reflect.generics.reflectiveObjects.NotImplementedException @Serializer(InlineQueryResult::class) -object InlineQueryResultSerializer : - KSerializer { +object InlineQueryResultSerializer : KSerializer { + override val descriptor: SerialDescriptor = StringDescriptor.withName(InlineQueryResult::class.toString()) override fun serialize(encoder: Encoder, obj: InlineQueryResult) { when(obj) { is InlineQueryResultArticle -> InlineQueryResultArticle.serializer().serialize(encoder, obj) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputContactMessageContent.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputContactMessageContent.kt index 840391a117..b327358907 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputContactMessageContent.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputContactMessageContent.kt @@ -3,7 +3,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InputMess import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.CommonContactData import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InputContactMessageContent( @@ -12,9 +13,7 @@ data class InputContactMessageContent( @SerialName(firstNameField) override val firstName: String, @SerialName(lastNameField) - @Optional override val lastName: String? = null, @SerialName(vcardField) - @Optional override val vcard: String? = null ) : CommonContactData, InputMessageContent \ No newline at end of file diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputLocationMessageContent.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputLocationMessageContent.kt index c6c1cd172b..c2b6f0110d 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputLocationMessageContent.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputLocationMessageContent.kt @@ -4,7 +4,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.Livable import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.Locationed import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InputLocationMessageContent( @@ -13,6 +14,5 @@ data class InputLocationMessageContent( @SerialName(longitudeField) override val longitude: Double, @SerialName(livePeriodField) - @Optional override val livePeriod: Int? = null ) : Locationed, Livable, InputMessageContent \ No newline at end of file diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputTextMessageContent.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputTextMessageContent.kt index b93ae41b47..2b09e22ac9 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputTextMessageContent.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputTextMessageContent.kt @@ -7,16 +7,15 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.disableWebPagePreviewField import com.github.insanusmokrassar.TelegramBotAPI.types.messageTextField -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InputTextMessageContent( @SerialName(messageTextField) override val caption: String, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @SerialName(disableWebPagePreviewField) - @Optional override val disableWebPagePreview: Boolean? = null ) : Captioned, DisableWebPagePreview, InputMessageContent \ No newline at end of file diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputVenueMessageContent.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputVenueMessageContent.kt index 2c17cee68b..53e6e09e3a 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputVenueMessageContent.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContent/InputVenueMessageContent.kt @@ -4,7 +4,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.CommonVenueDat import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.Locationed import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InputVenueMessageContent( @@ -17,9 +18,7 @@ data class InputVenueMessageContent( @SerialName(addressField) override val address: String, @SerialName(foursquareIdField) - @Optional override val foursquareId: String? = null, @SerialName(foursquareTypeField) - @Optional override val foursquareType: String? = null ) : Locationed, CommonVenueData, InputMessageContent diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContentSerializer.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContentSerializer.kt index 2114cea456..77c3fa4486 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContentSerializer.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InputMessageContentSerializer.kt @@ -3,9 +3,11 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InputMessageContent.* import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InputMessageContent import kotlinx.serialization.* +import kotlinx.serialization.internal.StringDescriptor @Serializer(InputMessageContent::class) object InputMessageContentSerializer : KSerializer { + override val descriptor: SerialDescriptor = StringDescriptor.withName(InputMessageContent::class.toString()) override fun serialize(encoder: Encoder, obj: InputMessageContent) { when (obj) { is InputContactMessageContent -> InputContactMessageContent.serializer().serialize(encoder, obj) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/query/RawInlineQuery.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/query/RawInlineQuery.kt index 054c52265f..425f7dc5f0 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/query/RawInlineQuery.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/query/RawInlineQuery.kt @@ -14,7 +14,6 @@ data class RawInlineQuery( @SerialName(offsetField) val offset: String, @SerialName(locationField) - @Optional val location: Location? = null ) { @Transient diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaAnimation.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaAnimation.kt index 9eb5a4446f..8e713c19d7 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaAnimation.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaAnimation.kt @@ -10,16 +10,11 @@ import kotlinx.serialization.* data class InputMediaAnimation( @Transient override val file: InputFile = throw IllegalStateException("Must be created with file"), - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, - @Optional override val width: Int? = null, - @Optional override val height: Int? = null, - @Optional override val duration: Long? = null, @Transient override val thumb: InputFile? = null diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaAudio.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaAudio.kt index e7ed5e3280..53506cbb69 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaAudio.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaAudio.kt @@ -5,22 +5,17 @@ import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.parseModeField import com.github.insanusmokrassar.TelegramBotAPI.types.mediaField -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class InputMediaAudio( - @Transient override val file: InputFile = throw IllegalStateException("Must be created with file"), - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, - @Optional override val duration: Long? = null, - @Optional override val performer: String? = null, - @Optional override val title: String? = null, override val thumb: InputFile? = null ) : InputMedia, DuratedInputMedia, ThumbedInputMedia, TitledInputMedia, CaptionedInputMedia, Performerable { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaDocument.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaDocument.kt index 4faaa02314..1a63556760 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaDocument.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaDocument.kt @@ -10,10 +10,8 @@ import kotlinx.serialization.* data class InputMediaDocument( @Transient override val file: InputFile = throw IllegalStateException("Must be created with file"), - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, @Transient override val thumb: InputFile? = null diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaPhoto.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaPhoto.kt index ed74803c65..23b123cfb8 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaPhoto.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaPhoto.kt @@ -11,10 +11,8 @@ import kotlinx.serialization.* data class InputMediaPhoto( @Transient override val file: InputFile = throw IllegalStateException("Must be created with file"), - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null ) : InputMedia, CaptionedInputMedia, MediaGroupMemberInputMedia { override val type: String = "photo" diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaSerializer.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaSerializer.kt index f63bad756b..fd4b3f9266 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaSerializer.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaSerializer.kt @@ -1,9 +1,11 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.InputMedia import kotlinx.serialization.* +import kotlinx.serialization.internal.StringDescriptor @Serializer(InputMedia::class) object InputMediaSerializer : KSerializer { + override val descriptor: SerialDescriptor = StringDescriptor.withName(InputMedia::class.toString()) override fun serialize(encoder: Encoder, obj: InputMedia) { when (obj) { is InputMediaVideo -> InputMediaVideo.serializer().serialize(encoder, obj) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaVideo.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaVideo.kt index b55eeae2a2..3cc1371231 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaVideo.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/InputMediaVideo.kt @@ -10,16 +10,11 @@ import kotlinx.serialization.* data class InputMediaVideo( @Transient override val file: InputFile = throw IllegalStateException("Must be created with file"), - @Optional override val caption: String? = null, @SerialName(parseModeField) - @Optional override val parseMode: ParseMode? = null, - @Optional override val width: Int? = null, - @Optional override val height: Int? = null, - @Optional override val duration: Long? = null, @Transient override val thumb: InputFile? = null diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/MediaGroupMemberInputMediaSerializer.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/MediaGroupMemberInputMediaSerializer.kt index 2eb606f93f..c435bef316 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/MediaGroupMemberInputMediaSerializer.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InputMedia/MediaGroupMemberInputMediaSerializer.kt @@ -1,13 +1,19 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.InputMedia import kotlinx.serialization.* +import kotlinx.serialization.internal.StringDescriptor @Serializer(MediaGroupMemberInputMedia::class) object MediaGroupMemberInputMediaSerializer : KSerializer { + override val descriptor: SerialDescriptor = StringDescriptor.withName(MediaGroupMemberInputMedia::class.toString()) override fun serialize(encoder: Encoder, obj: MediaGroupMemberInputMedia) { when (obj) { is InputMediaPhoto -> InputMediaPhoto.serializer().serialize(encoder, obj) is InputMediaVideo -> InputMediaVideo.serializer().serialize(encoder, obj) } } + + override fun deserialize(decoder: Decoder): MediaGroupMemberInputMedia { + TODO("not implemented") + } } \ No newline at end of file diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/RawMessageEntity.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/RawMessageEntity.kt index e841ef3afe..be32fee1bb 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/RawMessageEntity.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/MessageEntity/RawMessageEntity.kt @@ -1,7 +1,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity import com.github.insanusmokrassar.TelegramBotAPI.types.User -import kotlinx.serialization.* +import kotlinx.serialization.KSerializer +import kotlinx.serialization.Serializable import kotlinx.serialization.internal.ArrayListSerializer @Serializable @@ -9,9 +10,7 @@ data class RawMessageEntity( val type: String, val offset: Int, val length: Int, - @Optional val url: String? = null, - @Optional val user: User? = null ) { fun asMessageEntity(source: String): MessageEntity { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Response.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Response.kt index 437c9faacc..c5093b3997 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Response.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Response.kt @@ -1,6 +1,7 @@ package com.github.insanusmokrassar.TelegramBotAPI.types -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Deprecated( "Deprecated because incorrect name", @@ -11,13 +12,9 @@ typealias ResponseParameters = Response @Serializable data class Response( val ok: Boolean = false, - @Optional val description: String? = null, @SerialName("error_code") - @Optional val errorCode: Int? = null, - @Optional val result: T? = null, - @Optional val parameters: ResponseParametersRaw? = null ) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ResponseParametersRaw.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ResponseParametersRaw.kt index 335b7df35f..f455d06535 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ResponseParametersRaw.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ResponseParametersRaw.kt @@ -5,10 +5,8 @@ import kotlinx.serialization.* @Serializable data class ResponseParametersRaw( @SerialName("migrate_to_chat_id") - @Optional private val migrateToChatId: ChatId? = null, @SerialName("retry_after") - @Optional private val retryAfter: Long? = null ) { @Transient diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/User.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/User.kt index c824ff3d3c..bb9dfd5e27 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/User.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/User.kt @@ -1,25 +1,20 @@ package com.github.insanusmokrassar.TelegramBotAPI.types import kotlinx.serialization.* -import kotlinx.serialization.Optional import java.util.* @Serializable data class User( val id: ChatId, @SerialName(isBotField) - @Optional val isBot: Boolean = false, @SerialName(firstNameField) val firstName: String, @SerialName(lastNameField) - @Optional val lastName: String? = null, @SerialName(usernameField) - @Optional val username: Username? = null, @SerialName(languageCodeField) - @Optional private val languageCode: String? = null ) { @Transient diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Venue.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Venue.kt index 8a7514a62d..ee6928b46c 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Venue.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/Venue.kt @@ -1,7 +1,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.CommonVenueData -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class Venue( @@ -12,9 +13,7 @@ data class Venue( @SerialName(addressField) override val address: String, @SerialName(foursquareIdField) - @Optional override val foursquareId: String? = null, @SerialName(foursquareTypeField) - @Optional override val foursquareType: String? = null ) : CommonVenueData diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/WebhookInfo.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/WebhookInfo.kt index 84fa832908..7930f11d22 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/WebhookInfo.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/WebhookInfo.kt @@ -9,19 +9,14 @@ data class WebhookInfo( @SerialName(pendingUpdateCountField) val awaitDeliery: Int, @SerialName(maxAllowedConnectionsField) - @Optional val maxConnections: Int = 40, // default count according to documentation @SerialName(hasCustomCertificateField) - @Optional val customCertificate: Boolean = false, @SerialName(allowedUpdatesField) - @Optional val allowedUpdates: List = ALL_UPDATES_LIST, @SerialName(lastErrorDateField) - @Optional val lastErrorDate: TelegramDate? = null, @SerialName(lastErrorMessageField) - @Optional val lastErrorMessage: String? = null ) { @Transient diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ForceReply.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ForceReply.kt index 383d8d5084..abf21f1542 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ForceReply.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ForceReply.kt @@ -1,10 +1,10 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.buttons -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class ForceReply( - @Optional val selective: Boolean? = null ) : KeyboardMarkup { @SerialName("force_reply") diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/KeyboardButton.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/KeyboardButton.kt index 7e03499cc2..86bceb79f7 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/KeyboardButton.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/KeyboardButton.kt @@ -1,14 +1,13 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.buttons -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class KeyboardButton( val text: String, @SerialName("request_contact") - @Optional val requestContact: Boolean? = null, @SerialName("request_location") - @Optional val requestLocation: Boolean? = null ) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/KeyboardMarkupSerializer.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/KeyboardMarkupSerializer.kt index 97de7e2ef1..d69825d7c2 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/KeyboardMarkupSerializer.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/KeyboardMarkupSerializer.kt @@ -1,9 +1,11 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.buttons import kotlinx.serialization.* +import kotlinx.serialization.internal.StringDescriptor @Serializer(KeyboardMarkup::class) object KeyboardMarkupSerializer : KSerializer { + override val descriptor: SerialDescriptor = StringDescriptor.withName(KeyboardMarkup::class.toString()) override fun serialize(encoder: Encoder, obj: KeyboardMarkup) { when(obj) { is ForceReply -> ForceReply.serializer().serialize(encoder, obj) @@ -12,4 +14,8 @@ object KeyboardMarkupSerializer : KSerializer { is ReplyKeyboardRemove -> ReplyKeyboardRemove.serializer().serialize(encoder, obj) } } + + override fun deserialize(decoder: Decoder): KeyboardMarkup { + TODO("not implemented") + } } diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ReplyKeyboardMarkup.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ReplyKeyboardMarkup.kt index 938a1ad8dd..a6e9cf6a3d 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ReplyKeyboardMarkup.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ReplyKeyboardMarkup.kt @@ -1,16 +1,14 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.buttons -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class ReplyKeyboardMarkup( val keyboard: Matrix, @SerialName("resize_keyboard") - @Optional val resizeKeyboard: Boolean? = null, @SerialName("one_time_keyboard") - @Optional val oneTimeKeyboard: Boolean? = null, - @Optional val selective: Boolean? = null ) : KeyboardMarkup diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ReplyKeyboardRemove.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ReplyKeyboardRemove.kt index a5421a7078..0acae3fd4a 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ReplyKeyboardRemove.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/buttons/ReplyKeyboardRemove.kt @@ -1,10 +1,10 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.buttons -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class ReplyKeyboardRemove( - @Optional val selective: Boolean? = null ) : KeyboardMarkup { @SerialName("remove_keyboard") diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/chat/RawChat.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/chat/RawChat.kt index f10eaf9957..69e3a91896 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/chat/RawChat.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/chat/RawChat.kt @@ -2,24 +2,25 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.chat import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.message.RawMessage -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class RawChat( override val id: ChatId, private val type: String, - @Optional private val title: String? = null, - @Optional private val username: Username? = null, - @Optional private val first_name: String? = null, - @Optional private val last_name: String? = null, - @Optional private val all_members_are_administrators: Boolean? = null, - @Optional private val description: String? = null, - @Optional private val invite_link: String? = null, - @Optional private val pinned_message: RawMessage? = null, - @Optional private val sticker_set_name: String? = null, - @Optional private val can_set_sticker_set: Boolean? = null, + private val title: String? = null, + private val username: Username? = null, + private val first_name: String? = null, + private val last_name: String? = null, + private val all_members_are_administrators: Boolean? = null, + private val description: String? = null, + private val invite_link: String? = null, + private val pinned_message: RawMessage? = null, + private val sticker_set_name: String? = null, + private val can_set_sticker_set: Boolean? = null, @SerialName("photo") - @Optional override val chatPhoto: ChatPhoto? = null + override val chatPhoto: ChatPhoto? = null ) : Chat { fun extractChat(): Chat { return when (type) { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/AnimationFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/AnimationFile.kt index 59ca714b4d..2894fb044e 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/AnimationFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/AnimationFile.kt @@ -2,7 +2,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.files import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class AnimationFile( @@ -10,17 +11,12 @@ data class AnimationFile( override val fileId: FileId, override val width: Int, override val height: Int, - @Optional override val duration: Long? = null, - @Optional override val thumb: PhotoSize? = null, @SerialName(fileNameField) - @Optional override val fileName: String? = null, @SerialName(mimeTypeField) - @Optional override val mimeType: String? = null, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null ) : TelegramMediaFile, MimedMediaFile, ThumbedMediaFile, PlayableMediaFile, CustomNamedMediaFile, SizedMediaFile diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/AudioFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/AudioFile.kt index 5816c4d87a..eeff93e261 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/AudioFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/AudioFile.kt @@ -3,24 +3,19 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.files import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.Performerable import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class AudioFile( @SerialName(fileIdField) override val fileId: FileId, - @Optional override val duration: Long? = null, - @Optional override val performer: String? = null, - @Optional override val title: String? = null, @SerialName(mimeTypeField) - @Optional override val mimeType: String? = null, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null, - @Optional override val thumb: PhotoSize? = null ) : TelegramMediaFile, MimedMediaFile, ThumbedMediaFile, PlayableMediaFile, TitledMediaFile, Performerable diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/DocumentFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/DocumentFile.kt index b6060f4cc3..4235c29696 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/DocumentFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/DocumentFile.kt @@ -2,21 +2,18 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.files import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class DocumentFile( @SerialName(fileIdField) override val fileId: FileId, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null, - @Optional override val thumb: PhotoSize? = null, @SerialName(mimeTypeField) - @Optional override val mimeType: String? = null, @SerialName(fileNameField) - @Optional override val fileName: String? = null ) : TelegramMediaFile, MimedMediaFile, ThumbedMediaFile, CustomNamedMediaFile diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/File.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/File.kt index a933f0967d..6badacd212 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/File.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/File.kt @@ -2,13 +2,13 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.files import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class File( @SerialName(fileIdField) override val fileId: FileId, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null ): TelegramMediaFile diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/PathedFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/PathedFile.kt index 0e130b8c62..e7d48b5823 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/PathedFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/PathedFile.kt @@ -2,7 +2,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.files import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class PathedFile( @@ -11,7 +12,6 @@ data class PathedFile( @SerialName(filePathField) val filePath: String, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null ): TelegramMediaFile diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/PhotoSize.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/PhotoSize.kt index 963554dc6b..6b977bf1c3 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/PhotoSize.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/PhotoSize.kt @@ -20,7 +20,6 @@ data class PhotoSize( @SerialName(fileIdField) override val fileId: FileId, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null, override val width: Int, override val height: Int diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/Sticker.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/Sticker.kt index 6634b4ab42..5cbc60242e 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/Sticker.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/Sticker.kt @@ -4,7 +4,8 @@ import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.MaskPosition -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class Sticker( @@ -15,18 +16,13 @@ data class Sticker( @SerialName(heightField) override val height: Int, @SerialName(thumbField) - @Optional override val thumb: PhotoSize? = null, @SerialName(emojiField) - @Optional val emoji: String? = null, @SerialName(stickerSetNameField) - @Optional val stickerSetName: String? = null, @SerialName(maskPositionField) - @Optional val maskPosition: MaskPosition? = null, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null ) : TelegramMediaFile, SizedMediaFile, ThumbedMediaFile diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/TelegramFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/TelegramFile.kt index 8776188bcf..d456422d63 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/TelegramFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/TelegramFile.kt @@ -2,16 +2,15 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.files import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class TelegramFile( @SerialName(fileIdField) override val fileId: FileId, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null, @SerialName("file_path") - @Optional val filePath: String? = null ) : TelegramMediaFile diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VideoFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VideoFile.kt index 1bc2bf681d..f9e7d74e87 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VideoFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VideoFile.kt @@ -2,7 +2,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.files import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class VideoFile( @@ -10,14 +11,10 @@ data class VideoFile( override val fileId: FileId, override val width: Int, override val height: Int, - @Optional override val duration: Long? = null, - @Optional override val thumb: PhotoSize? = null, @SerialName(mimeTypeField) - @Optional override val mimeType: String? = null, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null ) : TelegramMediaFile, MimedMediaFile, ThumbedMediaFile, PlayableMediaFile, SizedMediaFile diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VideoNoteFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VideoNoteFile.kt index ff20f7fdad..90bfb35239 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VideoNoteFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VideoNoteFile.kt @@ -2,7 +2,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.files import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class VideoNoteFile( @@ -10,12 +11,9 @@ data class VideoNoteFile( override val fileId: FileId, @SerialName("length") override val width: Int, - @Optional override val duration: Long? = null, - @Optional override val thumb: PhotoSize? = null, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null ) : TelegramMediaFile, ThumbedMediaFile, PlayableMediaFile, SizedMediaFile { override val height: Int diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VoiceFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VoiceFile.kt index 00c5ba740d..b0ee5a26a7 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VoiceFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/files/VoiceFile.kt @@ -2,18 +2,16 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.files import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class VoiceFile( @SerialName(fileIdField) override val fileId: FileId, - @Optional override val duration: Long? = null, @SerialName(mimeTypeField) - @Optional override val mimeType: String? = null, @SerialName(fileSizeField) - @Optional override val fileSize: Long? = null ) : TelegramMediaFile, MimedMediaFile, PlayableMediaFile diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/games/Game.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/games/Game.kt index be6dd46cd4..c531d0e3c3 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/games/Game.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/games/Game.kt @@ -15,14 +15,11 @@ data class Game( @SerialName(photoField) val photo: Photo, @SerialName(textField) - @Optional val text: String? = null, @Serializable(RawMessageEntitiesSerializer::class) @SerialName(textEntitiesField) - @Optional private val textEntitiesRaw: RawMessageEntities? = null, @SerialName(animationField) - @Optional val animation: AnimationFile? = null ) { @Transient diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/RawMessage.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/RawMessage.kt index 19b54b86d2..30d48e9916 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/RawMessage.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/RawMessage.kt @@ -30,60 +30,59 @@ data class RawMessage( @SerialName(chatField) private val chat: RawChat, @SerialName(fromField) - @Optional private val from: User? = null, - @Optional private val forward_from: User? = null, - @Optional private val forward_from_chat: RawChat? = null, - @Optional private val forward_from_message_id: MessageIdentifier? = null, - @Optional private val forward_signature: ForwardSignature? = null, - @Optional private val forward_date: TelegramDate? = null, - @Optional private val reply_to_message: RawMessage? = null, - @Optional private val edit_date: TelegramDate? = null, - @Optional private val media_group_id: MediaGroupIdentifier? = null, - @Optional private val author_signature: AuthorSignature? = null, - @Optional private val text: String? = null, + private val forward_from: User? = null, + private val forward_from_chat: RawChat? = null, + private val forward_from_message_id: MessageIdentifier? = null, + private val forward_signature: ForwardSignature? = null, + private val forward_date: TelegramDate? = null, + private val reply_to_message: RawMessage? = null, + private val edit_date: TelegramDate? = null, + private val media_group_id: MediaGroupIdentifier? = null, + private val author_signature: AuthorSignature? = null, + private val text: String? = null, @Serializable(RawMessageEntitiesSerializer::class) - @Optional private val entities: RawMessageEntities? = null, - @Optional private val caption: String? = null, + private val entities: RawMessageEntities? = null, + private val caption: String? = null, @Serializable(RawMessageEntitiesSerializer::class) - @Optional private val caption_entities: RawMessageEntities? = null, - @Optional private val audio: AudioFile? = null, - @Optional private val document: DocumentFile? = null, - @Optional private val animation: AnimationFile? = null, - @Optional private val game: Game? = null, + private val caption_entities: RawMessageEntities? = null, + private val audio: AudioFile? = null, + private val document: DocumentFile? = null, + private val animation: AnimationFile? = null, + private val game: Game? = null, @Serializable(PhotoSerializer::class) - @Optional private val photo: Photo? = null, - @Optional private val sticker: Sticker? = null, - @Optional private val video: VideoFile? = null, - @Optional private val voice: VoiceFile? = null, - @Optional private val video_note: VideoNoteFile? = null, - @Optional private val contact: Contact? = null, - @Optional private val location: Location? = null, - @Optional private val venue: Venue? = null, - @Optional private val new_chat_members: Array? = null, - @Optional private val left_chat_member: User? = null, - @Optional private val new_chat_title: String? = null, + private val photo: Photo? = null, + private val sticker: Sticker? = null, + private val video: VideoFile? = null, + private val voice: VoiceFile? = null, + private val video_note: VideoNoteFile? = null, + private val contact: Contact? = null, + private val location: Location? = null, + private val venue: Venue? = null, + private val new_chat_members: List? = null, + private val left_chat_member: User? = null, + private val new_chat_title: String? = null, @Serializable(PhotoSerializer::class) - @Optional private val new_chat_photo: Photo? = null, - @Optional private val delete_chat_photo: Boolean = false, - @Optional private val group_chat_created: Boolean = false, - @Optional private val supergroup_chat_created: Boolean = false, - @Optional private val channel_chat_created: Boolean = false, - @Optional private val migrate_to_chat_id: ChatIdentifier? = null, - @Optional private val migrate_from_chat_id: ChatIdentifier? = null, - @Optional private val pinned_message: RawMessage? = null, - @Optional private val invoice: Invoice? = null, - @Optional private val successful_payment: SuccessfulPayment? = null, + private val new_chat_photo: Photo? = null, + private val delete_chat_photo: Boolean = false, + private val group_chat_created: Boolean = false, + private val supergroup_chat_created: Boolean = false, + private val channel_chat_created: Boolean = false, + private val migrate_to_chat_id: ChatIdentifier? = null, + private val migrate_from_chat_id: ChatIdentifier? = null, + private val pinned_message: RawMessage? = null, + private val invoice: Invoice? = null, + private val successful_payment: SuccessfulPayment? = null, // login property - @Optional private val connected_website: String? = null, + private val connected_website: String? = null, // passport property - @Optional private val passport_data: Unit? = null + private val passport_data: Unit? = null ) { @Transient private val content: MessageContent? by lazy { - val adaptedCaptionEntities = caption ?.let { _ -> + val adaptedCaptionEntities = caption ?.let { caption_entities ?.map { it.asMessageEntity(caption) } diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/PreCheckoutQuery.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/PreCheckoutQuery.kt index 0148d2c5ca..6a773ed7bc 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/PreCheckoutQuery.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/PreCheckoutQuery.kt @@ -2,8 +2,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.payments import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.payments.abstracts.* -import kotlinx.serialization.* -import kotlinx.serialization.Optional +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import java.util.* // TODO:: separate to normal classes hierarchy @@ -21,9 +21,7 @@ data class PreCheckoutQuery( @SerialName(invoicePayloadField) val invoicePayload: InvoicePayload, @SerialName(shippingOptionIdField) - @Optional val shippingOptionId: ShippingOptionIdentifier? = null, @SerialName(orderInfoField) - @Optional val orderInfo: OrderInfo? = null ) : Currencied, Amounted diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/ShippingAddress.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/ShippingAddress.kt index ade1e1a320..2d99fd6bb7 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/ShippingAddress.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/ShippingAddress.kt @@ -1,7 +1,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.payments import com.github.insanusmokrassar.TelegramBotAPI.types.* -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class ShippingAddress( @@ -14,9 +15,7 @@ data class ShippingAddress( @SerialName(secondStreetLineField) val secondStreetLine: String, @SerialName(stateField) - @Optional val state: String = "", @SerialName(postCodeField) - @Optional val postCode: String = "" ) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/SuccessfulPayment.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/SuccessfulPayment.kt index 68f0d5fec0..af3f2c87f7 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/SuccessfulPayment.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/SuccessfulPayment.kt @@ -2,8 +2,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.payments import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.payments.abstracts.* -import kotlinx.serialization.* -import kotlinx.serialization.Optional +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import java.util.* @Serializable @@ -20,9 +20,7 @@ data class SuccessfulPayment( @SerialName(providerPaymentChargeIdField) val providerPaymentChargeId: String, @SerialName(shippingOptionIdField) - @Optional val shippingOptionId: String? = null, @SerialName(orderInfoField) - @Optional val orderInfo: OrderInfo? = null ) : Amounted, Currencied diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/stickers/StickerSet.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/stickers/StickerSet.kt index 19f8a48121..85fa4210d5 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/stickers/StickerSet.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/stickers/StickerSet.kt @@ -2,7 +2,8 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.stickers import com.github.insanusmokrassar.TelegramBotAPI.types.* import com.github.insanusmokrassar.TelegramBotAPI.types.files.Sticker -import kotlinx.serialization.* +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class StickerSet( @@ -13,6 +14,5 @@ data class StickerSet( @SerialName(stickersField) val stickers: List, @SerialName(containsMasksField) - @Optional val containsMasks: Boolean = false ) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/update/RawUpdate.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/update/RawUpdate.kt index 4c5e8699e1..097a200071 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/update/RawUpdate.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/update/RawUpdate.kt @@ -17,15 +17,15 @@ import kotlinx.serialization.* data class RawUpdate constructor( @SerialName(updateIdField) val updateId: UpdateIdentifier, - @Optional private val message: RawMessage? = null, - @Optional private val edited_message: RawMessage? = null, - @Optional private val channel_post: RawMessage? = null, - @Optional private val edited_channel_post: RawMessage? = null, - @Optional private val inline_query: RawInlineQuery? = null, - @Optional private val chosen_inline_result: RawChosenInlineResult? = null, - @Optional private val callback_query: RawCallbackQuery? = null, - @Optional private val shipping_query: ShippingQuery? = null, - @Optional private val pre_checkout_query: PreCheckoutQuery? = null + private val message: RawMessage? = null, + private val edited_message: RawMessage? = null, + private val channel_post: RawMessage? = null, + private val edited_channel_post: RawMessage? = null, + private val inline_query: RawInlineQuery? = null, + private val chosen_inline_result: RawChosenInlineResult? = null, + private val callback_query: RawCallbackQuery? = null, + private val shipping_query: ShippingQuery? = null, + private val pre_checkout_query: PreCheckoutQuery? = null ) { @Transient val asUpdate: Update by lazy { diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/UpdatesPoller.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/UpdatesPoller.kt index f0dd975b2a..7ead0ba33b 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/UpdatesPoller.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/UpdatesPoller.kt @@ -2,6 +2,7 @@ package com.github.insanusmokrassar.TelegramBotAPI.utils.extensions import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor import com.github.insanusmokrassar.TelegramBotAPI.requests.GetUpdates +import com.github.insanusmokrassar.TelegramBotAPI.requests.webhook.DeleteWebhook import com.github.insanusmokrassar.TelegramBotAPI.types.UpdateIdentifier import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.MediaGroupMessage import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.BaseMessageUpdate @@ -72,7 +73,8 @@ class UpdatesPoller( pushMediaGroupUpdate() } - fun start(): Job { + suspend fun start(): Job { + executor.executeUnsafe(DeleteWebhook()) return pollerJob ?: scope.launch { while (isActive) { delay(requestsDelayMillis) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/UpdatesPolling.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/UpdatesPolling.kt index 257b1db839..8777aec2f5 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/UpdatesPolling.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/extensions/UpdatesPolling.kt @@ -9,7 +9,7 @@ import java.util.concurrent.Executors typealias UpdateReceiver = suspend (T) -> Unit -fun RequestsExecutor.startGettingOfUpdates( +suspend fun RequestsExecutor.startGettingOfUpdates( requestsDelayMillis: Long = 1000, scope: CoroutineScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher()), allowedUpdates: List? = null, @@ -18,7 +18,7 @@ fun RequestsExecutor.startGettingOfUpdates( return UpdatesPoller(this, requestsDelayMillis, scope, allowedUpdates, block).start() } -fun RequestsExecutor.startGettingOfUpdates( +suspend fun RequestsExecutor.startGettingOfUpdates( messageCallback: UpdateReceiver? = null, messageMediaGroupCallback: UpdateReceiver? = null, editedMessageCallback: UpdateReceiver? = null, @@ -58,7 +58,7 @@ fun RequestsExecutor.startGettingOfUpdates( ) } -fun RequestsExecutor.startGettingOfUpdates( +suspend fun RequestsExecutor.startGettingOfUpdates( messageCallback: UpdateReceiver? = null, mediaGroupCallback: UpdateReceiver? = null, editedMessageCallback: UpdateReceiver? = null,