X时间后,如何在Python中获得Discord机器人在频道中发送特定消息?

时间:2018-10-06 19:08:05

标签: python discord discord.py

我希望能够在3小时内输入!setreminder“稍后发布此字符串”,然后漫游器会在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

如果我运行了此命令,我可以在机器人等待发布时同时使用其他命令吗?

1 个答案:

答案 0 :(得分:0)

您可以做类似的事情

@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是希望等待的秒数)

  

如果我运行了此命令,我可以在机器人等待发布时同时使用其他命令吗?

是的,由于nature of asyncio.sleep

,您可以使用其他命令