как сделать повторение функции на 5 минут discord.py

@tasks.loop(seconds=300)
async def online(ctx):
    api_online = requests.get("https://api.mcsrvstat.us/2/mc.lentiworld.ru").json()
    if api_online.get('error') == None:
        online_total = api_online['players']["online"]
        
        category = bot.get_channel(1005897953757634581)
        say_online_total =bot.get_channel(1006244607660671009)
        #say_online_auth =bot.get_channel(1006250646229504001)
        #say_online_survival =bot.get_channel(1006252067683307580)
        
        await category.edit(name="? Сервер включен")
        await say_online_total.edit(name="? Онлайн: " + str(online_total))
        #await say_online_auth.edit(name="? Авторизация: " + online_auth)
        #await say_online_survival.edit(name="? Выжевание: " + online_survival)
        await ctx.send("Чаты переименованы")
        
    else:
        category = bot.get_channel(1005897953757634581)
        say_online_total =bot.get_channel(1006244607660671009)
        
        await category.edit(name="? Сервер выключен.")
        await say_online_total.edit(name="? Онлайн: -")

Мне нужно чтобы данная функция повторялась каждые 5 минут. Ошибок не выдаёт а код не работает.


Ответы (1 шт):

Автор решения: Тимафей Ермаков

я смог сам решить

@tasks.loop(seconds=300)#задаём время
async def online():#создаём функцию которая будет повторяться (ОБЯЗАТЕЛЬНО В () ПУСТО
    api_online = requests.get("https://api.mcsrvstat.us/2/mc.lentiworld.ru").json()
    if api_online.get('error') == None:
        online_total = api_online['players']["online"]
        
        category = bot.get_channel(1005897953757634581)
        say_online_total =bot.get_channel(1006244607660671009)
        #say_online_auth =bot.get_channel(1006250646229504001)
        #say_online_survival =bot.get_channel(1006252067683307580)
        
        await category.edit(name="? Сервер включен")
        await say_online_total.edit(name="? Онлайн: " + str(online_total))
        #await say_online_auth.edit(name="? Авторизация: " + online_auth)
        #await say_online_survival.edit(name="? Выжевание: " + online_survival)
        await ctx.send("Чаты переименованы")
        
    else:
        category = bot.get_channel(1005897953757634581)
        say_online_total =bot.get_channel(1006244607660671009)
        
        await category.edit(name="? Сервер выключен.")
        await say_online_total.edit(name="? Онлайн: -")

@online.before_loop #копируем это изменяя только online на своё название сервера
async def before_newloop():
    print('Загружает активность')
    await bot.wait_until_ready()
    
online.start()#делаем старт функции
→ Ссылка