繁体   English   中英

如何让我的 Discord 机器人在每个星期日的 0:00 运行一个函数?

[英]How do I make my Discord bot run a function every sunday at 0:00?

我有一个使用 discord.py 广告的 Python discord bot 我想在每个星期天的 0:00 做一些事情。 我怎样才能做到这一点? 我使用 Python 3.7 和 discord.py 1.3.2

对于提供的间隔,这不是更有效的方法,而是一种方法

您可以使用 python 的schedule模块。

import schedule

def job():
    "Write your job here "


if __name__=="__main__":

    schedule.every().sunday.at("00:00").do(job)      
    while True:
        schedule.run_pending()

更新:以上编程被阻塞。

对于非阻塞,您可以按以下方式使用线程和调度的组合。

import threading

import schedule

def job():
    """Your job here"""

def threaded(func):
    job_thread = threading.Thread(target=func)
    job_thread.start()

if __name__=="__main__":

    schedule.every().sunday.at("00:00").do(threaded,job)      
    while True:
        schedule.run_pending()
        """you can write your other tasks here"""

该程序为您的预定作业创建另一个线程。

您可以使用 aiocron。

pip 安装 aiocron

https://github.com/gawel/aiocron

在 bot.run(TOKEN) 之前将以下添加到您的机器人代码中


import aiocron

CHANNEL_ID=1234

@aiocron.crontab('0 * * * *')
async def cornjob1():
    channel = bot.get_channel(CHANNEL_ID)
    await channel.send('Hour Cron Test')


我有一个使用discord.py广告的Python discord机器人,我想在每个星期日的0:00做一些事情。 我怎样才能做到这一点? 我使用Python 3.7和discord.py 1.3.2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM