我正在使用python。
这是一个示例命令:
@client.command(pass_context=True)
async def enablesentience(ctx):
await client.say(":desktop: | User does not have sufficient permissions.")
触发命令"启用"时,机器人在聊天中说:
:桌面:|用户没有足够的权限。
我正在寻找的是一种向此命令添加冷却的方法,以便一个人只能每秒钟使用一次命令。如果在冷却时尝试了命令,我希望bot在聊天中说剩余的冷却时间。
我尝试过:
@client.command(pass_context=True)
@commands.cooldown(1, 30, commands.server.user)
async def enablesentience(ctx):
await client.say(":desktop: | User does not have sufficient permissions.")
和
async def cooldown(1, 5, type=server.default)
@client.command(pass_context=True)
async def enablesentience(ctx):
await client.say(":desktop: | User does not have sufficient permissions.")
仅给出"'命令'对象没有属性'冷却'"和语法错误。
任何帮助将不胜感激,并提前感谢您。
您的第一次尝试几乎是正确的 - 您需要指定使用BucketType
,而不是" commands.server.user
",例如:
@commands.cooldown(1, 30, commands.BucketType.user)
您可以选择多个存储桶。它们都在这里的源代码中。(default
表示全局。)