我添加了一个命令冷却时间,但是如何使用数小时和分钟。
@bot.command(pass_context=True)
@commands.cooldown(1, 30, commands.BucketType.user)
async def ping(ctx):
msg = "Pong {0.author.mention}".format(ctx.message)
await bot.say(msg)
答案 0 :(得分:1)
commands.cooldown
的第二个参数per
需要一个秒的间隔,您可以通过乘以等效秒数(1分钟= 60秒,1秒)轻松将所需的小时和分钟转换为秒小时= 3600秒)。您还可以创建一个包装函数来为您进行转换:
def cooldown(rate, per_sec=0, per_min=0, per_hour=0, type=commands.BucketType.default):
return commands.cooldown(rate, per_sec + 60 * per_min + 3600 * per_hour, type)
@bot.command(pass_context=True)
@cooldown(1, per_min=5, per_hour=1, type=commands.BucketType.user)
async def ping(ctx):
msg = "Pong {0.author.mention}".format(ctx.message)
await bot.say(msg)
这将启动1小时5分钟的冷却时间。