首页 > 解决方案 > 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)

标签: pythondiscord.pybots

解决方案


建议的相关问题非常适用于此

但是,只需一点点数学就可以适应您的用例(没有额外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是一个整数。如果不是,首先将其转换为整数并将其存储在另一个变量中,然后用于数学计算。


推荐阅读