Fix rate limit

This commit is contained in:
SeanOMik 2020-06-17 22:17:46 -05:00
parent ef1d87a311
commit a4055c5fd9
No known key found for this signature in database
GPG Key ID: FA4D55AC05268A88
1 changed files with 17 additions and 9 deletions

View File

@ -69,19 +69,27 @@ proc waitForRateLimits*(objectID: snowflake, bucketType: RateLimitBucketType) =
else:
case bucketType:
of RateLimitBucketType.channel:
if (channelRatelimitBucket.hasKey(objectID)):
rlmt = channelRatelimitBucket[objectID]
else:
channelRatelimitBucket.add(objectID, newRateLimit())
rlmt = channelRatelimitBucket[objectID]
discard
of RateLimitBucketType.guild:
if (guildRatelimitBucket.hasKey(objectID)):
rlmt = guildRatelimitBucket[objectID]
else:
guildRatelimitBucket.add(objectID, newRateLimit())
rlmt = guildRatelimitBucket[objectID]
discard
of RateLimitBucketType.webhook:
if (webhookRatelimitBucket.hasKey(objectID)):
rlmt = webhookRatelimitBucket[objectID]
else:
webhookRatelimitBucket.add(objectID, newRateLimit())
rlmt = webhookRatelimitBucket[objectID]
discard
of RateLimitBucketType.global:
rlmt = globalRateLimit
discard
if (rlmt.remainingLimit == 0):
if (rlmt != nil and rlmt.remainingLimit == 0):
let millisecondTime: float = rlmt.ratelimitReset * 1000 - epochTime() * 1000
if (millisecondTime > 0):