2
0
mirror of https://github.com/pyrogram/pyrogram synced 2025-08-29 13:27:47 +00:00

Update restrict_chat_member with new permissions

This commit is contained in:
Dan 2019-03-13 13:58:57 +01:00
parent b6038c4f2e
commit 5be5446a77

View File

@ -23,14 +23,20 @@ from ...ext import BaseClient
class RestrictChatMember(BaseClient): class RestrictChatMember(BaseClient):
def restrict_chat_member(self, def restrict_chat_member(
self,
chat_id: Union[int, str], chat_id: Union[int, str],
user_id: Union[int, str], user_id: Union[int, str],
until_date: int = 0, until_date: int = 0,
can_send_messages: bool = False, can_send_messages: bool = False,
can_send_media_messages: bool = False, can_send_media_messages: bool = False,
can_send_other_messages: bool = False, can_send_other_messages: bool = False,
can_add_web_page_previews: bool = False) -> bool: can_add_web_page_previews: bool = False,
can_send_polls: bool = False,
can_change_info: bool = False,
can_invite_users: bool = False,
can_pin_messages: bool = False,
) -> bool:
"""Use this method to restrict a user in a supergroup. The bot must be an administrator in the supergroup for """Use this method to restrict a user in a supergroup. The bot must be an administrator in the supergroup for
this to work and must have the appropriate admin rights. Pass True for all boolean parameters to lift this to work and must have the appropriate admin rights. Pass True for all boolean parameters to lift
restrictions from a user. restrictions from a user.
@ -60,8 +66,19 @@ class RestrictChatMember(BaseClient):
implies can_send_media_messages. implies can_send_media_messages.
can_add_web_page_previews (``bool``, *optional*): can_add_web_page_previews (``bool``, *optional*):
Pass True, if the user may add web page previews to their messages, implies can_send_media_messages Pass True, if the user may add web page previews to their messages, implies can_send_media_messages.
can_send_polls (``bool``, *optional*):
Pass True, if the user can send polls, implies can_send_media_messages.
can_change_info (``bool``, *optional*):
Pass True, if the user can change the chat title, photo and other settings.
can_invite_users (``bool``, *optional*):
Pass True, if the user can invite new users to the chat.
can_pin_messages (``bool``, *optional*):
Pass True, if the user can pin messages.
Returns: Returns:
True on success. True on success.
@ -75,6 +92,10 @@ class RestrictChatMember(BaseClient):
send_games = True send_games = True
send_inline = True send_inline = True
embed_links = True embed_links = True
send_polls = True
change_info = True
invite_users = True
pin_messages = True
if can_send_messages: if can_send_messages:
send_messages = None send_messages = None
@ -84,6 +105,7 @@ class RestrictChatMember(BaseClient):
send_media = None send_media = None
if can_send_other_messages: if can_send_other_messages:
send_messages = None
send_media = None send_media = None
send_stickers = None send_stickers = None
send_gifs = None send_gifs = None
@ -91,9 +113,23 @@ class RestrictChatMember(BaseClient):
send_inline = None send_inline = None
if can_add_web_page_previews: if can_add_web_page_previews:
send_messages = None
send_media = None send_media = None
embed_links = None embed_links = None
if can_send_polls:
send_messages = None
send_polls = None
if can_change_info:
change_info = None
if can_invite_users:
invite_users = None
if can_pin_messages:
pin_messages = None
self.send( self.send(
functions.channels.EditBanned( functions.channels.EditBanned(
channel=self.resolve_peer(chat_id), channel=self.resolve_peer(chat_id),
@ -106,7 +142,11 @@ class RestrictChatMember(BaseClient):
send_gifs=send_gifs, send_gifs=send_gifs,
send_games=send_games, send_games=send_games,
send_inline=send_inline, send_inline=send_inline,
embed_links=embed_links embed_links=embed_links,
send_polls=send_polls,
change_info=change_info,
invite_users=invite_users,
pin_messages=pin_messages
) )
) )
) )