mirror of
https://github.com/TeamPGM/pyrogram.git
synced 2024-11-16 04:35:24 +00:00
Add max_quantity to request_peer buttons
This commit is contained in:
parent
d8a760e9a8
commit
44e29da658
@ -59,7 +59,7 @@ class KeyboardButton(Object):
|
||||
request_contact: bool = None,
|
||||
request_location: bool = None,
|
||||
request_poll: "types.RequestPollInfo" = None,
|
||||
request_peer: Union["types.RequestPeerTypeChannelInfo", "types.RequestPeerTypeChatInfo", "types.RequestPeerTypeUserInfo"] = None,
|
||||
request_peer: Union["types.RequestChannelInfo", "types.RequestChatInfo", "types.RequestUserInfo"] = None,
|
||||
web_app: "types.WebAppInfo" = None,
|
||||
):
|
||||
super().__init__()
|
||||
@ -95,9 +95,39 @@ class KeyboardButton(Object):
|
||||
)
|
||||
|
||||
if isinstance(b, raw.types.KeyboardButtonRequestPeer):
|
||||
if isinstance(b.peer_type, raw.types.RequestPeerTypeBroadcast):
|
||||
return KeyboardButton(
|
||||
text=b.text,
|
||||
request_peer=b.peer_type
|
||||
request_peer=types.RequestChannelInfo(
|
||||
button_id=b.button_id,
|
||||
is_creator=getattr(b.peer_type, "creator", None),
|
||||
has_username=getattr(b.peer_type, "has_username", None),
|
||||
max_quantity=getattr(b, "max_quantity", None)
|
||||
)
|
||||
)
|
||||
|
||||
if isinstance(b.peer_type, raw.types.RequestPeerTypeChat):
|
||||
return KeyboardButton(
|
||||
text=b.text,
|
||||
request_peer=types.RequestChatInfo(
|
||||
button_id=b.button_id,
|
||||
is_creator=getattr(b.peer_type, "creator", None),
|
||||
is_bot_participant=getattr(b.peer_type, "bot_participant", None),
|
||||
has_username=getattr(b.peer_type, "has_username", None),
|
||||
has_forum=getattr(b.peer_type, "forum", None),
|
||||
max_quantity=getattr(b, "max_quantity", None)
|
||||
)
|
||||
)
|
||||
|
||||
if isinstance(b.peer_type, raw.types.RequestPeerTypeUser):
|
||||
return KeyboardButton(
|
||||
text=b.text,
|
||||
request_peer=types.RequestUserInfo(
|
||||
button_id=b.button_id,
|
||||
is_bot=getattr(b.peer_type, "bot", None),
|
||||
is_premium=getattr(b.peer_type, "premium", None),
|
||||
max_quantity=getattr(b, "max_quantity", None)
|
||||
)
|
||||
)
|
||||
|
||||
if isinstance(b, raw.types.KeyboardButtonSimpleWebView):
|
||||
@ -126,7 +156,8 @@ class KeyboardButton(Object):
|
||||
peer_type=raw.types.RequestPeerTypeBroadcast(
|
||||
creator=self.request_peer.is_creator,
|
||||
has_username=self.request_peer.has_username,
|
||||
)
|
||||
),
|
||||
max_quantity=self.request_peer.max_quantity
|
||||
)
|
||||
|
||||
if isinstance(self.request_peer, types.RequestChatInfo):
|
||||
@ -138,7 +169,8 @@ class KeyboardButton(Object):
|
||||
bot_participant=self.request_peer.is_bot_participant,
|
||||
has_username=self.request_peer.has_username,
|
||||
forum=self.request_peer.has_forum,
|
||||
)
|
||||
),
|
||||
max_quantity=self.request_peer.max_quantity
|
||||
)
|
||||
|
||||
if isinstance(self.request_peer, types.RequestUserInfo):
|
||||
@ -148,7 +180,8 @@ class KeyboardButton(Object):
|
||||
peer_type=raw.types.RequestPeerTypeUser(
|
||||
bot=self.request_peer.is_bot,
|
||||
premium=self.request_peer.is_premium
|
||||
)
|
||||
),
|
||||
max_quantity=self.request_peer.max_quantity
|
||||
)
|
||||
|
||||
elif self.web_app:
|
||||
|
@ -26,11 +26,14 @@ class RequestChannelInfo(Object):
|
||||
button_id (``int``):
|
||||
Identifier of button.
|
||||
|
||||
is_creator (``bool``):
|
||||
is_creator (``bool``, *optional*):
|
||||
If True, returns the list of chats where this user is a channel creator.
|
||||
|
||||
has_username (``bool``):
|
||||
has_username (``bool``, *optional*):
|
||||
If True, returns the list of chats where chat has username.
|
||||
|
||||
max_quantity(``int``, *optional*):
|
||||
Max quantity of peers.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
@ -38,9 +41,11 @@ class RequestChannelInfo(Object):
|
||||
button_id: int,
|
||||
is_creator: bool = None,
|
||||
has_username: bool = None,
|
||||
max_quantity: int = None,
|
||||
):
|
||||
super().__init__()
|
||||
|
||||
self.button_id = button_id
|
||||
self.is_creator = is_creator
|
||||
self.has_username = has_username
|
||||
self.max_quantity = max_quantity
|
||||
|
@ -26,17 +26,20 @@ class RequestChatInfo(Object):
|
||||
button_id (``int``):
|
||||
Identifier of button.
|
||||
|
||||
is_creator (``bool``):
|
||||
is_creator (``bool``, *optional*):
|
||||
If True, returns the list of chats where this user is a chat creator.
|
||||
|
||||
is_bot_participant (``bool``):
|
||||
is_bot_participant (``bool``, *optional*):
|
||||
If True, returns the list of chats where this bot is participant.
|
||||
|
||||
has_username (``bool``):
|
||||
has_username (``bool``, *optional*):
|
||||
If True, returns the list of chats where chat has username.
|
||||
|
||||
has_forum (``bool``):
|
||||
has_forum (``bool``, *optional*):
|
||||
If True, returns the list of chats where forum topcis is enabled.
|
||||
|
||||
max_quantity(``int``, *optional*):
|
||||
Max quantity of peers.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
@ -46,6 +49,7 @@ class RequestChatInfo(Object):
|
||||
is_bot_participant: bool = None,
|
||||
has_username: bool = None,
|
||||
has_forum: bool = None,
|
||||
max_quantity: int = None,
|
||||
|
||||
):
|
||||
super().__init__()
|
||||
@ -55,3 +59,4 @@ class RequestChatInfo(Object):
|
||||
self.is_bot_participant = is_bot_participant
|
||||
self.has_username = has_username
|
||||
self.has_forum = has_forum
|
||||
self.max_quantity = max_quantity
|
||||
|
@ -31,6 +31,9 @@ class RequestUserInfo(Object):
|
||||
|
||||
is_premium (``bool``, *optional*):
|
||||
If True, returns the list of users where user has premium.
|
||||
|
||||
max_quantity(``int``, *optional*):
|
||||
Max quantity of peers.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
@ -38,9 +41,11 @@ class RequestUserInfo(Object):
|
||||
button_id: int,
|
||||
is_bot: bool = None,
|
||||
is_premium: bool = None,
|
||||
max_quantity: int = None,
|
||||
):
|
||||
super().__init__()
|
||||
|
||||
self.button_id = button_id
|
||||
self.is_bot = is_bot
|
||||
self.is_premium = is_premium
|
||||
self.max_quantity = max_quantity
|
||||
|
Loading…
Reference in New Issue
Block a user