From 071ebcb4ef9e5a1f21d898c5c8ef22167b62254f Mon Sep 17 00:00:00 2001 From: Emilio Molinari Date: Wed, 21 Mar 2018 15:38:43 +0100 Subject: [PATCH] Changed events.NewMessage to accept a list of patterns instead of just 1 --- telethon/events/__init__.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/telethon/events/__init__.py b/telethon/events/__init__.py index a91665fb..c39c4784 100644 --- a/telethon/events/__init__.py +++ b/telethon/events/__init__.py @@ -236,11 +236,13 @@ class NewMessage(_EventBuilder): self.incoming = incoming self.outgoing = outgoing if isinstance(pattern, str): - self.pattern = re.compile(pattern).match - elif not pattern or callable(pattern): + self.pattern = [re.compile(pattern).match] + elif isinstance(pattern, (list, tuple)): self.pattern = pattern + elif not pattern or callable(pattern): + self.pattern = [pattern] elif hasattr(pattern, 'match') and callable(pattern.match): - self.pattern = pattern.match + self.pattern = [pattern.match] else: raise TypeError('Invalid pattern type given') @@ -300,8 +302,11 @@ class NewMessage(_EventBuilder): return if self.pattern: - match = self.pattern(event.message.message or '') - if not match: + for pattern in self.pattern: + match = pattern(event.message.message or '') + if match is not None: + break + else: return event.pattern_match = match