Ошибка RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Вот код:
from threading import Timer
import discord as ds
bot = ds.Client(command_prefix='!', intents=ds.Intents.all())
async def f():
user = await bot.fetch_user('id')
await user.send('привет')
Timer(5, f).start()
@bot.event
async def on_ready():
print('reddy to work.')
await f()
bot.run('token')
Мне нужно выполнять асинхронную функцию f() через каждое фиксированное количество времени, для этого использовал Time(), но выводится ошибка: RuntimeWarning: coroutine 'f' was never awaited self.function(*self.args, **self.kwargs) RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Пытался добавлять и убирать await в некоторых местах, добавлять библиотеку asyncio, не помогло.
Ответы (1 шт):
Автор решения: q r t s
→ Ссылка
Если я правильно понимаю, вам нужно чтобы бот начал определенный цикл. Для этого можно использовать:
while True:
try:
#код
except:
break
Таким образом бот будет постоянно включать #код пока по какой-нибудь причине не получит ошибку.
Например:
@bot.event
async def on_ready():
print('reddy to work.')
user = await bot.fetch_user('id')
while True:
try:
await user.send('привет')
await asyncio.sleep(5)
except:
break