code: def register_message_handler(self, callback, *custom_filters, commands=None, regexp=None, content_types=None,
                                   state=None, run_task=None, **kwargs):
          
          filters_set = self.filters_factory.resolve(self.message_handlers,
                                                     *custom_filters,
                                                     commands=commands,
                                                     regexp=regexp,
                                                     content_types=content_types,
                                                     state=state,
                                                     **kwargs)
          self.message_handlers.register(self._wrap_async_task(callback, run_task), filters_set)
docs: Register handler for message
  
          .. code-block:: python3
  
              # This handler works only if state is None (by default).
              dp.register_message_handler(cmd_start, commands=['start', 'about'])
              dp.register_message_handler(entry_point, commands=['setup'])
  
              # This handler works only if current state is "first_step"
              dp.register_message_handler(step_handler_1, state="first_step")
  
              # If you want to handle all states by one handler, use `state="*"`.
              dp.register_message_handler(cancel_handler, commands=['cancel'], state="*")
              dp.register_message_handler(cancel_handler, lambda msg: msg.text.lower() == 'cancel', state="*")
  
          :param callback:
          :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:
          :return: decorated function