因此,我正在尝试为使用Python的Discord机器人创建一个定时函数。
所以我的功能如下:
async def checkday(ctx):
while(True):
"code yada yada"
if true:
await ctx.send("hello")
await asyncio.sleep(X)
并在底部:
bot.loop.create_task(checkday())
但是,我遇到此错误:
Traceback (most recent call last):
File "C:\Users\philk\Desktop\Discord Bot\testrevbot.py", line 374, in <module>
bot.loop.create_task(checkday())
TypeError: checkday() missing 1 required positional argument: 'ctx'
所以我假设这里缺少一个论点:
bot.loop.create_task(checkday())
我将如何解决此问题?我相信我正在使用重写,所以有没有一种方法可以在没有上下文的情况下发送消息?
编辑:例如,我想每12小时在checkday()中运行一次循环,如果满足条件,则发送一条消息。
“ https://github.com/Rapptz/discord.py/blob/rewrite/examples/background_task.py”似乎不适用于我。
答案 0 :(得分:-2)
如果您是在嵌齿轮中执行此操作,则很可能会丢失self
作为第一个参数。