diff --git a/pyrogram/client/handlers/__init__.py b/pyrogram/client/handlers/__init__.py index ed330b21..52fe40b3 100644 --- a/pyrogram/client/handlers/__init__.py +++ b/pyrogram/client/handlers/__init__.py @@ -16,4 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with Pyrogram. If not, see . -from .handlers import MessageHandler, CallbackQueryHandler, RawUpdateHandler +from .callback_query_handler import CallbackQueryHandler +from .message_handler import MessageHandler +from .raw_update_handler import RawUpdateHandler diff --git a/pyrogram/client/handlers/callback_query_handler.py b/pyrogram/client/handlers/callback_query_handler.py new file mode 100644 index 00000000..c0bba510 --- /dev/null +++ b/pyrogram/client/handlers/callback_query_handler.py @@ -0,0 +1,51 @@ +# Pyrogram - Telegram MTProto API Client Library for Python +# Copyright (C) 2017-2018 Dan Tès +# +# This file is part of Pyrogram. +# +# Pyrogram is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pyrogram is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with Pyrogram. If not, see . + +from .handler import Handler + + +class CallbackQueryHandler(Handler): + """The CallbackQuery handler class. Used to handle callback queries coming from inline buttons. + It is intended to be used with :meth:`add_handler() ` + + Args: + callback (``callable``): + Pass a function that will be called when a new CallbackQuery arrives. It takes *(client, callback_query)* + as positional arguments (look at the section below for a detailed description). + + filters (:obj:`Filters `): + Pass one or more filters to allow only a subset of callback queries to be passed + in your callback function. + + Other parameters: + client (:obj:`Client `): + The Client itself, useful when you want to call other API methods inside the message handler. + + callback_query (:obj:`CallbackQuery `): + The received callback query. + """ + + def __init__(self, callback: callable, filters=None): + super().__init__(callback, filters) + + def check(self, callback_query): + return ( + self.filters(callback_query) + if self.filters + else True + ) diff --git a/pyrogram/client/handlers/message_handler.py b/pyrogram/client/handlers/message_handler.py new file mode 100644 index 00000000..6aae27de --- /dev/null +++ b/pyrogram/client/handlers/message_handler.py @@ -0,0 +1,52 @@ +# Pyrogram - Telegram MTProto API Client Library for Python +# Copyright (C) 2017-2018 Dan Tès +# +# This file is part of Pyrogram. +# +# Pyrogram is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pyrogram is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with Pyrogram. If not, see . + +from .handler import Handler + + +class MessageHandler(Handler): + """The Message handler class. Used to handle text, media and service messages coming from + any chat (private, group, channel). It is intended to be used with + :meth:`add_handler() ` + + Args: + callback (``callable``): + Pass a function that will be called when a new Message arrives. It takes *(client, message)* + as positional arguments (look at the section below for a detailed description). + + filters (:obj:`Filters `): + Pass one or more filters to allow only a subset of messages to be passed + in your callback function. + + Other parameters: + client (:obj:`Client `): + The Client itself, useful when you want to call other API methods inside the message handler. + + message (:obj:`Message `): + The received message. + """ + + def __init__(self, callback: callable, filters=None): + super().__init__(callback, filters) + + def check(self, message): + return ( + self.filters(message) + if self.filters + else True + ) diff --git a/pyrogram/client/handlers/handlers.py b/pyrogram/client/handlers/raw_update_handler.py similarity index 54% rename from pyrogram/client/handlers/handlers.py rename to pyrogram/client/handlers/raw_update_handler.py index c50e6725..8a1e0a03 100644 --- a/pyrogram/client/handlers/handlers.py +++ b/pyrogram/client/handlers/raw_update_handler.py @@ -19,71 +19,6 @@ from .handler import Handler -class MessageHandler(Handler): - """The Message handler class. Used to handle text, media and service messages coming from - any chat (private, group, channel). It is intended to be used with - :meth:`add_handler() ` - - Args: - callback (``callable``): - Pass a function that will be called when a new Message arrives. It takes *(client, message)* - as positional arguments (look at the section below for a detailed description). - - filters (:obj:`Filters `): - Pass one or more filters to allow only a subset of messages to be passed - in your callback function. - - Other parameters: - client (:obj:`Client `): - The Client itself, useful when you want to call other API methods inside the message handler. - - message (:obj:`Message `): - The received message. - """ - - def __init__(self, callback: callable, filters=None): - super().__init__(callback, filters) - - def check(self, message): - return ( - self.filters(message) - if self.filters - else True - ) - - -class CallbackQueryHandler(Handler): - """The CallbackQuery handler class. Used to handle callback queries coming from inline buttons. - It is intended to be used with :meth:`add_handler() ` - - Args: - callback (``callable``): - Pass a function that will be called when a new CallbackQuery arrives. It takes *(client, callback_query)* - as positional arguments (look at the section below for a detailed description). - - filters (:obj:`Filters `): - Pass one or more filters to allow only a subset of callback queries to be passed - in your callback function. - - Other parameters: - client (:obj:`Client `): - The Client itself, useful when you want to call other API methods inside the message handler. - - callback_query (:obj:`CallbackQuery `): - The received callback query. - """ - - def __init__(self, callback: callable, filters=None): - super().__init__(callback, filters) - - def check(self, callback_query): - return ( - self.filters(callback_query) - if self.filters - else True - ) - - class RawUpdateHandler(Handler): """The Raw Update handler class. Used to handle raw updates. It is intended to be used with :meth:`add_handler() `