code: async def on_process_message(self, message: types.Message, data: dict):
          
          # Get current handler
          handler = current_handler.get()
  
          # Get dispatcher from context
          dispatcher = Dispatcher.get_current()
          # If handler was configured, get rate limit and key from handler
          if handler:
              limit = getattr(handler, 'throttling_rate_limit', self.rate_limit)
              key = getattr(handler, 'throttling_key', f"{self.prefix}_{handler.__name__}")
          else:
              limit = self.rate_limit
              key = f"{self.prefix}_message"
  
          # Use Dispatcher.throttle method.
          try:
              await dispatcher.throttle(key, rate=limit)
          except Throttled as t:
              # Execute action
              await self.message_throttled(message, t)
  
              # Cancel current handler
              raise CancelHandler()
docs: This handler is called when dispatcher receives a message
  
          :param message: