From cb7a343208141ef6fabe28592010b4bb256c88d6 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 6 Feb 2023 11:36:00 +0600 Subject: [PATCH] improve copying functions in chat permissions --- .../tgbotapi/types/chat/ChatPermissions.kt | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) 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 e0f451e690..be1d4c8b19 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 copyDefault( + fun copyGranular( canSendMessages: Boolean? = this.canSendMessages, canSendAudios: Boolean? = this.canSendAudios, canSendDocuments: Boolean? = this.canSendDocuments, @@ -219,6 +219,33 @@ interface ChatPermissions { canInviteUsers = canInviteUsers, canPinMessages = canPinMessages ) + + /** + * Copying current instance as [ChatPermissions], but realizations of this interface may differently override this + * method + */ + fun copyCommon( + canSendPolls: Boolean? = this.canSendPolls, + canSendOtherMessages: Boolean? = this.canSendOtherMessages, + canAddWebPagePreviews: Boolean? = this.canAddWebPagePreviews, + canChangeInfo: Boolean? = this.canChangeInfo, + canInviteUsers: Boolean? = this.canInviteUsers, + canPinMessages: Boolean? = this.canPinMessages + ): ChatPermissions = ChatPermissions( + canSendMessages = null, + canSendAudios = null, + canSendDocuments = null, + canSendPhotos = null, + canSendVideos = null, + canSendVideoNotes = null, + canSendVoiceNotes = null, + canSendPolls = canSendPolls, + canSendOtherMessages = canSendOtherMessages, + canAddWebPagePreviews = canAddWebPagePreviews, + canChangeInfo = canChangeInfo, + canInviteUsers = canInviteUsers, + canPinMessages = canPinMessages + ) } val LeftRestrictionsChatPermissions = ChatPermissions(