[英]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.