code: def loop(*, seconds=0, minutes=0, hours=0, count=None, reconnect=True, loop=None):
      
      def decorator(func):
          return Loop(func, seconds=seconds, minutes=minutes, hours=hours,
                            count=count, reconnect=reconnect, loop=loop)
      return decorator
docs: A decorator that schedules a task in the background for you with
      optional reconnect logic.
  
      Parameters
      ------------
      seconds: :class:`float`
          The number of seconds between every iteration.
      minutes: :class:`float`
          The number of minutes between every iteration.
      hours: :class:`float`
          The number of hours between every iteration.
      count: Optional[:class:`int`]
          The number of loops to do, ``None`` if it should be an
          infinite loop.
      reconnect: :class:`bool`
          Whether to handle errors and restart the task
          using an exponential back-off algorithm similar to the
          one used in :meth:`discord.Client.connect`.
      loop: :class:`asyncio.AbstractEventLoop`
          The loop to use to register the task, if not given
          defaults to :func:`asyncio.get_event_loop`.
  
      Raises
      --------
      ValueError
          An invalid value was given.
      TypeError
          The function was not a coroutine.
  
      Returns
      ---------
      :class:`Loop`
          The loop helper that handles the background task.