code: def inbound_message_filter(f):
      
  
      if asyncio.iscoroutinefunction(f):
          raise TypeError(
              "inbound_message_filter must not be a coroutine function"
          )
  
      add_handler_spec(
          f,
          HandlerSpec(
              (_apply_inbound_message_filter, ())
          ),
      )
      return f
docs: Register the decorated function as a service-level inbound message filter.
  
      :raise TypeError: if the decorated object is a coroutine function
  
      .. seealso::
  
         :class:`StanzaStream`
            for important remarks regarding the use of stanza filters.