From 23f93075a441459416355cd76b99fb3fcc523c00 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Fri, 10 Dec 2021 12:49:13 +0600 Subject: [PATCH] update microutils and add banChatSenderChat and unbanChatSenderChat support --- CHANGELOG.md | 2 +- gradle.properties | 2 +- .../api/chat/members/BanChatSenderChat.kt | 27 +++++++++++++++++++ .../api/chat/members/UnbanChatSenderChat.kt | 26 ++++++++++++++++++ .../chat/abstracts/ChatSenderRequest.kt | 10 +++++++ .../chat/members/BanChatSenderChat.kt | 20 ++++++++++++++ .../chat/members/UnbanChatSenderChat.kt | 20 ++++++++++++++ .../kotlin/dev/inmo/tgbotapi/types/Common.kt | 1 + 8 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/BanChatSenderChat.kt create mode 100644 tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/UnbanChatSenderChat.kt create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/abstracts/ChatSenderRequest.kt create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/BanChatSenderChat.kt create mode 100644 tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/UnbanChatSenderChat.kt diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d1312a978..ceb38cf693 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ * `Common`: * `Version`: - * `MicroUtils`: `0.8.2` -> `0.8.5` + * `MicroUtils`: `0.8.2` -> `0.8.6` * `Utils`: * Fix of `EntitiesBuilder#linkln` diff --git a/gradle.properties b/gradle.properties index d4af390dcd..05a76916ec 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ klock_version=2.4.8 uuid_version=0.3.1 ktor_version=1.6.5 -micro_utils_version=0.8.5 +micro_utils_version=0.8.6 javax_activation_version=1.1.1 diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/BanChatSenderChat.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/BanChatSenderChat.kt new file mode 100644 index 0000000000..c8300aba8e --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/BanChatSenderChat.kt @@ -0,0 +1,27 @@ +package dev.inmo.tgbotapi.extensions.api.chat.members + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.chat.members.BanChatMember +import dev.inmo.tgbotapi.requests.chat.members.BanChatSenderChat +import dev.inmo.tgbotapi.types.* +import dev.inmo.tgbotapi.types.chat.abstracts.PublicChat + +suspend fun TelegramBot.banChatSenderChat( + chatId: ChatIdentifier, + senderChatId: ChatId +) = execute(BanChatSenderChat(chatId, senderChatId)) + +suspend fun TelegramBot.banChatSenderChat( + chat: PublicChat, + senderChatId: ChatId +) = banChatSenderChat(chat.id, senderChatId) + +suspend fun TelegramBot.banChatSenderChat( + chatId: ChatId, + senderChat: PublicChat +) = banChatSenderChat(chatId, senderChat.id) + +suspend fun TelegramBot.banChatSenderChat( + chat: PublicChat, + senderChat: PublicChat, +) = banChatSenderChat(chat.id, senderChat) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/UnbanChatSenderChat.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/UnbanChatSenderChat.kt new file mode 100644 index 0000000000..683e4f37c7 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/UnbanChatSenderChat.kt @@ -0,0 +1,26 @@ +package dev.inmo.tgbotapi.extensions.api.chat.members + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.chat.members.* +import dev.inmo.tgbotapi.types.* +import dev.inmo.tgbotapi.types.chat.abstracts.PublicChat + +suspend fun TelegramBot.unbanChatSenderChat( + chatId: ChatIdentifier, + senderChatId: ChatId +) = execute(UnbanChatSenderChat(chatId, senderChatId)) + +suspend fun TelegramBot.unbanChatSenderChat( + chat: PublicChat, + senderChatId: ChatId +) = unbanChatSenderChat(chat.id, senderChatId) + +suspend fun TelegramBot.unbanChatSenderChat( + chatId: ChatId, + senderChat: PublicChat +) = unbanChatSenderChat(chatId, senderChat.id) + +suspend fun TelegramBot.unbanChatSenderChat( + chat: PublicChat, + senderChat: PublicChat, +) = unbanChatSenderChat(chat.id, senderChat) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/abstracts/ChatSenderRequest.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/abstracts/ChatSenderRequest.kt new file mode 100644 index 0000000000..9e036d772a --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/abstracts/ChatSenderRequest.kt @@ -0,0 +1,10 @@ +package dev.inmo.tgbotapi.requests.chat.abstracts + +import dev.inmo.tgbotapi.CommonAbstracts.types.ChatRequest +import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest +import dev.inmo.tgbotapi.types.ChatId +import dev.inmo.tgbotapi.types.UserId + +interface ChatSenderRequest : ChatRequest, SimpleRequest { + val senderChatId: ChatId +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/BanChatSenderChat.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/BanChatSenderChat.kt new file mode 100644 index 0000000000..1af8aad16c --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/BanChatSenderChat.kt @@ -0,0 +1,20 @@ +package dev.inmo.tgbotapi.requests.chat.members + +import dev.inmo.tgbotapi.requests.chat.abstracts.ChatSenderRequest +import dev.inmo.tgbotapi.types.* +import kotlinx.serialization.* +import kotlinx.serialization.builtins.serializer + +@Serializable +data class BanChatSenderChat( + @SerialName(chatIdField) + override val chatId: ChatIdentifier, + @SerialName(senderChatIdField) + override val senderChatId: ChatId +) : ChatSenderRequest { + override fun method(): String = "banChatSenderChat" + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/UnbanChatSenderChat.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/UnbanChatSenderChat.kt new file mode 100644 index 0000000000..a6d5919b7a --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/UnbanChatSenderChat.kt @@ -0,0 +1,20 @@ +package dev.inmo.tgbotapi.requests.chat.members + +import dev.inmo.tgbotapi.requests.chat.abstracts.ChatSenderRequest +import dev.inmo.tgbotapi.types.* +import kotlinx.serialization.* +import kotlinx.serialization.builtins.serializer + +@Serializable +data class UnbanChatSenderChat( + @SerialName(chatIdField) + override val chatId: ChatIdentifier, + @SerialName(senderChatIdField) + override val senderChatId: ChatId +) : ChatSenderRequest { + override fun method(): String = "unbanChatSenderChat" + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt index 7d864b5820..d51feb7fcf 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt @@ -96,6 +96,7 @@ val telegramInlineModeGifPermittedMimeTypes by lazy { } const val chatIdField = "chat_id" +const val senderChatIdField = "sender_chat_id" const val messageIdField = "message_id" const val updateIdField = "update_id" const val fromChatIdField = "from_chat_id"