Discord.py> Как запланировать операцию? я пытался использовать график - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь планировать операцию каждые 30 минут. Но этот код не работает.

def Advice():
    print("30 minutes")
@client.event
async def on_ready():
    schedule.every(30).minutes.do(Advice)

Не могли бы вы мне помочь?

1 Ответ

0 голосов
/ 11 марта 2020

Это может быть то, что вы ищете. Вот пример для вас.

class Heartbeat(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.heartbeat.start()

    def cog_unload(self):
        self.heartbeat.stop()

    @tasks.loop(seconds=45)
    async def heartbeat(self):
        if not self.bot.debug:
            try:
                self.bot.log.info("[UptimeRobot HeartBeat] - Sending heartbeat Request")
                req = await self.bot.session.get(os.getenv("UPTIMEROBOT_URL"))
                response = await req.json()
                self.bot.log.info(f"[UptimeRobot Heartbeat] - UptimeRobot says: {response['msg']}")
            except Exception as e:
                self.bot.sentry.capture_exception(e)

    @heartbeat.before_loop
    async def before_update_loop(self):
        await self.bot.wait_until_ready()


def setup(bot):
    bot.add_cog(Heartbeat(bot))
...