From d46e8f1da41e9459b6e46decd59939958371ee6b Mon Sep 17 00:00:00 2001 From: wulan17 Date: Sun, 14 Jul 2024 21:01:46 +0700 Subject: [PATCH] pyrofork: Add support for requested channel/chat/user in utils.get_raw_peer_id Signed-off-by: wulan17 --- pyrogram/utils.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pyrogram/utils.py b/pyrogram/utils.py index 6b1857d7..bc0d1421 100644 --- a/pyrogram/utils.py +++ b/pyrogram/utils.py @@ -281,15 +281,20 @@ MAX_USER_ID_OLD = 2147483647 MAX_USER_ID = 999999999999 -def get_raw_peer_id(peer: raw.base.Peer) -> Optional[int]: +def get_raw_peer_id( + peer: Union[ + raw.base.Peer, + raw.base.RequestedPeer + ] + ) -> Optional[int]: """Get the raw peer id from a Peer object""" - if isinstance(peer, raw.types.PeerUser): + if isinstance(peer, raw.types.PeerUser) or isinstance(peer, raw.types.RequestedPeerUser): return peer.user_id - if isinstance(peer, raw.types.PeerChat): + if isinstance(peer, raw.types.PeerChat) or isinstance(peer, raw.types.RequestedPeerChat): return peer.chat_id - if isinstance(peer, raw.types.PeerChannel): + if isinstance(peer, raw.types.PeerChannel) or isinstance(peer, raw.types.RequestedPeerChannel): return peer.channel_id return None