Skip to content

Commit ab58617

Browse files
committed
Temporary fix for another edge case
Follow-Up: #91
1 parent 0835877 commit ab58617

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

pyrogram/types/messages_and_media/message.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -644,17 +644,29 @@ async def _parse(
644644
business_connection_id: str = None,
645645
raw_reply_to_message: raw.base.Message = None
646646
):
647+
peer_id = utils.get_raw_peer_id(message.peer_id)
648+
647649
if isinstance(message, raw.types.MessageEmpty):
650+
sender_chat = None
651+
if isinstance(message.peer_id, raw.types.PeerUser):
652+
sender_chat = types.Chat._parse_user_chat(client, users[peer_id])
653+
654+
elif isinstance(message.peer_id, raw.types.PeerChat):
655+
sender_chat = types.Chat._parse_chat_chat(client, chats[peer_id])
656+
657+
else:
658+
sender_chat = types.Chat._parse_channel_chat(client, chats[peer_id])
659+
648660
return Message(
649661
id=message.id,
650662
empty=True,
663+
chat=sender_chat,
651664
business_connection_id=business_connection_id if business_connection_id else None,
652665
client=client,
653666
_raw=message
654667
)
655668

656669
from_id = utils.get_raw_peer_id(message.from_id)
657-
peer_id = utils.get_raw_peer_id(message.peer_id)
658670
user_id = from_id or peer_id
659671

660672
if isinstance(message.from_id, raw.types.PeerUser) and isinstance(message.peer_id, raw.types.PeerUser):
@@ -1372,6 +1384,7 @@ async def _parse(
13721384
@property
13731385
def link(self) -> str:
13741386
if (
1387+
self.chat and
13751388
self.chat.type in {
13761389
enums.ChatType.SUPERGROUP,
13771390
enums.ChatType.CHANNEL

0 commit comments

Comments
 (0)