<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def message_handler(self, *custom_filters, commands=None, regexp=None, content_types=None, state=None, run_task=None, **kwargs):
 """ Decorator for message handler Examples: Simple commands handler: .. code-block:: python3 @dp.message_handler(commands=['start', 'welcome', 'about']) async def cmd_handler(message: types.Message):
 Filter messages by regular expression: .. code-block:: python3 @dp.message_handler(rexexp='^[a-z]+-[0-9]+') async def msg_handler(message: types.Message):
 Filter messages by command regular expression: .. code-block:: python3 @dp.message_handler(filters.RegexpCommandsFilter(regexp_commands=['item_([0-9]*)'])) async def send_welcome(message: types.Message):
 Filter by content type: .. code-block:: python3 @dp.message_handler(content_types=ContentType.PHOTO | ContentType.DOCUMENT) async def audio_handler(message: types.Message):
 Filter by custom function: .. code-block:: python3 @dp.message_handler(lambda message: message.text and 'hello' in message.text.lower()) async def text_handler(message: types.Message):
 Use multiple filters: .. code-block:: python3 @dp.message_handler(commands=['command'], content_types=ContentType.TEXT) async def text_handler(message: types.Message):
 Register multiple filters set for one handler: .. code-block:: python3 @dp.message_handler(commands=['command']) @dp.message_handler(lambda message: demojize(message.text) == ':new_moon_with_face:') async def text_handler(message: types.Message):
 This handler will be called if the message starts with '/command' OR is some emoji By default content_type is :class:`ContentType.TEXT` :param commands: list of commands :param regexp: REGEXP :param content_types: List of content types. :param custom_filters: list of custom filters :param kwargs: :param state: :param run_task: run callback in task (no wait results) :return: decorated function """


        def decorator(callback):
            self.register_message_handler(callback, *custom_filters,
                                          commands=commands, regexp=regexp, content_types=content_types,
                                          state=state, run_task=run_task, **kwargs)
            return callback

        return decorator