Skip to content

Commit 85ee6c3

Browse files
committed
Fetch user details in case they are missing
1 parent 34b6002 commit 85ee6c3

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

pyrogram/types/messages_and_media/message.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,16 @@ async def _parse(
433433
is_scheduled: bool = False,
434434
replies: int = 1
435435
):
436+
user_id = utils.get_raw_peer_id(message.from_id) or utils.get_raw_peer_id(message.peer_id)
437+
if user_id not in users:
438+
r = (await client.send(
439+
raw.functions.users.GetUsers(
440+
id=[await client.resolve_peer(user_id)]
441+
)
442+
))[0]
443+
444+
users[r.id] = r
445+
436446
if isinstance(message, raw.types.MessageEmpty):
437447
return Message(message_id=message.id, empty=True, client=client)
438448

@@ -499,8 +509,7 @@ async def _parse(
499509
voice_chat_members_invited = types.VoiceChatMembersInvited._parse(client, action, users)
500510
service_type = "voice_chat_members_invited"
501511

502-
user = utils.get_raw_peer_id(message.from_id) or utils.get_raw_peer_id(message.peer_id)
503-
from_user = types.User._parse(client, users.get(user, None))
512+
from_user = types.User._parse(client, users.get(user_id, None))
504513
sender_chat = types.Chat._parse(client, message, users, chats) if not from_user else None
505514

506515
parsed_message = Message(
@@ -554,8 +563,6 @@ async def _parse(
554563
except MessageIdsEmpty:
555564
pass
556565

557-
558-
559566
return parsed_message
560567

561568
if isinstance(message, raw.types.Message):
@@ -696,8 +703,7 @@ async def _parse(
696703
else:
697704
reply_markup = None
698705

699-
user = utils.get_raw_peer_id(message.from_id) or utils.get_raw_peer_id(message.peer_id)
700-
from_user = types.User._parse(client, users.get(user, None))
706+
from_user = types.User._parse(client, users.get(user_id, None))
701707
sender_chat = types.Chat._parse(client, message, users, chats) if not from_user else None
702708

703709
parsed_message = Message(

0 commit comments

Comments
 (0)