寻找一种用来编码命令冷却不和谐机器人的方法



我正在使用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表示全局。)

最新更新