code: def listen(self, name=None):
          
  
          def decorator(func):
              self.add_listener(func, name)
              return func
  
          return decorator
docs: A decorator that registers another function as an external
          event listener. Basically this allows you to listen to multiple
          events from different places e.g. such as :func:`.on_ready`
  
          The functions being listened to must be a coroutine.
  
          Example
          --------
  
          .. code-block:: python3
  
              @bot.listen()
              async def on_message(message):
                  print('one')
  
              # in some other file...
  
              @bot.listen('on_message')
              async def my_message(message):
                  print('two')
  
          Would print one and two in an unspecified order.
  
          Raises
          -------
          TypeError
              The function being listened to is not a coroutine.