Skip to content

Commit c72bbcf

Browse files
committed
Fix ChatMemberUpdated args being parsed when they don't exist
1 parent 3fe43f8 commit c72bbcf

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

pyrogram/types/user_and_chats/chat_member_updated.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ class ChatMemberUpdated(Object, Update):
3838
date (``int``):
3939
Date the change was done in Unix time.
4040
41-
old_chat_member (:obj:`~pyrogram.types.ChatMember`):
41+
old_chat_member (:obj:`~pyrogram.types.ChatMember`, *optional*):
4242
Previous information about the chat member.
4343
44-
new_chat_member (:obj:`~pyrogram.types.ChatMember`):
44+
new_chat_member (:obj:`~pyrogram.types.ChatMember`, *optional*):
4545
New information about the chat member.
4646
4747
invite_link (:obj:`~pyrogram.types.ChatInviteLink`, *optional*):
@@ -76,14 +76,26 @@ def _parse(
7676
chats: Dict[int, "raw.types.Chat"]
7777
) -> "ChatMemberUpdated":
7878
chat_id = getattr(update, "chat_id", None) or getattr(update, "channel_id")
79-
invite_link = types.ChatInviteLink._parse(client, update.invite, users) if update.invite else None
79+
80+
old_chat_member = None
81+
new_chat_member = None
82+
invite_link = None
83+
84+
if update.prev_participant:
85+
old_chat_member = types.ChatMember._parse(client, update.prev_participant, users)
86+
87+
if update.new_participant:
88+
new_chat_member = types.ChatMember._parse(client, update.new_participant, users)
89+
90+
if update.invite:
91+
invite_link = types.ChatInviteLink._parse(client, update.invite, users)
8092

8193
return ChatMemberUpdated(
8294
chat=types.Chat._parse_chat(client, chats[chat_id]),
8395
from_user=types.User._parse(client, users[update.actor_id]),
8496
date=update.date,
85-
old_chat_member=types.ChatMember._parse(client, update.prev_participant, users),
86-
new_chat_member=types.ChatMember._parse(client, update.new_participant, users),
97+
old_chat_member=old_chat_member,
98+
new_chat_member=new_chat_member,
8799
invite_link=invite_link,
88100
client=client
89101
)

0 commit comments

Comments
 (0)