def before_loop(self, coro):
if not (inspect.iscoroutinefunction(coro) or inspect.isawaitable(coro)):<EOL><INDENT>raise TypeError('<STR_LIT>'.format(type(coro)))<EOL><DEDENT>self._before_loop = coro<EOL>
A function that also acts as a decorator to register a coroutine to be
        called before the loop starts running. This is useful if you want to wait
        for some bot state before the loop starts,
        such as :meth:`discord.Client.wait_until_ready`.

        Parameters
        ------------
        coro: :term:`py:awaitable`
            The coroutine to register before the loop runs.

        Raises
        -------
        TypeError
            The function was not a coroutine.