【发布时间】:2022-01-09 03:20:38
【问题描述】:
我对 Python 有点陌生,我一直在尝试了解异步函数的工作原理。话虽如此,我正在尝试使用一些用户输入制作一个 Discord 机器人,以便该机器人显示自定义嵌入。那是容易的部分,因为现在我被困在错误处理上。一旦机器人要求输入,我希望它回问该输入是否不正确或超出范围。
while True:
value = await bot.wait_for("message", check=check, timeout=150.0)
try:
value = int(value.content)
if value > 0 or value < 10:
raise ValueError('A very specific bad thing happened.')
else:
break
except:
ctx.reply("That's not a valid value")
我知道我的错误在于循环内的await,但我不知道该怎么做。我正在寻找的是机器人再次询问它是否不正确。 _我一直在做很多研究,但我没有发现任何与此相关的东西。提前致谢!
【问题讨论】:
-
你为什么使用
while循环?做什么的?如果您使用的是discordpy库,那么它只是一个@client.event async def on_message(message): ...。然后您可以检查消息内容并向客户端做出响应。如果您发现错误,您还可以在需要时将其文本发送给客户端。
标签: python async-await