我正在尝试制作一个Trivia机器人,它具有一个命令,使其在30秒内从30-1倒数。当达到1时,我不知道如何在不和谐的聊天中说些什么。
我已经尝试浏览API。
foo<vector>()
我希望questionTimer = 1时它可以在聊天中说出时间
答案 0 :(得分:2)
如果您希望它打印出每个数字,您可以执行类似的操作
@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")
答案 1 :(得分:0)
根据您使用的是Discord.py的重写版本还是旧的异步版本,我建议以下内容:
Discord.py异步(0.16.x):
@commands.command(name="quiz", aliases=["q"])
async def quiz():
quizMsg = 'Question of the quiz'
msg = await ctx.send(f"{quizMsg}\n\n{secs}s left !")
secs = 30
while secs > 0:
await asyncio.sleep(1)
await msg.edit(content = f"{quizMsg}\n\n{secs}s left !")
secs--
await ctx.send("Time is up ! The answer was...")
Discord.py重写(1.0.x):
{{1}}
介意两种方法之间的区别