Spaces:
Running
Running
Update index.js
Browse files
index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
const http = require("http");
|
| 2 |
const WebSocket = require("ws");
|
| 3 |
const axios = require("axios");
|
| 4 |
const express = require("express");
|
|
@@ -8,9 +8,6 @@ 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 |
-
// ⚠️ Insert your Facebook Page Access Token here
|
| 12 |
-
const PAGE_ACCESS_TOKEN = "EACNZBW6MP6FkBOwHARvCANlYC1B8Kk3b0PAZCGZCCRchLlVE2FaOO1DUqWZAWJFh3wOUepHVSVxG1ndJEeJkUcdRIPK73PZBk9jTx2NzqLbHCYJnFH3ieh4ZBLUIhKGddnHWqQ92TrH5cBatn1VNlLYkaZAFoIZCz43ZB8YUslk7Ywb8ZB3c4i3gg5ZBAvjzQEZAnNxqC0J6jViGAAZDZD";
|
| 13 |
-
|
| 14 |
let ws = null;
|
| 15 |
let pingInterval = null;
|
| 16 |
let lastUpdate = Date.now();
|
|
@@ -18,55 +15,9 @@ let fallbackSecondTriggered = false;
|
|
| 18 |
let wsConnected = false;
|
| 19 |
const startTime = Date.now();
|
| 20 |
|
| 21 |
-
// Track delete progress
|
| 22 |
-
let deletedCount = 0;
|
| 23 |
-
let deleteRunning = false;
|
| 24 |
-
|
| 25 |
// Express app
|
| 26 |
const app = express();
|
| 27 |
|
| 28 |
-
/* =============== AUTO DELETE POSTS ================= */
|
| 29 |
-
async function deleteAllPosts() {
|
| 30 |
-
if (deleteRunning) return; // avoid multiple runs
|
| 31 |
-
deleteRunning = true;
|
| 32 |
-
console.log("[DELETE] Starting auto-delete for all posts...");
|
| 33 |
-
|
| 34 |
-
try {
|
| 35 |
-
let nextPage = `https://graph.facebook.com/v17.0/me/posts?access_token=${PAGE_ACCESS_TOKEN}&limit=100`;
|
| 36 |
-
|
| 37 |
-
while (nextPage) {
|
| 38 |
-
const res = await axios.get(nextPage);
|
| 39 |
-
const posts = res.data.data;
|
| 40 |
-
|
| 41 |
-
if (!posts || posts.length === 0) break;
|
| 42 |
-
|
| 43 |
-
for (let post of posts) {
|
| 44 |
-
try {
|
| 45 |
-
await axios.delete(`https://graph.facebook.com/v17.0/${post.id}?access_token=${PAGE_ACCESS_TOKEN}`);
|
| 46 |
-
deletedCount++;
|
| 47 |
-
console.log(`[DELETE] Deleted post ID: ${post.id} (Total deleted: ${deletedCount})`);
|
| 48 |
-
} catch (err) {
|
| 49 |
-
console.error(`[DELETE] Failed to delete ${post.id}:`, err.response?.data || err.message);
|
| 50 |
-
}
|
| 51 |
-
}
|
| 52 |
-
|
| 53 |
-
// Move to next page if available
|
| 54 |
-
nextPage = res.data.paging?.next || null;
|
| 55 |
-
}
|
| 56 |
-
|
| 57 |
-
console.log(`[FINISHED] Auto-delete finished. Total deleted: ${deletedCount}`);
|
| 58 |
-
} catch (err) {
|
| 59 |
-
console.error("[DELETE] Error while fetching posts:", err.response?.data || err.message);
|
| 60 |
-
} finally {
|
| 61 |
-
deleteRunning = false;
|
| 62 |
-
}
|
| 63 |
-
}
|
| 64 |
-
|
| 65 |
-
// Run auto-delete immediately at startup
|
| 66 |
-
deleteAllPosts();
|
| 67 |
-
|
| 68 |
-
/* ================================================== */
|
| 69 |
-
|
| 70 |
// WebSocket connection
|
| 71 |
function connectWebSocket() {
|
| 72 |
if (ws) {
|
|
@@ -154,7 +105,7 @@ setInterval(async () => {
|
|
| 154 |
} catch (err) {
|
| 155 |
console.error("[ARIA API] Fetch failed:", err.message);
|
| 156 |
}
|
| 157 |
-
},
|
| 158 |
|
| 159 |
// 🖥️ HTTP status API
|
| 160 |
app.get("/status", (req, res) => {
|
|
@@ -170,9 +121,7 @@ app.get("/status", (req, res) => {
|
|
| 170 |
secondsSinceLastUpdate,
|
| 171 |
serverTime: new Date().toLocaleString(),
|
| 172 |
uptimeSeconds: uptime,
|
| 173 |
-
port: PORT
|
| 174 |
-
deletedPosts: deletedCount,
|
| 175 |
-
deleteRunning
|
| 176 |
};
|
| 177 |
|
| 178 |
res.json(status);
|
|
|
|
| 1 |
+
.const http = require("http");
|
| 2 |
const WebSocket = require("ws");
|
| 3 |
const axios = require("axios");
|
| 4 |
const express = require("express");
|
|
|
|
| 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 |
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) {
|
|
|
|
| 105 |
} catch (err) {
|
| 106 |
console.error("[ARIA API] Fetch failed:", err.message);
|
| 107 |
}
|
| 108 |
+
}, 5 * 60 * 1000);
|
| 109 |
|
| 110 |
// 🖥️ HTTP status API
|
| 111 |
app.get("/status", (req, res) => {
|
|
|
|
| 121 |
secondsSinceLastUpdate,
|
| 122 |
serverTime: new Date().toLocaleString(),
|
| 123 |
uptimeSeconds: uptime,
|
| 124 |
+
port: PORT
|
|
|
|
|
|
|
| 125 |
};
|
| 126 |
|
| 127 |
res.json(status);
|