Python不协调bot调度

Python不协调bot调度,python,discord,discord.py,Python,Discord,Discord.py,我正在计算d日,并注意到机器人现在处于不和谐状态。我需要我的机器人每12小时发送一次d日计数消息。我怎样才能做到这一点 import discord from discord.ext import commands from bs4 import BeautifulSoup as bs import asyncio import requests bot = commands.Bot(command_prefix='?') html = requests.get('https://super

我正在计算d日,并注意到机器人现在处于不和谐状态。我需要我的机器人每12小时发送一次d日计数消息。我怎样才能做到这一点

import discord
from discord.ext import commands
from bs4 import BeautifulSoup as bs
import asyncio
import requests

bot = commands.Bot(command_prefix='?')

html = requests.get('https://superkts.com/cal/d_day/20200504')
soup = bs(html.text, 'html.parser')
data1 = soup.find('article', {'class': 'result'}).text

html = requests.get('https://superkts.com/cal/d_day/20201203')
soup = bs(html.text, 'html.parser')
data2 = soup.find('article', {'class': 'result'}).text

html = requests.get('https://superkts.com/cal/d_day/20220105')
soup = bs(html.text, 'html.parser')
data3 = soup.find('article', {'class': 'result'}).text

@bot.event
async def on_ready():
    print('Logged in as')
    print(bot.user.name)
    print(bot.user.id)
    print('------')

@bot.command()
async def notice(ctx):
    await ctx.send("문준영 입대" + data1)
    await ctx.send("신원호 수능" + data2)
    await ctx.send("김수한 전역" + data3)

bot.run('TOKEN')

如果您只想每12小时重复一次,您可以将消息放入循环中,并在末尾添加
sleep

@bot.command()
async def notice(ctx):
    while True:
        await ctx.send("문준영 입대" + data1)
        await ctx.send("신원호 수능" + data2)
        await ctx.send("김수한 전역" + data3)
        await asyncio.sleep(12 * 60 * 60)

如果你正在使用Windows,你也应该考虑Windows任务调度程序。只希望完成代码级,感谢快速重放^ ^我想你的代码每次都会让我制定时间表“通知”,对吗?我只想在我键入命令时显示该消息,并且每12点显示一次。我怎么做?对不起,你想每天早上12点做,还是每12小时做一次?你是希望每个地方都有一个通知,还是每个频道只有一个通知,或者每个公会只有一个通知?对不起,我糟糕的解释让你感到困惑。我希望每天12点都有通知,每个地方都只有一个通知。你可能想研究使用
任务
而不是
命令
。在循环前设置一个
,等待到凌晨12点,然后将循环计时器设置为24小时。我尝试使用您所说的任务…(下面的代码由我回答),但这次它每秒钟发送一次消息。我做错了什么吗?我试着每秒钟检查一次,确认是凌晨12点,如果是真的,就把信息发送到频道。