misc: Change ratelimit messages (#1678)
This commit is contained in:
@@ -46,12 +46,12 @@ namespace Discord.Rest
|
|||||||
_restLogger = LogManager.CreateLogger("Rest");
|
_restLogger = LogManager.CreateLogger("Rest");
|
||||||
_isFirstLogin = config.DisplayInitialLog;
|
_isFirstLogin = config.DisplayInitialLog;
|
||||||
|
|
||||||
ApiClient.RequestQueue.RateLimitTriggered += async (id, info) =>
|
ApiClient.RequestQueue.RateLimitTriggered += async (id, info, endpoint) =>
|
||||||
{
|
{
|
||||||
if (info == null)
|
if (info == null)
|
||||||
await _restLogger.VerboseAsync($"Preemptive Rate limit triggered: {id?.ToString() ?? "null"}").ConfigureAwait(false);
|
await _restLogger.VerboseAsync($"Preemptive Rate limit triggered: {endpoint} {(id.IsHashBucket ? $"(Bucket: {id.BucketHash})" : "")}").ConfigureAwait(false);
|
||||||
else
|
else
|
||||||
await _restLogger.WarningAsync($"Rate limit triggered: {id?.ToString() ?? "null"}").ConfigureAwait(false);
|
await _restLogger.WarningAsync($"Rate limit triggered: {endpoint} {(id.IsHashBucket ? $"(Bucket: {id.BucketHash})" : "")}").ConfigureAwait(false);
|
||||||
};
|
};
|
||||||
ApiClient.SentRequest += async (method, endpoint, millis) => await _restLogger.VerboseAsync($"{method} {endpoint}: {millis} ms").ConfigureAwait(false);
|
ApiClient.SentRequest += async (method, endpoint, millis) => await _restLogger.VerboseAsync($"{method} {endpoint}: {millis} ms").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ namespace Discord.Net.Queue
|
|||||||
{
|
{
|
||||||
internal class RequestQueue : IDisposable
|
internal class RequestQueue : IDisposable
|
||||||
{
|
{
|
||||||
public event Func<BucketId, RateLimitInfo?, Task> RateLimitTriggered;
|
public event Func<BucketId, RateLimitInfo?, string, Task> RateLimitTriggered;
|
||||||
|
|
||||||
private readonly ConcurrentDictionary<BucketId, object> _buckets;
|
private readonly ConcurrentDictionary<BucketId, object> _buckets;
|
||||||
private readonly SemaphoreSlim _tokenLock;
|
private readonly SemaphoreSlim _tokenLock;
|
||||||
@@ -121,9 +121,9 @@ namespace Discord.Net.Queue
|
|||||||
}
|
}
|
||||||
return (RequestBucket)obj;
|
return (RequestBucket)obj;
|
||||||
}
|
}
|
||||||
internal async Task RaiseRateLimitTriggered(BucketId bucketId, RateLimitInfo? info)
|
internal async Task RaiseRateLimitTriggered(BucketId bucketId, RateLimitInfo? info, string endpoint)
|
||||||
{
|
{
|
||||||
await RateLimitTriggered(bucketId, info).ConfigureAwait(false);
|
await RateLimitTriggered(bucketId, info, endpoint).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
internal (RequestBucket, BucketId) UpdateBucketHash(BucketId id, string discordHash)
|
internal (RequestBucket, BucketId) UpdateBucketHash(BucketId id, string discordHash)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ namespace Discord.Net.Queue
|
|||||||
#endif
|
#endif
|
||||||
UpdateRateLimit(id, request, info, true);
|
UpdateRateLimit(id, request, info, true);
|
||||||
}
|
}
|
||||||
await _queue.RaiseRateLimitTriggered(Id, info).ConfigureAwait(false);
|
await _queue.RaiseRateLimitTriggered(Id, info, $"{request.Method} {request.Endpoint}").ConfigureAwait(false);
|
||||||
continue; //Retry
|
continue; //Retry
|
||||||
case HttpStatusCode.BadGateway: //502
|
case HttpStatusCode.BadGateway: //502
|
||||||
#if DEBUG_LIMITS
|
#if DEBUG_LIMITS
|
||||||
@@ -187,7 +187,7 @@ namespace Discord.Net.Queue
|
|||||||
if (!isRateLimited)
|
if (!isRateLimited)
|
||||||
{
|
{
|
||||||
isRateLimited = true;
|
isRateLimited = true;
|
||||||
await _queue.RaiseRateLimitTriggered(Id, null).ConfigureAwait(false);
|
await _queue.RaiseRateLimitTriggered(Id, null, $"{request.Method} {request.Endpoint}").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ThrowRetryLimit(request);
|
ThrowRetryLimit(request);
|
||||||
|
|||||||
@@ -74,12 +74,12 @@ namespace Discord.Webhook
|
|||||||
|
|
||||||
_restLogger = LogManager.CreateLogger("Rest");
|
_restLogger = LogManager.CreateLogger("Rest");
|
||||||
|
|
||||||
ApiClient.RequestQueue.RateLimitTriggered += async (id, info) =>
|
ApiClient.RequestQueue.RateLimitTriggered += async (id, info, endpoint) =>
|
||||||
{
|
{
|
||||||
if (info == null)
|
if (info == null)
|
||||||
await _restLogger.VerboseAsync($"Preemptive Rate limit triggered: {id?.ToString() ?? "null"}").ConfigureAwait(false);
|
await _restLogger.VerboseAsync($"Preemptive Rate limit triggered: {endpoint} {(id.IsHashBucket ? $"(Bucket: {id.BucketHash})" : "")}").ConfigureAwait(false);
|
||||||
else
|
else
|
||||||
await _restLogger.WarningAsync($"Rate limit triggered: {id?.ToString() ?? "null"}").ConfigureAwait(false);
|
await _restLogger.WarningAsync($"Rate limit triggered: {endpoint} {(id.IsHashBucket ? $"(Bucket: {id.BucketHash})" : "")}").ConfigureAwait(false);
|
||||||
};
|
};
|
||||||
ApiClient.SentRequest += async (method, endpoint, millis) => await _restLogger.VerboseAsync($"{method} {endpoint}: {millis} ms").ConfigureAwait(false);
|
ApiClient.SentRequest += async (method, endpoint, millis) => await _restLogger.VerboseAsync($"{method} {endpoint}: {millis} ms").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user