From ebc1c074047d06822e6a2b3f247aa5a71cfaeffd Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 4 Sep 2025 16:09:30 +0600 Subject: [PATCH] small improvements --- .../kotlin/dev/inmo/tgbotapi/requests/send/CopyMessage.kt | 6 ++++++ .../dev/inmo/tgbotapi/requests/send/CopyMessages.kt | 8 ++++++++ .../kotlin/dev/inmo/tgbotapi/requests/send/SendContact.kt | 6 ++++++ .../kotlin/dev/inmo/tgbotapi/requests/send/SendDice.kt | 6 ++++++ .../dev/inmo/tgbotapi/requests/send/SendLocation.kt | 6 +++++- .../kotlin/dev/inmo/tgbotapi/requests/send/SendMessage.kt | 6 ++++++ .../kotlin/dev/inmo/tgbotapi/requests/send/SendVenue.kt | 6 ++++++ ...Request.kt => OptionallyDirectMessageThreadRequest.kt} | 2 +- .../requests/send/abstracts/SendMessageRequest.kt | 2 +- .../dev/inmo/tgbotapi/requests/send/games/SendGame.kt | 6 ++++++ .../inmo/tgbotapi/requests/send/media/SendAnimation.kt | 6 ++++++ .../dev/inmo/tgbotapi/requests/send/media/SendAudio.kt | 6 ++++++ .../dev/inmo/tgbotapi/requests/send/media/SendDocument.kt | 6 ++++++ .../inmo/tgbotapi/requests/send/media/SendMediaGroup.kt | 6 ++++++ .../inmo/tgbotapi/requests/send/media/SendPaidMedia.kt | 6 ++++++ .../dev/inmo/tgbotapi/requests/send/media/SendPhoto.kt | 6 ++++++ .../dev/inmo/tgbotapi/requests/send/media/SendSticker.kt | 6 ++++++ .../dev/inmo/tgbotapi/requests/send/media/SendVideo.kt | 6 ++++++ .../inmo/tgbotapi/requests/send/media/SendVideoNote.kt | 6 ++++++ .../dev/inmo/tgbotapi/requests/send/media/SendVoice.kt | 6 ++++++ .../inmo/tgbotapi/requests/send/payments/SendInvoice.kt | 7 ++++++- .../dev/inmo/tgbotapi/requests/send/polls/SendQuizPoll.kt | 8 ++++++++ .../inmo/tgbotapi/requests/send/polls/SendRegularPoll.kt | 8 ++++++++ .../kotlin/dev/inmo/tgbotapi/types/ChatIdentifier.kt | 3 +++ 24 files changed, 136 insertions(+), 4 deletions(-) rename tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/{OptionallyChannelDirectMessageThreadRequest.kt => OptionallyDirectMessageThreadRequest.kt} (74%) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/CopyMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/CopyMessage.kt index b7ba7fa756..a39bba3fc7 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/CopyMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/CopyMessage.kt @@ -160,8 +160,14 @@ data class CopyMessage internal constructor( private val rawEntities: List? = null, @SerialName(showCaptionAboveMediaField) override val showCaptionAboveMedia: Boolean = false, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = toChatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = toChatId.directMessageThreadId @SerialName(videoStartTimestampField) override val startTimestamp: Seconds? = null, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/CopyMessages.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/CopyMessages.kt index 5837642af6..5926eb6788 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/CopyMessages.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/CopyMessages.kt @@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.requests.send import dev.inmo.tgbotapi.abstracts.types.* import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest +import dev.inmo.tgbotapi.requests.send.abstracts.OptionallyDirectMessageThreadRequest import dev.inmo.tgbotapi.requests.send.abstracts.OptionallyMessageThreadRequest import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId @@ -40,8 +41,14 @@ data class CopyMessages ( val fromChatId: ChatIdentifier, @SerialName(messageIdsField) override val messageIds: List, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = toChatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = toChatId.directMessageThreadId @SerialName(disableNotificationField) override val disableNotification: Boolean = false, @SerialName(protectContentField) @@ -52,6 +59,7 @@ data class CopyMessages ( MessagesAction, ProtectContent, OptionallyMessageThreadRequest, + OptionallyDirectMessageThreadRequest, DisableNotification { override val chatId: ChatIdentifier get() = fromChatId diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendContact.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendContact.kt index 291609e6ef..418597cb3b 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendContact.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendContact.kt @@ -24,8 +24,14 @@ data class SendContact( val firstName: String, @SerialName(lastNameField) val lastName: String? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendDice.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendDice.kt index 232d7eeafa..fbc74699eb 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendDice.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendDice.kt @@ -23,8 +23,14 @@ data class SendDice( override val chatId: ChatIdentifier, @SerialName(emojiField) val animationType: DiceAnimationType? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendLocation.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendLocation.kt index 8c33684455..81bfddecbf 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendLocation.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendLocation.kt @@ -139,10 +139,14 @@ sealed interface SendLocation : SendContentMessageRequest? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(linkPreviewOptionsField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendVenue.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendVenue.kt index b384524f9a..0f62bf7963 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendVenue.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/SendVenue.kt @@ -33,8 +33,14 @@ data class SendVenue( val googlePlaceId: GooglePlaceId? = null, @SerialName(googlePlaceTypeField) val googlePlaceType: GooglePlaceType? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/OptionallyChannelDirectMessageThreadRequest.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/OptionallyDirectMessageThreadRequest.kt similarity index 74% rename from tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/OptionallyChannelDirectMessageThreadRequest.kt rename to tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/OptionallyDirectMessageThreadRequest.kt index 311f2cfddb..4742a0d3f3 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/OptionallyChannelDirectMessageThreadRequest.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/OptionallyDirectMessageThreadRequest.kt @@ -2,6 +2,6 @@ package dev.inmo.tgbotapi.requests.send.abstracts import dev.inmo.tgbotapi.types.DirectMessageThreadId -interface OptionallyChannelDirectMessageThreadRequest { +interface OptionallyDirectMessageThreadRequest { val directMessageThreadId: DirectMessageThreadId? } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/SendMessageRequest.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/SendMessageRequest.kt index 954b5f9acf..22314284c4 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/SendMessageRequest.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/abstracts/SendMessageRequest.kt @@ -8,4 +8,4 @@ interface SendMessageRequest : SendChatMessageRequest, ProtectContent, AllowPaidBroadcast, OptionallyMessageThreadRequest, - OptionallyChannelDirectMessageThreadRequest + OptionallyDirectMessageThreadRequest diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/games/SendGame.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/games/SendGame.kt index 78e8625a02..1b4104f9bc 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/games/SendGame.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/games/SendGame.kt @@ -20,8 +20,14 @@ data class SendGame ( override val chatId: ChatIdentifier, @SerialName(gameShortNameField) val gameShortName: String, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendAnimation.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendAnimation.kt index 6c0bbe7b50..53c52af113 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendAnimation.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendAnimation.kt @@ -160,8 +160,14 @@ data class SendAnimationData internal constructor( override val width: Int? = null, @SerialName(heightField) override val height: Int? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendAudio.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendAudio.kt index be6f0124f0..3fa056ec1e 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendAudio.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendAudio.kt @@ -149,8 +149,14 @@ data class SendAudioData internal constructor( override val performer: String? = null, @SerialName(titleField) override val title: String? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendDocument.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendDocument.kt index f49f4240ec..2f6f67ae43 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendDocument.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendDocument.kt @@ -161,8 +161,14 @@ data class SendDocumentData internal constructor( override val parseMode: ParseMode? = null, @SerialName(captionEntitiesField) private val rawEntities: List? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendMediaGroup.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendMediaGroup.kt index eac0638b3c..3b07151898 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendMediaGroup.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendMediaGroup.kt @@ -191,8 +191,14 @@ data class SendMediaGroupData internal constructor( @SerialName(chatIdField) override val chatId: ChatIdentifier, val media: List = emptyList(), + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendPaidMedia.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendPaidMedia.kt index 2db109bd21..f517a384c0 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendPaidMedia.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendPaidMedia.kt @@ -167,8 +167,14 @@ data class SendPaidMediaData internal constructor( val payload: PaidMediaPayload? = null, @SerialName(showCaptionAboveMediaField) override val showCaptionAboveMedia: Boolean = false, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendPhoto.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendPhoto.kt index d4b7842607..8a4102783b 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendPhoto.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendPhoto.kt @@ -128,8 +128,14 @@ data class SendPhotoData internal constructor( override val showCaptionAboveMedia: Boolean = false, @SerialName(hasSpoilerField) override val spoilered: Boolean = false, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendSticker.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendSticker.kt index 8d97ba2a54..0088e0b485 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendSticker.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendSticker.kt @@ -58,8 +58,14 @@ data class SendStickerByFileId internal constructor( override val chatId: ChatIdentifier, @SerialName(stickerField) val sticker: InputFile, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(emojiField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVideo.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVideo.kt index 40df7df3a5..db2074bfac 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVideo.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVideo.kt @@ -181,8 +181,14 @@ data class SendVideoData internal constructor( override val height: Int? = null, @SerialName(supportStreamingField) val supportStreaming: Boolean? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVideoNote.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVideoNote.kt index f88bedadcc..715b587cd6 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVideoNote.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVideoNote.kt @@ -74,8 +74,14 @@ data class SendVideoNoteData internal constructor( override val duration: Long? = null, @SerialName(lengthField) override val width: Int? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVoice.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVoice.kt index 68f3e8bd2a..7b5f7700aa 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVoice.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/media/SendVoice.kt @@ -126,8 +126,14 @@ data class SendVoiceData internal constructor( private val rawEntities: List? = null, @SerialName(durationField) override val duration: Long? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/payments/SendInvoice.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/payments/SendInvoice.kt index 373aa49991..0f625566e9 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/payments/SendInvoice.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/payments/SendInvoice.kt @@ -13,6 +13,7 @@ import dev.inmo.tgbotapi.types.payments.LabeledPrice import dev.inmo.tgbotapi.types.payments.LabeledPricesSerializer import dev.inmo.tgbotapi.types.payments.abstracts.Currency import dev.inmo.tgbotapi.types.payments.abstracts.XTR +import dev.inmo.tgbotapi.types.threadId import kotlinx.serialization.* private val invoiceMessageSerializer: DeserializationStrategy> @@ -61,10 +62,14 @@ data class SendInvoice( override val shouldSendEmailToProvider: Boolean = false, @SerialName(priceDependOnShipAddressField) override val priceDependOnShipAddress: Boolean = false, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault @SerialName(directMessagesTopicIdField) - override val directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId, + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(disableNotificationField) override val disableNotification: Boolean = false, @SerialName(protectContentField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/polls/SendQuizPoll.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/polls/SendQuizPoll.kt index a9067f3c25..3f7922d9eb 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/polls/SendQuizPoll.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/polls/SendQuizPoll.kt @@ -13,6 +13,8 @@ import dev.inmo.tgbotapi.types.polls.ExactScheduledCloseInfo import dev.inmo.tgbotapi.types.polls.InputPollOption import dev.inmo.tgbotapi.types.polls.ScheduledCloseInfo import dev.inmo.tgbotapi.utils.extensions.makeSourceString +import kotlinx.serialization.EncodeDefault +import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlinx.serialization.SerializationStrategy @@ -46,8 +48,14 @@ class SendQuizPoll internal constructor( override val openPeriod: LongSeconds? = null, @SerialName(closeDateField) override val closeDate: LongSeconds? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/polls/SendRegularPoll.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/polls/SendRegularPoll.kt index ce0c770ce6..1affa10443 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/polls/SendRegularPoll.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/send/polls/SendRegularPoll.kt @@ -15,6 +15,8 @@ import dev.inmo.tgbotapi.types.polls.ScheduledCloseInfo import dev.inmo.tgbotapi.utils.EntitiesBuilder import dev.inmo.tgbotapi.utils.EntitiesBuilderBody import dev.inmo.tgbotapi.utils.extensions.makeSourceString +import kotlinx.serialization.EncodeDefault +import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlinx.serialization.SerializationStrategy @@ -41,8 +43,14 @@ class SendRegularPoll private constructor( override val openPeriod: LongSeconds?= null, @SerialName(closeDateField) override val closeDate: LongSeconds? = null, + @OptIn(ExperimentalSerializationApi::class) @SerialName(messageThreadIdField) + @EncodeDefault override val threadId: MessageThreadId? = chatId.threadId, + @OptIn(ExperimentalSerializationApi::class) + @EncodeDefault + @SerialName(directMessagesTopicIdField) + override val directMessageThreadId: DirectMessageThreadId?,// = chatId.directMessageThreadId @SerialName(businessConnectionIdField) override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId, @SerialName(disableNotificationField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/ChatIdentifier.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/ChatIdentifier.kt index 6f401acee3..b5ba8672c0 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/ChatIdentifier.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/ChatIdentifier.kt @@ -93,6 +93,9 @@ value class BusinessChatId(val chatIdWithBusinessConnectionId: Pair