首页 > 解决方案 > 如何让机器人说出由变量而不是回复命令激活的消息?

问题描述

我正在尝试制作一个琐事机器人,它有一个命令可以让它在几秒钟内从 30-1 倒计时。当它达到 1 时,我不知道如何在不和谐聊天中说些什么。

我已经尝试过查看 API。

questionTimer = 30

#while questionTimer > 1:
  #questionTimer = questionTimer - 1
  #time.sleep(1)
  #print (questionTimer)

我希望当 questionTimer = 1 时它可以在聊天中说 Times up

标签: pythondiscord.py

解决方案


如果你想让它打印出每个数字,你可以做类似的事情

@client.command()
async def quiz():
  seconds = 30
  while seconds > 0:
    await client.say(seconds)
    await asyncio.sleep(1)
    seconds-=1

  await client.say("Done")

但是,如果您只想让它等待 30 秒然后显示一条消息,您可以执行类似的操作

@client.command()
async def quiz():
  await asyncio.sleep(30)
  await client.say("Done")

推荐阅读