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() `