Skip to content

Commit bf9e186

Browse files
committed
Also fetch peer_id user details
1 parent a73f990 commit bf9e186

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

pyrogram/types/messages_and_media/message.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)