mirror of
https://github.com/pyrogram/pyrogram
synced 2025-08-28 21:07:59 +00:00
Make handlers accept filters
This commit is contained in:
parent
fb4e98b0b5
commit
142ce07576
@ -203,15 +203,15 @@ class Client:
|
|||||||
self.dispatcher = Dispatcher(self, workers)
|
self.dispatcher = Dispatcher(self, workers)
|
||||||
self.update_handler = None
|
self.update_handler = None
|
||||||
|
|
||||||
def on(self, handler, group):
|
def on(self, handler, group, filters=None):
|
||||||
def decorator(f):
|
def decorator(func):
|
||||||
self.add_handler(handler(f), group)
|
self.add_handler(handler(func, filters), group)
|
||||||
return f
|
return func
|
||||||
|
|
||||||
return decorator
|
return decorator
|
||||||
|
|
||||||
def on_message(self, group: int = 0):
|
def on_message(self, filters=None, group: int = 0):
|
||||||
return self.on(pyrogram.MessageHandler, group)
|
return self.on(pyrogram.MessageHandler, group, filters)
|
||||||
|
|
||||||
def on_raw_update(self, group: int = 0):
|
def on_raw_update(self, group: int = 0):
|
||||||
return self.on(pyrogram.RawUpdateHandler, group)
|
return self.on(pyrogram.RawUpdateHandler, group)
|
||||||
|
@ -18,5 +18,6 @@
|
|||||||
|
|
||||||
|
|
||||||
class Handler:
|
class Handler:
|
||||||
def __init__(self, callback: callable):
|
def __init__(self, callback: callable, filters=None):
|
||||||
self.callback = callback
|
self.callback = callback
|
||||||
|
self.filters = filters
|
||||||
|
@ -20,5 +20,12 @@ from .handler import Handler
|
|||||||
|
|
||||||
|
|
||||||
class MessageHandler(Handler):
|
class MessageHandler(Handler):
|
||||||
def __init__(self, callback: callable):
|
def __init__(self, callback: callable, filters=None):
|
||||||
super().__init__(callback)
|
super().__init__(callback, filters)
|
||||||
|
|
||||||
|
def check(self, message):
|
||||||
|
return (
|
||||||
|
self.filters(message)
|
||||||
|
if self.filters
|
||||||
|
else True
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user