python - Discord.py 冷却时间(秒)
问题描述
好吧,我有一个冷却时间的命令。它以秒为单位显示冷却时间,但我希望它以小时:分钟:秒为单位。因为我对 Python 还是很陌生。我需要一点帮助。这是我的代码:
@client.event
async def on_command_error(ctx, error):
if isinstance(error, commands.BadArgument):
await ctx.send("User existiert nicht!")
if isinstance(error, commands.CommandOnCooldown):
msg = f'**Du bist in einem Cooldown** Versuch es in {round(error.retry_after)} Sekunden erneut.'
await ctx.send(msg)
解决方案
但是,只需一点点数学就可以适应您的用例(没有额外import
的 s):
msg = f'**Du bist in einem Cooldown** Versuch es in {error.retry_after // (60 * 60):02d}:{(error.retry_after // 60) % 60:02d}:{error.retry_after % 60:02d} erneut.'
会导致
"**Du bist in einem Cooldown** Versuch es in 34:17:36 erneut."
与error.retry_after == 123456
.
假设error.retry_after
是一个整数。如果不是,首先将其转换为整数并将其存储在另一个变量中,然后用于数学计算。
推荐阅读
- python - 无法将列表写入python中的文件,总是最终只保留最后一个元素
- ios - 如何使用闭包创建单元测试用例
- python - 将命令从 python 文件传递到 shell 脚本(Linux)
- java - 嵌入式 ldap 在 Weblogic 中增长巨大并导致高 GC
- apache-spark - 对 pyspark 数据框的多列应用不同的函数
- spring-boot - 在 mvn clean install 之后 spring-boot 在端口 8080 上运行
- .net - 使用 Visual Studio 2017 发布 umbraco 8 网站
- spring - Viber Rest Api 无法打开内部浏览器
- python - 为什么使用更多工人时任务需要更长的时间
- javascript - 正则表达式环视导致紧随其后的组不匹配但否则匹配