我希望能够输入!setreminder“发布此字符串后”3小时,机器人将在3小时内在一个频道张贴这一点。
如果我修改下面的代码,会对它起作用吗?或者有更好的方法来做这件事?
async def my_background_task():
await client.wait_until_ready()
counter = 0
channel = discord.Object(id='channel_id_here')
while not client.is_closed:
counter += 1
await client.send_message(channel, counter)
await asyncio.sleep(60) # task runs every 60 second如果我运行这个命令,我可以在机器人等待post的同时使用其他命令吗?
发布于 2018-10-07 03:26:01
你可以这样做
@client.command(pass_context=True)
async def setreminder(ctx,time:int,*arg:str):
await asyncio.sleep(time)
await client.say(f"\"{' '.join(arg)}\"")在哪里运行!setreminder 5 Hello World (5是您希望等待的秒数)
如果我运行这个命令,我可以在机器人等待post的同时使用其他命令吗?
可以,由于nature of asyncio.sleep的原因,您可以使用其他命令
https://stackoverflow.com/questions/52682463
复制相似问题