From 3be8ddae7495e747ddee697cd16c3e6a4e730950 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 6 Feb 2023 11:29:07 +0600 Subject: [PATCH] rights copying hotfix --- .../tgbotapi/types/chat/ChatPermissions.kt | 16 +++++----- .../extensions/utils/ClassCastsNew.kt | 29 +++++++++++++++++++ 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ChatPermissions.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ChatPermissions.kt index 54042f10c6..e0f451e690 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ChatPermissions.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ChatPermissions.kt @@ -190,7 +190,7 @@ interface ChatPermissions { * Copying current instance as [ChatPermissions], but realizations of this interface may differently override this * method */ - fun defaultCopy( + fun copyDefault( canSendMessages: Boolean? = this.canSendMessages, canSendAudios: Boolean? = this.canSendAudios, canSendDocuments: Boolean? = this.canSendDocuments, @@ -205,13 +205,13 @@ interface ChatPermissions { canInviteUsers: Boolean? = this.canInviteUsers, canPinMessages: Boolean? = this.canPinMessages ): ChatPermissions = ChatPermissions( - canSendMessages = canSendPolls, - canSendAudios = null, - canSendDocuments = null, - canSendPhotos = null, - canSendVideos = null, - canSendVideoNotes = null, - canSendVoiceNotes = null, + canSendMessages = canSendMessages, + canSendAudios = canSendAudios, + canSendDocuments = canSendDocuments, + canSendPhotos = canSendPhotos, + canSendVideos = canSendVideos, + canSendVideoNotes = canSendVideoNotes, + canSendVoiceNotes = canSendVoiceNotes, canSendPolls = canSendPolls, canSendOtherMessages = canSendOtherMessages, canAddWebPagePreviews = canAddWebPagePreviews, diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt index ceb2d6ba00..f11affb701 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt @@ -113,6 +113,7 @@ import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.URLInlineKeyboardBu import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.UnknownInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.WebAppInlineKeyboardButton import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup +import dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUser import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup import dev.inmo.tgbotapi.types.buttons.ReplyForce import dev.inmo.tgbotapi.types.buttons.ReplyKeyboardMarkup @@ -1882,6 +1883,34 @@ public inline fun InlineKeyboardButton.ifWebAppInlineKeyboardButton(block: (WebAppInlineKeyboardButton) -> T): T? = webAppInlineKeyboardButtonOrNull() ?.let(block) +public inline fun KeyboardButtonRequestUser.anyOrNull(): KeyboardButtonRequestUser.Any? = this as? + dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUser.Any + +public inline fun KeyboardButtonRequestUser.anyOrThrow(): KeyboardButtonRequestUser.Any = this as + dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUser.Any + +public inline fun KeyboardButtonRequestUser.ifAny(block: (KeyboardButtonRequestUser.Any) -> T): + T? = anyOrNull() ?.let(block) + +public inline fun KeyboardButtonRequestUser.botOrNull(): KeyboardButtonRequestUser.Bot? = this as? + dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUser.Bot + +public inline fun KeyboardButtonRequestUser.botOrThrow(): KeyboardButtonRequestUser.Bot = this as + dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUser.Bot + +public inline fun KeyboardButtonRequestUser.ifBot(block: (KeyboardButtonRequestUser.Bot) -> T): + T? = botOrNull() ?.let(block) + +public inline fun KeyboardButtonRequestUser.commonOrNull(): KeyboardButtonRequestUser.Common? = this + as? dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUser.Common + +public inline fun KeyboardButtonRequestUser.commonOrThrow(): KeyboardButtonRequestUser.Common = this + as dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestUser.Common + +public inline fun + KeyboardButtonRequestUser.ifCommon(block: (KeyboardButtonRequestUser.Common) -> T): T? = + commonOrNull() ?.let(block) + public inline fun KeyboardMarkup.inlineKeyboardMarkupOrNull(): InlineKeyboardMarkup? = this as? dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup