refactor: Simplify message deletion logic and improve response handling in DiscordRateLimiter
This commit is contained in:
@@ -54,16 +54,14 @@ export async function POST(request: Request) {
|
|||||||
if (!part.discord_message_id) continue;
|
if (!part.discord_message_id) continue;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res: Response = await rateLimiter.request(
|
await rateLimiter.request(
|
||||||
`/channels/${process.env.DISCORD_CHANNEL_ID}/messages/${part.discord_message_id}`,
|
`/channels/${process.env.DISCORD_CHANNEL_ID}/messages/${part.discord_message_id}`,
|
||||||
{
|
{
|
||||||
method: 'DELETE',
|
method: 'DELETE',
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
// No need to check res.ok or res.status here, as rateLimiter.request throws on !response.ok
|
||||||
if (!res.ok && res.status !== 404) { // Don't warn on 404 (already deleted)
|
// and returns null for 204.
|
||||||
console.warn(`Failed to delete message ${part.discord_message_id}. Status: ${res.status}`);
|
|
||||||
}
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(`Error deleting message ${part.discord_message_id}:`, e);
|
console.error(`Error deleting message ${part.discord_message_id}:`, e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ export class DiscordRateLimiter {
|
|||||||
throw new Error(`Discord API error: ${response.status} - ${errorData.message || JSON.stringify(errorData)}`);
|
throw new Error(`Discord API error: ${response.status} - ${errorData.message || JSON.stringify(errorData)}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response.status === 204 || response.headers.get('Content-Length') === '0') {
|
if (response.status === 204) {
|
||||||
return undefined as T;
|
return null as T; // Return null for 204 No Content
|
||||||
}
|
}
|
||||||
return response.json() as Promise<T>;
|
return response.json() as Promise<T>;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user