From e76e40d514032372a79535d3e13b7067fb86200d Mon Sep 17 00:00:00 2001 From: sudo-py-dev Date: Thu, 25 Sep 2025 23:13:26 +0300 Subject: [PATCH 1/7] Fix: set_chat_permission method miss permission handle --- pyrogram/methods/chats/set_chat_permissions.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pyrogram/methods/chats/set_chat_permissions.py b/pyrogram/methods/chats/set_chat_permissions.py index d8ec0cf02b..be7787a56f 100644 --- a/pyrogram/methods/chats/set_chat_permissions.py +++ b/pyrogram/methods/chats/set_chat_permissions.py @@ -21,6 +21,7 @@ import pyrogram from pyrogram import raw from pyrogram import types +from pyrogram.methods.messages import send_animation class SetChatPermissions: @@ -70,16 +71,25 @@ async def set_chat_permissions( banned_rights=raw.types.ChatBannedRights( until_date=0, send_messages=not permissions.can_send_messages, - send_media=not permissions.can_send_media_messages, + send_audios=not permissions.can_send_audios, + send_documents=not permissions.can_send_documents, + send_photos=not permissions.can_send_photos, + send_videos=not permissions.can_send_videos, + send_video_notes=not permissions.can_send_video_notes, + send_voice_notes=not permissions.can_send_voice_notes, + send_polls=not permissions.can_send_polls, send_stickers=not permissions.can_send_other_messages, send_gifs=not permissions.can_send_other_messages, send_games=not permissions.can_send_other_messages, + send_animation=not permissions.can_send_other_messages, send_inline=not permissions.can_send_other_messages, embed_links=not permissions.can_add_web_page_previews, - send_polls=not permissions.can_send_polls, change_info=not permissions.can_change_info, invite_users=not permissions.can_invite_users, pin_messages=not permissions.can_pin_messages, + manage_topics=not permissions.can_manage_topics, + send_media=not permissions.can_send_media_messages, + ) ) ) From 424676c2d5fd520b94fe36bb3b0be6d0be0606c4 Mon Sep 17 00:00:00 2001 From: sudo-py-dev Date: Thu, 25 Sep 2025 23:16:54 +0300 Subject: [PATCH 2/7] Update set_chat_permissions.py --- pyrogram/methods/chats/set_chat_permissions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pyrogram/methods/chats/set_chat_permissions.py b/pyrogram/methods/chats/set_chat_permissions.py index be7787a56f..4904a2ab97 100644 --- a/pyrogram/methods/chats/set_chat_permissions.py +++ b/pyrogram/methods/chats/set_chat_permissions.py @@ -21,7 +21,6 @@ import pyrogram from pyrogram import raw from pyrogram import types -from pyrogram.methods.messages import send_animation class SetChatPermissions: From 9666099426777353e1004eb68d042cd429780be2 Mon Sep 17 00:00:00 2001 From: sudo-py-dev Date: Fri, 26 Sep 2025 00:54:14 +0300 Subject: [PATCH 3/7] Update set_chat_permissions.py --- pyrogram/methods/chats/set_chat_permissions.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pyrogram/methods/chats/set_chat_permissions.py b/pyrogram/methods/chats/set_chat_permissions.py index 4904a2ab97..adb1f4e595 100644 --- a/pyrogram/methods/chats/set_chat_permissions.py +++ b/pyrogram/methods/chats/set_chat_permissions.py @@ -21,6 +21,7 @@ import pyrogram from pyrogram import raw from pyrogram import types +from pyrogram.methods.messages import send_document class SetChatPermissions: @@ -71,16 +72,13 @@ async def set_chat_permissions( until_date=0, send_messages=not permissions.can_send_messages, send_audios=not permissions.can_send_audios, - send_documents=not permissions.can_send_documents, + send_docs=not permissions.can_send_documents, send_photos=not permissions.can_send_photos, send_videos=not permissions.can_send_videos, - send_video_notes=not permissions.can_send_video_notes, - send_voice_notes=not permissions.can_send_voice_notes, send_polls=not permissions.can_send_polls, send_stickers=not permissions.can_send_other_messages, send_gifs=not permissions.can_send_other_messages, send_games=not permissions.can_send_other_messages, - send_animation=not permissions.can_send_other_messages, send_inline=not permissions.can_send_other_messages, embed_links=not permissions.can_add_web_page_previews, change_info=not permissions.can_change_info, From 22b48443fa466cbbeeb5f9ea87dd8742d89622da Mon Sep 17 00:00:00 2001 From: sudo-py-dev Date: Fri, 26 Sep 2025 01:34:24 +0300 Subject: [PATCH 4/7] Update set_chat_permissions.py --- pyrogram/methods/chats/set_chat_permissions.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyrogram/methods/chats/set_chat_permissions.py b/pyrogram/methods/chats/set_chat_permissions.py index adb1f4e595..e46625feda 100644 --- a/pyrogram/methods/chats/set_chat_permissions.py +++ b/pyrogram/methods/chats/set_chat_permissions.py @@ -75,6 +75,8 @@ async def set_chat_permissions( send_docs=not permissions.can_send_documents, send_photos=not permissions.can_send_photos, send_videos=not permissions.can_send_videos, + send_roundvideos=not permissions.can_send_video_notes, + send_voices=not permissions.can_send_voice_notes, send_polls=not permissions.can_send_polls, send_stickers=not permissions.can_send_other_messages, send_gifs=not permissions.can_send_other_messages, From 6b92439f9f91af66ca5dba68b2d1da4b3a0c49e5 Mon Sep 17 00:00:00 2001 From: Shrimadhav U K Date: Fri, 26 Sep 2025 08:05:14 +0530 Subject: [PATCH 5/7] Update set_chat_permissions.py --- .../methods/chats/set_chat_permissions.py | 30 +++++-------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/pyrogram/methods/chats/set_chat_permissions.py b/pyrogram/methods/chats/set_chat_permissions.py index e46625feda..daaf1decfa 100644 --- a/pyrogram/methods/chats/set_chat_permissions.py +++ b/pyrogram/methods/chats/set_chat_permissions.py @@ -29,6 +29,7 @@ async def set_chat_permissions( self: "pyrogram.Client", chat_id: Union[int, str], permissions: "types.ChatPermissions", + use_independent_chat_permissions: bool = False, ) -> "types.Chat": """Set default chat permissions for all members. @@ -44,6 +45,12 @@ async def set_chat_permissions( permissions (:obj:`~pyrogram.types.ChatPermissions`): New default chat permissions. + use_independent_chat_permissions (``bool``, *optional*): + Pass True if chat permissions are set independently. + Otherwise, the can_send_other_messages and can_add_web_page_previews permissions will + imply the can_send_messages, can_send_audios, can_send_documents, can_send_photos, can_send_videos, can_send_video_notes, and can_send_voice_notes permissions; + the can_send_polls permission will imply the can_send_messages permission. + Returns: :obj:`~pyrogram.types.Chat`: On success, a chat object is returned. @@ -68,28 +75,7 @@ async def set_chat_permissions( r = await self.invoke( raw.functions.messages.EditChatDefaultBannedRights( peer=await self.resolve_peer(chat_id), - banned_rights=raw.types.ChatBannedRights( - until_date=0, - send_messages=not permissions.can_send_messages, - send_audios=not permissions.can_send_audios, - send_docs=not permissions.can_send_documents, - send_photos=not permissions.can_send_photos, - send_videos=not permissions.can_send_videos, - send_roundvideos=not permissions.can_send_video_notes, - send_voices=not permissions.can_send_voice_notes, - send_polls=not permissions.can_send_polls, - send_stickers=not permissions.can_send_other_messages, - send_gifs=not permissions.can_send_other_messages, - send_games=not permissions.can_send_other_messages, - send_inline=not permissions.can_send_other_messages, - embed_links=not permissions.can_add_web_page_previews, - change_info=not permissions.can_change_info, - invite_users=not permissions.can_invite_users, - pin_messages=not permissions.can_pin_messages, - manage_topics=not permissions.can_manage_topics, - send_media=not permissions.can_send_media_messages, - - ) + banned_rights=permissions.write(use_independent_chat_permissions) ) ) From 2618d6c54c822e0225c7dd4eca02529189970959 Mon Sep 17 00:00:00 2001 From: Shrimadhav U K Date: Fri, 26 Sep 2025 08:06:05 +0530 Subject: [PATCH 6/7] Update restrict_chat_member.py --- pyrogram/methods/chats/restrict_chat_member.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pyrogram/methods/chats/restrict_chat_member.py b/pyrogram/methods/chats/restrict_chat_member.py index d31d8481d6..3bf58fdf81 100644 --- a/pyrogram/methods/chats/restrict_chat_member.py +++ b/pyrogram/methods/chats/restrict_chat_member.py @@ -52,7 +52,10 @@ async def restrict_chat_member( New user permissions. use_independent_chat_permissions (``bool``, *optional*): - Pass True if chat permissions are set independently. Otherwise, the can_send_other_messages and can_add_web_page_previews permissions will imply the can_send_messages, can_send_audios, can_send_documents, can_send_photos, can_send_videos, can_send_video_notes, and can_send_voice_notes permissions; the can_send_polls permission will imply the can_send_messages permission. + Pass True if chat permissions are set independently. + Otherwise, the can_send_other_messages and can_add_web_page_previews permissions will + imply the can_send_messages, can_send_audios, can_send_documents, can_send_photos, can_send_videos, can_send_video_notes, and can_send_voice_notes permissions; + the can_send_polls permission will imply the can_send_messages permission. until_date (:py:obj:`~datetime.datetime`, *optional*): Date when the user will be unbanned. From f39260395725c954ee85f4a2dfd128c2d87f54a0 Mon Sep 17 00:00:00 2001 From: Shrimadhav U K Date: Fri, 26 Sep 2025 08:06:39 +0530 Subject: [PATCH 7/7] Update set_chat_permissions.py --- pyrogram/methods/chats/set_chat_permissions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pyrogram/methods/chats/set_chat_permissions.py b/pyrogram/methods/chats/set_chat_permissions.py index daaf1decfa..a985175ad8 100644 --- a/pyrogram/methods/chats/set_chat_permissions.py +++ b/pyrogram/methods/chats/set_chat_permissions.py @@ -21,7 +21,6 @@ import pyrogram from pyrogram import raw from pyrogram import types -from pyrogram.methods.messages import send_document class SetChatPermissions: