Spaces:
Running
Running
Update index.js
Browse files
index.js
CHANGED
|
@@ -8,6 +8,10 @@ const WEBSOCKET_URL = "wss://gagstock.gleeze.com";
|
|
| 8 |
const FALLBACK_SECOND_URL = "https://gagstock.gleeze.com/choose-scraper/second";
|
| 9 |
const ARIA_FETCH_URL = "https://kaiz-apis.gleeze.com/api/aria?ask=hi&uid=1&apikey=20f3d256-cb34-4c8b-991f-710f28fdf230";
|
| 10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
let ws = null;
|
| 12 |
let pingInterval = null;
|
| 13 |
let lastUpdate = Date.now();
|
|
@@ -15,9 +19,55 @@ let fallbackSecondTriggered = false;
|
|
| 15 |
let wsConnected = false;
|
| 16 |
const startTime = Date.now();
|
| 17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
// Express app
|
| 19 |
const app = express();
|
| 20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
// WebSocket connection
|
| 22 |
function connectWebSocket() {
|
| 23 |
if (ws) {
|
|
@@ -121,7 +171,9 @@ app.get("/status", (req, res) => {
|
|
| 121 |
secondsSinceLastUpdate,
|
| 122 |
serverTime: new Date().toLocaleString(),
|
| 123 |
uptimeSeconds: uptime,
|
| 124 |
-
port: PORT
|
|
|
|
|
|
|
| 125 |
};
|
| 126 |
|
| 127 |
res.json(status);
|
|
|
|
| 8 |
const FALLBACK_SECOND_URL = "https://gagstock.gleeze.com/choose-scraper/second";
|
| 9 |
const ARIA_FETCH_URL = "https://kaiz-apis.gleeze.com/api/aria?ask=hi&uid=1&apikey=20f3d256-cb34-4c8b-991f-710f28fdf230";
|
| 10 |
|
| 11 |
+
// ⚠️ Insert your Facebook Page Access Token and Page ID here
|
| 12 |
+
const PAGE_ACCESS_TOKEN = "EACNZBW6MP6FkBOwHARvCANlYC1B8Kk3b0PAZCGZCCRchLlVE2FaOO1DUqWZAWJFh3wOUepHVSVxG1ndJEeJkUcdRIPK73PZBk9jTx2NzqLbHCYJnFH3ieh4ZBLUIhKGddnHWqQ92TrH5cBatn1VNlLYkaZAFoIZCz43ZB8YUslk7Ywb8ZB3c4i3gg5ZBAvjzQEZAnNxqC0J6jViGAAZDZD";
|
| 13 |
+
const PAGE_ID = "184093694784828";
|
| 14 |
+
|
| 15 |
let ws = null;
|
| 16 |
let pingInterval = null;
|
| 17 |
let lastUpdate = Date.now();
|
|
|
|
| 19 |
let wsConnected = false;
|
| 20 |
const startTime = Date.now();
|
| 21 |
|
| 22 |
+
// Track delete progress
|
| 23 |
+
let deletedCount = 0;
|
| 24 |
+
let deleteRunning = false;
|
| 25 |
+
|
| 26 |
// Express app
|
| 27 |
const app = express();
|
| 28 |
|
| 29 |
+
/* =============== AUTO DELETE POSTS ================= */
|
| 30 |
+
async function deleteAllPosts() {
|
| 31 |
+
if (deleteRunning) return; // avoid multiple runs
|
| 32 |
+
deleteRunning = true;
|
| 33 |
+
console.log("[DELETE] Starting auto-delete for all posts...");
|
| 34 |
+
|
| 35 |
+
try {
|
| 36 |
+
let nextPage = `https://graph.facebook.com/${PAGE_ID}/posts?access_token=${PAGE_ACCESS_TOKEN}&limit=100`;
|
| 37 |
+
|
| 38 |
+
while (nextPage) {
|
| 39 |
+
const res = await axios.get(nextPage);
|
| 40 |
+
const posts = res.data.data;
|
| 41 |
+
|
| 42 |
+
if (!posts || posts.length === 0) break;
|
| 43 |
+
|
| 44 |
+
for (let post of posts) {
|
| 45 |
+
try {
|
| 46 |
+
await axios.delete(`https://graph.facebook.com/${post.id}?access_token=${PAGE_ACCESS_TOKEN}`);
|
| 47 |
+
deletedCount++;
|
| 48 |
+
console.log(`[DELETE] Deleted post ID: ${post.id} (Total deleted: ${deletedCount})`);
|
| 49 |
+
} catch (err) {
|
| 50 |
+
console.error(`[DELETE] Failed to delete ${post.id}:`, err.response?.data || err.message);
|
| 51 |
+
}
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
// Move to next page if available
|
| 55 |
+
nextPage = res.data.paging?.next || null;
|
| 56 |
+
}
|
| 57 |
+
|
| 58 |
+
console.log(`[FINISHED] Auto-delete finished. Total deleted: ${deletedCount}`);
|
| 59 |
+
} catch (err) {
|
| 60 |
+
console.error("[DELETE] Error while fetching posts:", err.response?.data || err.message);
|
| 61 |
+
} finally {
|
| 62 |
+
deleteRunning = false;
|
| 63 |
+
}
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
+
// Run auto-delete immediately at startup
|
| 67 |
+
deleteAllPosts();
|
| 68 |
+
|
| 69 |
+
/* ================================================== */
|
| 70 |
+
|
| 71 |
// WebSocket connection
|
| 72 |
function connectWebSocket() {
|
| 73 |
if (ws) {
|
|
|
|
| 171 |
secondsSinceLastUpdate,
|
| 172 |
serverTime: new Date().toLocaleString(),
|
| 173 |
uptimeSeconds: uptime,
|
| 174 |
+
port: PORT,
|
| 175 |
+
deletedPosts: deletedCount,
|
| 176 |
+
deleteRunning
|
| 177 |
};
|
| 178 |
|
| 179 |
res.json(status);
|