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

partial replace of require with warning messages

This commit is contained in:
2026-03-06 19:09:45 +06:00
parent b30af48b8d
commit 2a1bd229d6
8 changed files with 37 additions and 16 deletions

View File

@@ -13,6 +13,14 @@
* `KSLog`: `1.5.2` -> `1.6.0`
* `Core` + `API`:
* **BREAKING CHANGES: ALL METHODS THAT PREVIOUSLY RETURNED BOOLEAN NOW RETURNS UNIT**
* `Core`:
* **BREAKING CHANGE** `SetChatTitle` init do not throw error in case when `title.length` is outside of `chatTitleLength`
* **BREAKING CHANGE** `SetStickerEmojiList` init do not throw error in case when `emojis.size` is outside of `emojisInStickerLimit`
* **BREAKING CHANGE** `DeleteMessages` init do not throw error in case when title is `messageIds.size` of `deleteMessagesLimit`
* **BREAKING CHANGE** `ForwardMessages` init do not throw error in case when `messageIds.size` is outside of `forwardMessagesLimit`
* **BREAKING CHANGE** `CopyMessages` init do not throw error in case when `messageIds.size` is outside of `copyMessagesLimit`
* **BREAKING CHANGE** `SwitchInlineQueryChosenChat` init do not throw error in case when `messageIds.size` is outside of `copyMessagesLimit`
* **BREAKING CHANGE** `SetStickerKeywords` init do not throw error in case when there are errors in `keywords`
## 31.2.0

View File

@@ -1,9 +1,11 @@
package dev.inmo.tgbotapi.requests
import dev.inmo.kslog.common.w
import dev.inmo.tgbotapi.abstracts.types.MessageAction
import dev.inmo.tgbotapi.abstracts.types.MessagesAction
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -18,8 +20,8 @@ data class DeleteMessages(
override fun method(): String = "deleteMessages"
init {
require(messageIds.size in deleteMessagesLimit) {
"Messages count for deleteMessages must be in $deleteMessagesLimit range"
if (messageIds.size !in deleteMessagesLimit) {
DefaultKTgBotAPIKSLog.w("DeleteMessages", "Messages count for deleteMessages must be in $deleteMessagesLimit range")
}
}

View File

@@ -1,5 +1,6 @@
package dev.inmo.tgbotapi.requests
import dev.inmo.kslog.common.w
import dev.inmo.tgbotapi.abstracts.types.DisableNotification
import dev.inmo.tgbotapi.abstracts.types.MessagesAction
import dev.inmo.tgbotapi.abstracts.types.ProtectContent
@@ -7,6 +8,7 @@ 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.utils.DefaultKTgBotAPIKSLog
import kotlinx.serialization.*
import kotlinx.serialization.builtins.ListSerializer
@@ -62,8 +64,8 @@ data class ForwardMessages (
get() = fromChatId
init {
require(messageIds.size in forwardMessagesLimit) {
"Messages count for forwardMessages must be in $forwardMessagesLimit range"
if (messageIds.size !in forwardMessagesLimit) {
DefaultKTgBotAPIKSLog.w("ForwardMessages", "Messages count for forwardMessages must be in $forwardMessagesLimit range")
}
}

View File

@@ -1,11 +1,12 @@
package dev.inmo.tgbotapi.requests.chat.modify
import dev.inmo.kslog.common.w
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@Serializable
data class SetChatTitle (
@@ -16,7 +17,7 @@ data class SetChatTitle (
): ChatRequest, SimpleRequest<Unit> {
init {
if (title.length !in chatTitleLength) {
throw IllegalArgumentException("Chat title must be in $chatTitleLength range")
DefaultKTgBotAPIKSLog.w("SetChatTitle", "Chat title must be in $chatTitleLength range")
}
}

View File

@@ -1,5 +1,6 @@
package dev.inmo.tgbotapi.requests.send
import dev.inmo.kslog.common.w
import dev.inmo.tgbotapi.abstracts.types.*
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.requests.send.abstracts.OptionallyDirectMessageThreadRequest
@@ -11,6 +12,7 @@ import dev.inmo.tgbotapi.types.message.ParseMode
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
import dev.inmo.tgbotapi.types.message.*
import dev.inmo.tgbotapi.types.message.toRawMessageEntities
import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog
import dev.inmo.tgbotapi.utils.extensions.makeString
import kotlinx.serialization.*
import kotlinx.serialization.builtins.ListSerializer
@@ -67,8 +69,8 @@ data class CopyMessages (
get() = fromChatId
init {
require(messageIds.size in copyMessagesLimit) {
"Messages count for copyMessages must be in $copyMessagesLimit range"
if (messageIds.size !in copyMessagesLimit) {
DefaultKTgBotAPIKSLog.w("CopyMessages", "Messages count for copyMessages must be in $copyMessagesLimit range")
}
}

View File

@@ -1,8 +1,10 @@
package dev.inmo.tgbotapi.requests.stickers
import dev.inmo.kslog.common.w
import dev.inmo.tgbotapi.requests.abstracts.*
import dev.inmo.tgbotapi.requests.stickers.abstracts.StickerAction
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -19,8 +21,8 @@ data class SetStickerEmojiList (
constructor(sticker: FileId, vararg emojis: String) : this(sticker, emojis.toList())
init {
require(emojis.size !in emojisInStickerLimit) {
"Emojis size should be in range $emojisInStickerLimit, but was ${emojis.size}"
if (emojis.size !in emojisInStickerLimit) {
DefaultKTgBotAPIKSLog.w("SetStickerEmojiList", "Emojis size should be in range $emojisInStickerLimit, but was ${emojis.size}")
}
}

View File

@@ -1,8 +1,10 @@
package dev.inmo.tgbotapi.requests.stickers
import dev.inmo.kslog.common.w
import dev.inmo.tgbotapi.requests.abstracts.*
import dev.inmo.tgbotapi.requests.stickers.abstracts.StickerAction
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog
import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
@@ -19,12 +21,12 @@ data class SetStickerKeywords (
constructor(sticker: FileId, vararg keywords: String) : this(sticker, keywords.toList())
init {
require(keywords.size !in keywordsInStickerLimit) {
"Keywords list size should be in range $keywordsInStickerLimit, but was ${keywords.size}"
if (keywords.size !in keywordsInStickerLimit) {
DefaultKTgBotAPIKSLog.w("SetStickerKeywords", "Keywords list size should be in range $keywordsInStickerLimit, but was ${keywords.size}")
}
keywords.forEach {
require(it.length in stickerKeywordLengthLimit) {
"Keyword length should be in range $stickerKeywordLengthLimit, but was ${it.length} (word \"$it\")"
if (it.length !in stickerKeywordLengthLimit) {
DefaultKTgBotAPIKSLog.w("SetStickerKeywords", "Keyword length should be in range $stickerKeywordLengthLimit, but was ${it.length} (word \"$it\")")
}
}
}

View File

@@ -1,6 +1,8 @@
package dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons
import dev.inmo.kslog.common.w
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog
import kotlinx.serialization.EncodeDefault
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.SerialName
@@ -25,8 +27,8 @@ data class SwitchInlineQueryChosenChat (
val allowChannels: Boolean = false,
) {
init {
require(allowUsers || allowBots || allowGroups || allowChannels) {
"Bot must allow to choose at least one of available variants in choosing of inline query recipient"
if (allowUsers == false && allowBots == false && allowGroups == false && allowChannels == false) {
DefaultKTgBotAPIKSLog.w("SwitchInlineQueryChosenChat", "Bot must allow to choose at least one of available variants in choosing of inline query recipient")
}
}
}