Pass all Updates when building events

This commit is contained in:
Lonami Exo
2019-06-30 16:32:18 +02:00
parent 71979e7b23
commit a7a7c4add2
12 changed files with 20 additions and 20 deletions

View File

@@ -45,7 +45,7 @@ class CallbackQuery(EventBuilder):
raise TypeError('Invalid data type given')
@classmethod
def build(cls, update):
def build(cls, update, others=None):
if isinstance(update, types.UpdateBotCallbackQuery):
return cls.Event(update, update.peer, update.msg_id)
elif isinstance(update, types.UpdateInlineBotCallbackQuery):

View File

@@ -9,7 +9,7 @@ class ChatAction(EventBuilder):
Occurs whenever a user joins or leaves a chat, or a message is pinned.
"""
@classmethod
def build(cls, update):
def build(cls, update, others=None):
if isinstance(update, types.UpdateChannelPinnedMessage) and update.id == 0:
# Telegram does not always send
# UpdateChannelPinnedMessage for new pins

View File

@@ -77,7 +77,7 @@ class EventBuilder(abc.ABC):
@classmethod
@abc.abstractmethod
def build(cls, update):
def build(cls, update, others=None):
"""
Builds an event for the given update if possible, or returns None.

View File

@@ -46,7 +46,7 @@ class InlineQuery(EventBuilder):
raise TypeError('Invalid pattern type given')
@classmethod
def build(cls, update):
def build(cls, update, others=None):
if isinstance(update, types.UpdateBotInlineQuery):
return cls.Event(update)

View File

@@ -25,7 +25,7 @@ class MessageDeleted(EventBuilder):
unless you intend on working with channels and super-groups only.
"""
@classmethod
def build(cls, update):
def build(cls, update, others=None):
if isinstance(update, types.UpdateDeleteMessages):
return cls.Event(
deleted_ids=update.messages,

View File

@@ -33,7 +33,7 @@ class MessageEdited(NewMessage):
not you).
"""
@classmethod
def build(cls, update):
def build(cls, update, others=None):
if isinstance(update, (types.UpdateEditMessage,
types.UpdateEditChannelMessage)):
return cls.Event(update.message)

View File

@@ -20,7 +20,7 @@ class MessageRead(EventBuilder):
self.inbox = inbox
@classmethod
def build(cls, update):
def build(cls, update, others=None):
if isinstance(update, types.UpdateReadHistoryInbox):
return cls.Event(update.peer, update.max_id, False)
elif isinstance(update, types.UpdateReadHistoryOutbox):

View File

@@ -76,7 +76,7 @@ class NewMessage(EventBuilder):
self.from_users = await _into_id_set(client, self.from_users)
@classmethod
def build(cls, update):
def build(cls, update, others=None):
if isinstance(update,
(types.UpdateNewMessage, types.UpdateNewChannelMessage)):
if not isinstance(update.message, types.Message):

View File

@@ -32,7 +32,7 @@ class Raw(EventBuilder):
self.resolved = True
@classmethod
def build(cls, update):
def build(cls, update, others=None):
return update
def filter(self, event):

View File

@@ -12,7 +12,7 @@ class UserUpdate(EventBuilder):
Occurs whenever a user goes online, starts typing, etc.
"""
@classmethod
def build(cls, update):
def build(cls, update, others=None):
if isinstance(update, types.UpdateUserStatus):
return cls.Event(update.user_id,
status=update.status)