mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-05-03 15:23:42 +03:00
Split MessageChanged into MessageEdited and MessageDeleted
This commit is contained in:
parent
854c42b7ef
commit
c40a3ca77c
|
@ -829,21 +829,32 @@ class UserUpdate(_EventBuilder):
|
||||||
return self.chat
|
return self.chat
|
||||||
|
|
||||||
|
|
||||||
class MessageChanged(_EventBuilder):
|
class MessageEdited(NewMessage):
|
||||||
"""
|
"""
|
||||||
Represents a message changed (edited or deleted).
|
Event fired when a message has been edited.
|
||||||
"""
|
"""
|
||||||
def build(self, update):
|
def build(self, update):
|
||||||
if isinstance(update, (types.UpdateEditMessage,
|
if isinstance(update, (types.UpdateEditMessage,
|
||||||
types.UpdateEditChannelMessage)):
|
types.UpdateEditChannelMessage)):
|
||||||
event = MessageChanged.Event(edit_msg=update.message)
|
event = MessageEdited.Event(update.message)
|
||||||
elif isinstance(update, types.UpdateDeleteMessages):
|
else:
|
||||||
event = MessageChanged.Event(
|
return
|
||||||
|
|
||||||
|
return self._filter_event(event)
|
||||||
|
|
||||||
|
|
||||||
|
class MessageDeleted(_EventBuilder):
|
||||||
|
"""
|
||||||
|
Event fired when one or more messages are deleted.
|
||||||
|
"""
|
||||||
|
def build(self, update):
|
||||||
|
if isinstance(update, types.UpdateDeleteMessages):
|
||||||
|
event = MessageDeleted.Event(
|
||||||
deleted_ids=update.messages,
|
deleted_ids=update.messages,
|
||||||
peer=None
|
peer=None
|
||||||
)
|
)
|
||||||
elif isinstance(update, types.UpdateDeleteChannelMessages):
|
elif isinstance(update, types.UpdateDeleteChannelMessages):
|
||||||
event = MessageChanged.Event(
|
event = MessageDeleted.Event(
|
||||||
deleted_ids=update.messages,
|
deleted_ids=update.messages,
|
||||||
peer=types.PeerChannel(update.channel_id)
|
peer=types.PeerChannel(update.channel_id)
|
||||||
)
|
)
|
||||||
|
@ -852,33 +863,13 @@ class MessageChanged(_EventBuilder):
|
||||||
|
|
||||||
return self._filter_event(event)
|
return self._filter_event(event)
|
||||||
|
|
||||||
class Event(NewMessage.Event):
|
class Event(_EventCommon):
|
||||||
"""
|
def __init__(self, deleted_ids, peer):
|
||||||
Represents the event of an user status update (last seen, joined).
|
super().__init__(
|
||||||
|
types.Message((deleted_ids or [0])[0], peer, None, '')
|
||||||
Please note that the ``message`` member will be ``None`` if the
|
)
|
||||||
action was a deletion and not an edit.
|
self.deleted_id = None if not deleted_ids else deleted_ids[0]
|
||||||
|
self.deleted_ids = self.deleted_ids
|
||||||
Members:
|
|
||||||
edited (:obj:`bool`):
|
|
||||||
``True`` if the message was edited.
|
|
||||||
|
|
||||||
deleted (:obj:`bool`):
|
|
||||||
``True`` if the message IDs were deleted.
|
|
||||||
|
|
||||||
deleted_ids (:obj:`List[int]`):
|
|
||||||
A list containing the IDs of the messages that were deleted.
|
|
||||||
"""
|
|
||||||
def __init__(self, edit_msg=None, deleted_ids=None, peer=None):
|
|
||||||
if edit_msg is None:
|
|
||||||
msg = types.Message((deleted_ids or [0])[0], peer, None, '')
|
|
||||||
else:
|
|
||||||
msg = edit_msg
|
|
||||||
super().__init__(msg)
|
|
||||||
|
|
||||||
self.edited = bool(edit_msg)
|
|
||||||
self.deleted = bool(deleted_ids)
|
|
||||||
self.deleted_ids = deleted_ids or []
|
|
||||||
|
|
||||||
|
|
||||||
class StopPropagation(Exception):
|
class StopPropagation(Exception):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user