@@ -83,6 +83,18 @@ class ChatEvent(Object):
8383 New invited chat member.
8484 For :obj:`~pyrogram.enums.ChatEventAction.MEMBER_INVITED` action only.
8585
86+ invite_link (:obj:`~pyrogram.types.ChatInviteLink`, *optional*):
87+ Invite link used to join the chat.
88+ For :obj:`~pyrogram.enums.ChatEventAction.MEMBER_JOINED_BY_LINK` and :obj:`~pyrogram.enums.ChatEventAction.MEMBER_JOINED_BY_REQUEST` actions only.
89+
90+ via_chat_folder_invite_link (``bool``, *optional*):
91+ True, if the user has joined the chat using an invite link for a chat folder.
92+ For :obj:`~pyrogram.enums.ChatEventAction.MEMBER_JOINED_BY_LINK` action only.
93+
94+ approver_user (:obj:`~pyrogram.types.User`, *optional*):
95+ User identifier of the chat administrator who approved the user join request
96+ For :obj:`~pyrogram.enums.ChatEventAction.MEMBER_JOINED_BY_REQUEST` action only.
97+
8698 old_administrator_privileges, new_administrator_privileges (:obj:`~pyrogram.types.ChatMember`, *optional*):
8799 Previous and new administrator privileges.
88100 For :obj:`~pyrogram.enums.ChatEventAction.ADMINISTRATOR_PRIVILEGES_CHANGED` action only.
@@ -166,6 +178,9 @@ def __init__(
166178 new_message : "types.Message" = None ,
167179
168180 invited_member : "types.ChatMember" = None ,
181+ invite_link : "types.ChatInviteLink" = None ,
182+ via_chat_folder_invite_link : bool = None ,
183+ approver_user : "types.User" = None ,
169184
170185 old_administrator_privileges : "types.ChatMember" = None ,
171186 new_administrator_privileges : "types.ChatMember" = None ,
@@ -226,6 +241,9 @@ def __init__(
226241 self .new_message = new_message
227242
228243 self .invited_member = invited_member
244+ self .invite_link = invite_link
245+ self .via_chat_folder_invite_link = via_chat_folder_invite_link
246+ self .approver_user = approver_user
229247
230248 self .old_administrator_privileges = old_administrator_privileges
231249 self .new_administrator_privileges = new_administrator_privileges
@@ -292,6 +310,9 @@ async def _parse(
292310 new_message : Optional [types .Message ] = None
293311
294312 invited_member : Optional [types .ChatMember ] = None
313+ invite_link : Optional [types .ChatInviteLink ] = None
314+ via_chat_folder_invite_link : Optional [bool ] = None
315+ approver_user : Optional [types .User ] = None
295316
296317 old_administrator_privileges : Optional [types .ChatMember ] = None
297318 new_administrator_privileges : Optional [types .ChatMember ] = None
@@ -442,6 +463,16 @@ async def _parse(
442463 deleted_invite_link = types .ChatInviteLink ._parse (client , action .invite , users )
443464 action = enums .ChatEventAction .INVITE_LINK_DELETED
444465
466+ elif isinstance (action , raw .types .ChannelAdminLogEventActionParticipantJoinByInvite ):
467+ invite_link = types .ChatInviteLink ._parse (client , action .invite , users )
468+ via_chat_folder_invite_link = getattr (action , "via_chatlist" , None )
469+ action = enums .ChatEventAction .MEMBER_JOINED_BY_LINK
470+
471+ elif isinstance (action , raw .types .ChannelAdminLogEventActionParticipantJoinByRequest ):
472+ invite_link = types .ChatInviteLink ._parse (client , action .invite , users )
473+ approver_user = types .User ._parse (client , users [action .approved_by ])
474+ action = enums .ChatEventAction .MEMBER_JOINED_BY_REQUEST
475+
445476 else :
446477 action = f"{ enums .ChatEventAction .UNKNOWN } -{ action .QUALNAME } "
447478
@@ -450,6 +481,7 @@ async def _parse(
450481 date = utils .timestamp_to_datetime (event .date ),
451482 user = user ,
452483 action = action ,
484+
453485 old_description = old_description ,
454486 new_description = new_description ,
455487
@@ -477,6 +509,9 @@ async def _parse(
477509 new_message = new_message ,
478510
479511 invited_member = invited_member ,
512+ invite_link = invite_link ,
513+ via_chat_folder_invite_link = via_chat_folder_invite_link ,
514+ approver_user = approver_user ,
480515
481516 old_administrator_privileges = old_administrator_privileges ,
482517 new_administrator_privileges = new_administrator_privileges ,
@@ -501,5 +536,5 @@ async def _parse(
501536 old_invite_link = old_invite_link ,
502537 new_invite_link = new_invite_link ,
503538 revoked_invite_link = revoked_invite_link ,
504- deleted_invite_link = deleted_invite_link
539+ deleted_invite_link = deleted_invite_link ,
505540 )
0 commit comments