Add channel category cooldown bucket type

This commit is contained in:
Dice
2018-11-04 01:51:03 -04:00
committed by Rapptz
parent 53c7d940c9
commit 5a585ebf20
2 changed files with 9 additions and 5 deletions

View File

@ -30,11 +30,12 @@ import time
__all__ = ['BucketType', 'Cooldown', 'CooldownMapping']
class BucketType(enum.Enum):
default = 0
user = 1
guild = 2
channel = 3
member = 4
default = 0
user = 1
guild = 2
channel = 3
member = 4
category = 5
class Cooldown:
__slots__ = ('rate', 'per', 'type', '_window', '_tokens', '_last')
@ -115,6 +116,8 @@ class CooldownMapping:
return msg.channel.id
elif bucket_type is BucketType.member:
return ((msg.guild and msg.guild.id), msg.author.id)
elif bucket_type is BucketType.category:
return (msg.channel.category or msg.channel).id
def _verify_cache_integrity(self):
# we want to delete all cache objects that haven't been used