discord.py-rewrite-如何为某些用户覆盖和更改冷却时间?

时间:2019-08-11 20:12:20

标签: python python-3.x discord discord.py discord.py-rewrite

由于我以前的帖子被锁定,因此我决定对这次想要的内容更加简洁。因此,我有一个用Python(3)编写的不和谐机器人,并且我想用用户基础的冷却来装饰我的所有命令,以防止潜在的滥用。但是,我希望机器人开发人员完全绕过此冷却时间,如果可能的话,我希望如果命令调用程序位于特定的ID列表中,请覆盖其冷却时间(这样他只需等待3秒而不是5秒)例如)。我尝试过:

class Bot(commands.Bot):
    class Cooldown:
        def __init__(self, rate=1, per=3.0, ctype=commands.BucketType.user):
            self.rate = rate
            self.per = float(per)
            self.ctype = ctype
            self.cmd_cldwn = commands.cooldown(rate, per, ctype)
        def __call__(self):
            def pred(ctx):
                if ctx.author.id in bot_developers:
                    return True
                ctx = self.cmd_cldwn(ctx)
                return commands.Command.is_on_cooldown(self, ctx)
            return commands.check(pred)

但是后来我不知道如何使用它。有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

我实际上是通过创建CooldownMapping类来找到解决方案的。