PluralKit/Myriad/Rest/Exceptions/RatelimitException.cs

26 lines
685 B
C#

using Myriad.Rest.Ratelimit;
namespace Myriad.Rest.Exceptions;
public class RatelimitException: Exception
{
public RatelimitException(string? message) : base(message) { }
}
public class RatelimitBucketExhaustedException: RatelimitException
{
public RatelimitBucketExhaustedException(Bucket bucket, TimeSpan retryAfter) : base(
"Rate limit bucket exhausted, request blocked")
{
Bucket = bucket;
RetryAfter = retryAfter;
}
public Bucket Bucket { get; }
public TimeSpan RetryAfter { get; }
}
public class GloballyRatelimitedException: RatelimitException
{
public GloballyRatelimitedException() : base("Global rate limit hit") { }
}