Убедитесь, что все ваши импорты и self указаны в параметрах функции before_l oop. Если он внутри винтика, обязательно включите себя перед клиентом. Добавление часов, минут и счетчика + «я» в бите «до», казалось, решило проблему.
import discord
from discord.ext import commands, tasks
from datetime import date, datetime
class StackOverflow(commands.Cog):
def __init__(self, client):
self.client = client
self.remind420.start()
@tasks.loop(seconds = 5.0, minutes=0, hours=0 count=None)
async def remind420(self):
print("YES")
print(datetime.now().strftime("%H:%M"))
if datetime.now().strftime("%H:%M") == "16:55" or datetime.now().strftime("%H:%M") == "04:20":
await self.client.get_channel(632933507399942164).send("420!!")
@remind420.before_loop
async def remind420_before(self):
await self.client.wait_until_ready()