Задачи Discordpy не работают, как ожидалось. Нет возврата - PullRequest
1 голос
/ 18 января 2020
@tasks.loop(seconds = 5.0)
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 client.get_channel(499245707081940995).send("420!!")

@remind420.before_loop
async def remind420_before():
    await client.wait_until_ready()

remind420.start()

Нет вывода. Абсолютно нет выхода. Я ожидаю, что время вернется или, по крайней мере, да.

1 Ответ

0 голосов
/ 18 января 2020

Убедитесь, что все ваши импорты и 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()
...