deleteMessage($channelId, $discordMessageId); usleep(500000); // Wait 500ms to avoid rate limiting } catch (Exception $e) { error_log("Failed to delete message chunk {$discordMessageId}: " . $e->getMessage()); $all_deleted = false; // Mark that at least one failed } } // 2. If all chunks were deleted (or if there was only one), delete from our database if ($all_deleted) { $stmt = $pdo->prepare("DELETE FROM sent_messages WHERE id = ?"); $stmt->execute([$sentMessageId]); header('Location: ../sent_messages.php?success=deleted&platform=Discord'); } else { // If some failed, we don't delete the entry, so it can be retried. // We could also add more sophisticated logic here, like storing partial success. header('Location: ../sent_messages.php?error=delete_failed_partial&platform=Discord'); } exit(); } catch (Exception $e) { error_log("Discord message deletion failed: " . $e->getMessage()); header('Location: ../sent_messages.php?error=delete_failed&platform=Discord&message=' . urlencode($e->getMessage())); exit(); } } // Fallback redirect header('Location: ../sent_messages.php'); ?>