File tree Expand file tree Collapse file tree 1 file changed +18
-11
lines changed
pyrogram/types/messages_and_media Expand file tree Collapse file tree 1 file changed +18
-11
lines changed Original file line number Diff line number Diff line change @@ -436,18 +436,25 @@ async def _parse(
436436 if isinstance (message , raw .types .MessageEmpty ):
437437 return Message (message_id = message .id , empty = True , client = client )
438438
439- user_id = utils .get_raw_peer_id (message .from_id ) or utils .get_raw_peer_id (message .peer_id )
440- if user_id not in users :
441- try :
442- r = (await client .send (
443- raw .functions .users .GetUsers (
444- id = [await client .resolve_peer (user_id )]
439+ from_id = utils .get_raw_peer_id (message .from_id )
440+ peer_id = utils .get_raw_peer_id (message .peer_id )
441+ user_id = from_id or peer_id
442+
443+ if isinstance (message .from_id , raw .types .PeerUser ) and isinstance (message .peer_id , raw .types .PeerUser ):
444+ if from_id not in users or peer_id not in users :
445+ try :
446+ r = await client .send (
447+ raw .functions .users .GetUsers (
448+ id = [
449+ await client .resolve_peer (from_id ),
450+ await client .resolve_peer (peer_id )
451+ ]
452+ )
445453 )
446- ))[0 ]
447- except PeerIdInvalid :
448- pass
449- else :
450- users [r .id ] = r
454+ except PeerIdInvalid :
455+ pass
456+ else :
457+ users .update ({i .id : i for i in r })
451458
452459 if isinstance (message , raw .types .MessageService ):
453460 action = message .action
You can’t perform that action at this time.
0 commit comments