mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-08 04:52:30 +00:00
Pass all Updates when building events
This commit is contained in:
@@ -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):
|
||||
|
@@ -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
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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)
|
||||
|
||||
|
@@ -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,
|
||||
|
@@ -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)
|
||||
|
@@ -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):
|
||||
|
@@ -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):
|
||||
|
@@ -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):
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user