[英]Convert cooldown timer in discord.py into hrs:min:sec format
I have a bot made using discord.py.我有一个使用 discord.py 制作的机器人。 I added a suggest command and added cooldown to it.
我添加了一个建议命令并为其添加了冷却时间。 After that I added this code:
之后,我添加了以下代码:
@suggest.error
async def suggest_error(ctx, error):
if isinstance(error, commands.CommandOnCooldown):
msg = 'You are too fast! Please try again in {:.2f}s'.format(error.retry_after)
await ctx.send(msg)
else:
raise error
Now, it shows the time in seconds, how do I make it show in hr:min:sec format?现在,它以秒为单位显示时间,如何让它以 hr:min:sec 格式显示?
You can do it using the datetime module您可以使用 datetime 模块来完成
import datetime
remaining_time = str(datetime.timedelta(seconds=int(error.retry_after)))
def hms_from_secs(seconds: int) -> str:
seconds = int(seconds)
hours = seconds // 3600
minutes = (seconds % 3600) // 60
seconds = seconds % 60
return f"{hours:02} hour(s) {minutes:02} minute(s)"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.