Build events only once per update

This commit is contained in:
Lonami Exo
2018-07-11 11:22:43 +02:00
parent 81f31e09c8
commit 1d0fd6801d
10 changed files with 74 additions and 49 deletions

View File

@@ -18,7 +18,8 @@ class MessageRead(EventBuilder):
super().__init__(chats, blacklist_chats)
self.inbox = inbox
def build(self, update):
@staticmethod
def build(update):
if isinstance(update, types.UpdateReadHistoryInbox):
event = MessageRead.Event(update.peer, update.max_id, False)
elif isinstance(update, types.UpdateReadHistoryOutbox):
@@ -39,11 +40,14 @@ class MessageRead(EventBuilder):
else:
return
event._entities = update._entities
return event
def filter(self, event):
if self.inbox == event.outbox:
return
event._entities = update._entities
return self._filter_event(event)
return super().filter(event)
class Event(EventCommon):
"""