Schedule the callback to be run at the given time with
    the given arguments.

    Args:
        time: Time to run callback. If given as :py:class:`datetime.time`
            then use today as date.
        callback: Callable scheduled to run.
        args: Arguments for to call callback with.

def schedule(
        time: Union[datetime.time, datetime.datetime],
        callback: Callable, *args):
    """
    Schedule the callback to be run at the given time with
    the given arguments.

    Args:
        time: Time to run callback. If given as :py:class:`datetime.time`
            then use today as date.
        callback: Callable scheduled to run.
        args: Arguments for to call callback with.
    """
    dt = _fillDate(time)
    now = datetime.datetime.now(dt.tzinfo)
    delay = (dt - now).total_seconds()
    loop = asyncio.get_event_loop()
    loop.call_later(delay, callback, *args)