как сделать повторение функции на 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()#делаем старт функции