Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Discord.py和Python时间表,从未等待过?_Python 3.x_Python Asyncio_Discord.py Rewrite - Fatal编程技术网

Python 3.x Discord.py和Python时间表,从未等待过?

Python 3.x Discord.py和Python时间表,从未等待过?,python-3.x,python-asyncio,discord.py-rewrite,Python 3.x,Python Asyncio,Discord.py Rewrite,我试图在每天02:39使用时间表和线程向频道发送一条消息,但我似乎无法通过 asyncio“永不等待” 我见过几个类似这个问题的问题,但之前的答案都不能解决我的问题 我的代码: @bot.event _ready()上的异步定义: t=线程(目标=计时器) t、 开始() async def announceShop(): 等待bot.get_通道(00000000)。发送(“测试”) def timer(): 尽管如此: schedule.run_pending() 时间。睡眠(60) 计划。

我试图在每天02:39使用
时间表
线程
向频道发送一条消息,但我似乎无法通过
asyncio
“永不等待”

我见过几个类似这个问题的问题,但之前的答案都不能解决我的问题

我的代码:

@bot.event
_ready()上的异步定义:
t=线程(目标=计时器)
t、 开始()
async def announceShop():
等待bot.get_通道(00000000)。发送(“测试”)
def timer():
尽管如此:
schedule.run_pending()
时间。睡眠(60)
计划。每()天。在(“02:39”).do(bot.loop.call\u soon\u threadsafe,商店)
错误:
RuntimeWarning:coroutine'announceShop'从未等待self.\u context.run(self.\u callback,*self.\u args)


我怎样才能完成我想做的事情呢?

这个解决方案是可行的,但它更多的是一种“变通方法”。
这个解决方案使用aiocron,它是Linux上cronjob的simular

pip3安装aiocron

导入aiocron
@aiocron.crontab('23***')
async def announceShop():
等待bot.get_通道(00000000)。发送(“测试”)

这不允许触发@bot.event。是否有一种更容易产生分歧的逻辑?这只是让我的机器人永远挂起而不发送消息。从今天起我仍在使用此解决方案,它不会造成任何阻塞,所有事件都会正常工作。您确定在异步函数之前安装并定义了aiocron吗
@aiocron.crontab('23***')
在我的情况下?是的,我用同样的方法设置了它。我相信不和谐的装饰师可能引起了冲突。一旦我删除了它,调度就起作用了,但是对于我的用例来说,它打破了我的逻辑,因为我需要discord装饰器。我最后只是从命令行
crontab-e
使用了crontab。