Python 使用discord bot按时间间隔发送消息

Python 使用discord bot按时间间隔发送消息,python,discord,discord.py,bots,Python,Discord,Discord.py,Bots,我正在尝试使用discord bot在某个时间间隔发送消息。我在link中找到了一些类似的例子 导入不一致 导入异步 导入嵌套异步 nest_asyncio.apply() 类MyClient(discord.Client): 定义初始化(self,*args,**kwargs): super() 异步def on_就绪(自): 打印('登录为') 打印(self.user.name) 打印(self.user.id) 打印('----') #创建后台任务并在后台运行它 self.bg_task

我正在尝试使用discord bot在某个时间间隔发送消息。我在link中找到了一些类似的例子

导入不一致
导入异步
导入嵌套异步
nest_asyncio.apply()
类MyClient(discord.Client):
定义初始化(self,*args,**kwargs):
super()
异步def on_就绪(自):
打印('登录为')
打印(self.user.name)
打印(self.user.id)
打印('----')
#创建后台任务并在后台运行它
self.bg_task=self.loop.create_任务(self.my_background_task())
异步定义我的后台任务(self):
计数器=0
channel=self.get_channel(1234567890)#channel ID在这里
而不是self.is_closed():
计数器+=1
等待频道发送(计数器)
等待异步IO。睡眠(10)#任务每10秒运行一次
client=MyClient()
client.run('token')
但是当我尝试使用相同的代码时,我的服务器中没有收到任何消息。有人能帮我解决我可能做错的事情吗?

你可以尝试使用“任务”(来自discord.ext)


如果这没有帮助,您能描述一下您打算做什么吗?

是否有任何错误?你是在你的电脑上运行这个,还是在谷歌colab上运行。如果您在pc上运行它,您可以删除
nest\u asyncio.apply()
。不,没有错误。我正在从我尝试过的调试运行。显然,它在非self.is_closed()时进入
,但只进入一次。出于某种原因,在那之后它就不起作用了
from discord.ext import tasks

@bot.event
async def on_ready():
    send_message.start()

@tasks.loop(seconds=10)  # you can even use hours and minutes
async def send_message():
    await bot.get_channel(id_here).send("message here")