@@ -43,9 +43,9 @@ class ChatEventAction(AutoName):
4343 MESSAGE_DELETED = auto ()
4444 # VOICE_CHAT_DISCARDED = auto()
4545 MESSAGE_EDITED = auto ()
46- # LINK_DELETED = auto()
47- # LINK_EDITED = auto()
48- # LINK_REVOKED = auto()
46+ INVITE_LINK_EDITED = auto ()
47+ INVITE_LINK_REVOKED = auto ()
48+ INVITE_LINK_DELETED = auto ()
4949 MEMBER_INVITED = auto ()
5050 MEMBER_JOINED = auto ()
5151 # MEMBER_JOINED_BY_LINK = auto()
@@ -143,6 +143,15 @@ class ChatEvent(Object):
143143 - "message_unpinned": a message has been unpinned
144144 (see *unpinned_message* below).
145145
146+ - "invite_link_edited": an invite link has been edited
147+ (see *edited_invite_link* below).
148+
149+ - "invite_link_revoked": an invite link has been revoked
150+ (see *revoked_invite_link* below).
151+
152+ - "invite_link_deleted": an invite link has been deleted
153+ (see *deleted_invite_link* below).
154+
146155 user (:obj:`~pyrogram.types.User`):
147156 User that triggered the event.
148157
@@ -211,7 +220,7 @@ class ChatEvent(Object):
211220 For "signatures_enabled" only.
212221
213222 old_slow_mode, new_slow_mode (``int``, *optional*):
214- Previous slow mode value in seconds.
223+ Previous and new slow mode value in seconds.
215224 For "slow_mode_changed" only.
216225
217226 pinned_message (:obj:`~pyrogram.types.Message`, *optional*):
@@ -221,6 +230,18 @@ class ChatEvent(Object):
221230 unpinned_message (:obj:`~pyrogram.types.Message`, *optional*):
222231 Unpinned message.
223232 For "unpinned_message" only.
233+
234+ old_invite_link, new_invite_link (:obj:`~pyrogram.types.ChatInviteLink`, *optional*):
235+ Previous and new edited invite link.
236+ For "invite_link_edited" only.
237+
238+ revoked_invite_link (:obj:`~pyrogram.types.ChatInviteLink`, *optional*):
239+ Revoked invite link.
240+ For "invite_link_revoked" only.
241+
242+ deleted_invite_link (:obj:`~pyrogram.types.ChatInviteLink`, *optional*):
243+ Deleted invite link.
244+ For "invite_link_deleted" only.
224245 """
225246
226247 def __init__ (
@@ -276,7 +297,12 @@ def __init__(
276297 new_slow_mode : int = None ,
277298
278299 pinned_message : "types.Message" = None ,
279- unpinned_message : "types.Message" = None
300+ unpinned_message : "types.Message" = None ,
301+
302+ old_invite_link : "types.ChatInviteLink" = None ,
303+ new_invite_link : "types.ChatInviteLink" = None ,
304+ revoked_invite_link : "types.ChatInviteLink" = None ,
305+ deleted_invite_link : "types.ChatInviteLink" = None ,
280306 ):
281307 super ().__init__ ()
282308
@@ -333,6 +359,11 @@ def __init__(
333359 self .pinned_message = pinned_message
334360 self .unpinned_message = unpinned_message
335361
362+ self .old_invite_link = old_invite_link
363+ self .new_invite_link = new_invite_link
364+ self .revoked_invite_link = revoked_invite_link
365+ self .deleted_invite_link = deleted_invite_link
366+
336367 @staticmethod
337368 async def _parse (
338369 client : "pyrogram.Client" ,
@@ -394,6 +425,11 @@ async def _parse(
394425 pinned_message : Optional [types .Message ] = None
395426 unpinned_message : Optional [types .Message ] = None
396427
428+ old_invite_link : Optional [types .ChatInviteLink ] = None
429+ new_invite_link : Optional [types .ChatInviteLink ] = None
430+ revoked_invite_link : Optional [types .ChatInviteLink ] = None
431+ deleted_invite_link : Optional [types .ChatInviteLink ] = None
432+
397433 if isinstance (action , raw .types .ChannelAdminLogEventActionChangeAbout ):
398434 old_description = action .prev_value
399435 new_description = action .new_value
@@ -489,6 +525,19 @@ async def _parse(
489525 unpinned_message = await types .Message ._parse (client , message , users , chats )
490526 action = ChatEventAction .MESSAGE_UNPINNED .value
491527
528+ elif isinstance (action , raw .types .ChannelAdminLogEventActionExportedInviteEdit ):
529+ old_invite_link = types .ChatInviteLink ._parse (client , action .prev_invite , users )
530+ new_invite_link = types .ChatInviteLink ._parse (client , action .new_invite , users )
531+ action = ChatEventAction .INVITE_LINK_EDITED .value
532+
533+ elif isinstance (action , raw .types .ChannelAdminLogEventActionExportedInviteRevoke ):
534+ revoked_invite_link = types .ChatInviteLink ._parse (client , action .invite , users )
535+ action = ChatEventAction .INVITE_LINK_REVOKED
536+
537+ elif isinstance (action , raw .types .ChannelAdminLogEventActionExportedInviteDelete ):
538+ deleted_invite_link = types .ChatInviteLink ._parse (client , action .invite , users )
539+ action = ChatEventAction .INVITE_LINK_DELETED .value
540+
492541 else :
493542 action = f"{ ChatEventAction .UNKNOWN .value } -{ action .QUALNAME } "
494543
@@ -543,5 +592,10 @@ async def _parse(
543592 new_slow_mode = new_slow_mode ,
544593
545594 pinned_message = pinned_message ,
546- unpinned_message = unpinned_message
595+ unpinned_message = unpinned_message ,
596+
597+ old_invite_link = old_invite_link ,
598+ new_invite_link = new_invite_link ,
599+ revoked_invite_link = revoked_invite_link ,
600+ deleted_invite_link = deleted_invite_link
547601 )
0 commit comments