diff --git a/CHANGELOG.md b/CHANGELOG.md index 7862510af2..cd5b130555 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ ### 0.9.1 * Updated built-in lengths restrictions +* Apply restrictions of text limit for sending messages ### 0.8.5 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 4216548fb4..1e6c7b5d8e 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 @@ -35,6 +35,11 @@ data class SendMessage( TextableSendMessageRequest, DisableWebPagePreview { + init { + if (text.length !in textLength) { + throw IllegalArgumentException("Text must be in $textLength range") + } + } override fun method(): String = "sendMessage" override fun resultSerializer(): KSerializer = RawMessage.serializer() 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 993fc8e2a7..175a63a7f6 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 @@ -95,6 +95,13 @@ data class SendAnimationData internal constructor( DuratedSendMessageRequest, SizedSendMessageRequest { + init { + text ?.let { + if (it.length !in captionLength) { + throw IllegalArgumentException("Caption must be in $captionLength range") + } + } + } override fun method(): String = "sendAnimation" override fun resultSerializer(): KSerializer = RawMessage.serializer() 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 653621b317..82df382757 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 @@ -95,6 +95,13 @@ data class SendAudioData internal constructor( TitledSendMessageRequest, DuratedSendMessageRequest { + init { + text ?.let { + if (it.length !in captionLength) { + throw IllegalArgumentException("Caption must be in $captionLength range") + } + } + } override fun method(): String = "sendAudio" override fun resultSerializer(): KSerializer = RawMessage.serializer() 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 05f22cc523..55e2c67357 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 @@ -78,6 +78,13 @@ data class SendDocumentData internal constructor( TextableSendMessageRequest, ThumbedSendMessageRequest { + init { + text ?.let { + if (it.length !in captionLength) { + throw IllegalArgumentException("Caption must be in $captionLength range") + } + } + } override fun method(): String = "sendDocument" override fun resultSerializer(): KSerializer = RawMessage.serializer() 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 a00684817b..2d5abe34c7 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 @@ -63,6 +63,14 @@ data class SendPhotoData internal constructor( ReplyingMarkupSendMessageRequest, TextableSendMessageRequest { + init { + text ?.let { + if (it.length !in captionLength) { + throw IllegalArgumentException("Caption must be in $captionLength range") + } + } + } + override fun method(): String = "sendPhoto" override fun resultSerializer(): KSerializer = RawMessage.serializer() } 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 cdacb0f009..884c22c12a 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 @@ -100,6 +100,13 @@ data class SendVideoData internal constructor( DuratedSendMessageRequest, SizedSendMessageRequest { + init { + text ?.let { + if (it.length !in captionLength) { + throw IllegalArgumentException("Caption must be in $captionLength range") + } + } + } override fun method(): String = "sendVideo" override fun resultSerializer(): KSerializer = RawMessage.serializer() 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 3bedeec3c1..61d876b225 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 @@ -94,6 +94,13 @@ data class SendVideoNoteData internal constructor( override val height: Int? get() = width + init { + text ?.let { + if (it.length !in captionLength) { + throw IllegalArgumentException("Caption must be in $captionLength range") + } + } + } override fun method(): String = "sendVideoNote" override fun resultSerializer(): KSerializer = RawMessage.serializer() 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 2db410591b..175135b727 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 @@ -84,6 +84,13 @@ data class SendVoiceData internal constructor( ThumbedSendMessageRequest, DuratedSendMessageRequest { + init { + text ?.let { + if (it.length !in captionLength) { + throw IllegalArgumentException("Caption must be in $captionLength range") + } + } + } override fun method(): String = "sendVoice" override fun resultSerializer(): KSerializer = RawMessage.serializer()