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;
|
||||
|
||||
try {
|
||||
const res: Response = await rateLimiter.request(
|
||||
await rateLimiter.request(
|
||||
`/channels/${process.env.DISCORD_CHANNEL_ID}/messages/${part.discord_message_id}`,
|
||||
{
|
||||
method: 'DELETE',
|
||||
}
|
||||
);
|
||||
|
||||
if (!res.ok && res.status !== 404) { // Don't warn on 404 (already deleted)
|
||||
console.warn(`Failed to delete message ${part.discord_message_id}. Status: ${res.status}`);
|
||||
}
|
||||
// No need to check res.ok or res.status here, as rateLimiter.request throws on !response.ok
|
||||
// and returns null for 204.
|
||||
} catch (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)}`);
|
||||
}
|
||||
|
||||
if (response.status === 204 || response.headers.get('Content-Length') === '0') {
|
||||
return undefined as T;
|
||||
if (response.status === 204) {
|
||||
return null as T; // Return null for 204 No Content
|
||||
}
|
||||
return response.json() as Promise<T>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user