mirror of https://github.com/openclaw/openclaw.git
fix(ci): harden discord rate-limit helpers
This commit is contained in:
parent
232a96a0dc
commit
ac68494dae
|
|
@ -45,12 +45,17 @@ function createCompatRateLimitError(
|
|||
body: { message: string; retry_after: number; global: boolean },
|
||||
request?: Request,
|
||||
): RateLimitError {
|
||||
const compatRequest =
|
||||
request ??
|
||||
new Request("https://discord.com/api/v10/applications/commands", {
|
||||
method: "PUT",
|
||||
});
|
||||
const RateLimitErrorCtor = RateLimitError as unknown as new (
|
||||
response: Response,
|
||||
body: { message: string; retry_after: number; global: boolean },
|
||||
request?: Request,
|
||||
) => RateLimitError;
|
||||
return new RateLimitErrorCtor(response, body, request);
|
||||
return new RateLimitErrorCtor(response, body, compatRequest);
|
||||
}
|
||||
|
||||
function createConfigWithDiscordAccount(overrides: Record<string, unknown> = {}): OpenClawConfig {
|
||||
|
|
@ -653,6 +658,7 @@ describe("monitorDiscordProvider", () => {
|
|||
retry_after: 193.632,
|
||||
global: false,
|
||||
},
|
||||
request,
|
||||
);
|
||||
rateLimitError.discordCode = 30034;
|
||||
clientHandleDeployRequestMock.mockRejectedValueOnce(rateLimitError);
|
||||
|
|
|
|||
|
|
@ -28,12 +28,17 @@ function createCompatRateLimitError(
|
|||
body: { message: string; retry_after: number; global: boolean },
|
||||
request?: Request,
|
||||
): RateLimitError {
|
||||
const compatRequest =
|
||||
request ??
|
||||
new Request("https://discord.com/api/v10/channels/789/messages", {
|
||||
method: "POST",
|
||||
});
|
||||
const RateLimitErrorCtor = RateLimitError as unknown as new (
|
||||
response: Response,
|
||||
body: { message: string; retry_after: number; global: boolean },
|
||||
request?: Request,
|
||||
) => RateLimitError;
|
||||
return new RateLimitErrorCtor(response, body, request);
|
||||
return new RateLimitErrorCtor(response, body, compatRequest);
|
||||
}
|
||||
|
||||
beforeAll(async () => {
|
||||
|
|
@ -436,11 +441,15 @@ function createMockRateLimitError(retryAfter = 0.001): RateLimitError {
|
|||
"X-RateLimit-Bucket": "test-bucket",
|
||||
},
|
||||
});
|
||||
return createCompatRateLimitError(response, {
|
||||
message: "You are being rate limited.",
|
||||
retry_after: retryAfter,
|
||||
global: false,
|
||||
});
|
||||
return createCompatRateLimitError(
|
||||
response,
|
||||
{
|
||||
message: "You are being rate limited.",
|
||||
retry_after: retryAfter,
|
||||
global: false,
|
||||
},
|
||||
request,
|
||||
);
|
||||
}
|
||||
|
||||
describe("retry rate limits", () => {
|
||||
|
|
|
|||
|
|
@ -34,12 +34,17 @@ function createRateLimitError(
|
|||
body: { message: string; retry_after: number; global: boolean },
|
||||
request?: Request,
|
||||
): RateLimitError {
|
||||
const compatRequest =
|
||||
request ??
|
||||
new Request("https://discord.com/api/v10/channels/voice/messages", {
|
||||
method: "POST",
|
||||
});
|
||||
const RateLimitErrorCtor = RateLimitError as unknown as new (
|
||||
response: Response,
|
||||
body: { message: string; retry_after: number; global: boolean },
|
||||
request?: Request,
|
||||
) => RateLimitError;
|
||||
return new RateLimitErrorCtor(response, body, request);
|
||||
return new RateLimitErrorCtor(response, body, compatRequest);
|
||||
}
|
||||
|
||||
export type VoiceMessageMetadata = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue