Update index.js
Browse files
index.js
CHANGED
|
@@ -17,6 +17,7 @@ let sessions = {};
|
|
| 17 |
let totalRequests = 0;
|
| 18 |
let requestTimestamps = [];
|
| 19 |
|
|
|
|
| 20 |
async function loadSessions() {
|
| 21 |
try {
|
| 22 |
const data = await fs.readFile(sessionFilePath, 'utf-8');
|
|
@@ -30,6 +31,7 @@ async function loadSessions() {
|
|
| 30 |
}
|
| 31 |
}
|
| 32 |
|
|
|
|
| 33 |
async function saveSessions() {
|
| 34 |
try {
|
| 35 |
await fs.writeFile(sessionFilePath, JSON.stringify(sessions, null, 2), 'utf-8');
|
|
@@ -38,6 +40,7 @@ async function saveSessions() {
|
|
| 38 |
}
|
| 39 |
}
|
| 40 |
|
|
|
|
| 41 |
function cleanUpSessions() {
|
| 42 |
const now = Date.now();
|
| 43 |
for (const username in sessions) {
|
|
@@ -47,6 +50,7 @@ function cleanUpSessions() {
|
|
| 47 |
}
|
| 48 |
}
|
| 49 |
|
|
|
|
| 50 |
async function blackboxChat(content, username = null, prompt = null, webSearchMode = true) {
|
| 51 |
const url = "https://www.blackbox.ai/api/chat";
|
| 52 |
const headers = {
|
|
@@ -135,9 +139,9 @@ app.use((req, res, next) => {
|
|
| 135 |
// Middleware untuk mencatat detail request
|
| 136 |
app.use((req, res, next) => {
|
| 137 |
console.log(`Received ${req.method} request for ${req.url}`);
|
| 138 |
-
console.log('Request Headers:',
|
| 139 |
-
if (req.method === 'POST') {
|
| 140 |
-
console.log('Request Body:',
|
| 141 |
}
|
| 142 |
next();
|
| 143 |
});
|
|
@@ -158,13 +162,14 @@ app.post('/', async (req, res) => {
|
|
| 158 |
});
|
| 159 |
|
| 160 |
app.get('/api/ai', async (req, res) => {
|
| 161 |
-
const { q } = req.
|
| 162 |
-
|
| 163 |
-
|
|
|
|
| 164 |
}
|
| 165 |
|
| 166 |
try {
|
| 167 |
-
const result = await blackboxChat(q);
|
| 168 |
res.json({ result });
|
| 169 |
} catch (error) {
|
| 170 |
console.error("Error:", error.message);
|
|
|
|
| 17 |
let totalRequests = 0;
|
| 18 |
let requestTimestamps = [];
|
| 19 |
|
| 20 |
+
// Fungsi untuk memuat sesi dari file
|
| 21 |
async function loadSessions() {
|
| 22 |
try {
|
| 23 |
const data = await fs.readFile(sessionFilePath, 'utf-8');
|
|
|
|
| 31 |
}
|
| 32 |
}
|
| 33 |
|
| 34 |
+
// Fungsi untuk menyimpan sesi ke file
|
| 35 |
async function saveSessions() {
|
| 36 |
try {
|
| 37 |
await fs.writeFile(sessionFilePath, JSON.stringify(sessions, null, 2), 'utf-8');
|
|
|
|
| 40 |
}
|
| 41 |
}
|
| 42 |
|
| 43 |
+
// Fungsi untuk membersihkan sesi yang sudah kedaluwarsa
|
| 44 |
function cleanUpSessions() {
|
| 45 |
const now = Date.now();
|
| 46 |
for (const username in sessions) {
|
|
|
|
| 50 |
}
|
| 51 |
}
|
| 52 |
|
| 53 |
+
// Fungsi untuk berkomunikasi dengan blackboxChat API
|
| 54 |
async function blackboxChat(content, username = null, prompt = null, webSearchMode = true) {
|
| 55 |
const url = "https://www.blackbox.ai/api/chat";
|
| 56 |
const headers = {
|
|
|
|
| 139 |
// Middleware untuk mencatat detail request
|
| 140 |
app.use((req, res, next) => {
|
| 141 |
console.log(`Received ${req.method} request for ${req.url}`);
|
| 142 |
+
console.log('Request Headers:', req.headers);
|
| 143 |
+
if (req.method === 'POST' || req.method === 'PUT') {
|
| 144 |
+
console.log('Request Body:', req.body);
|
| 145 |
}
|
| 146 |
next();
|
| 147 |
});
|
|
|
|
| 162 |
});
|
| 163 |
|
| 164 |
app.get('/api/ai', async (req, res) => {
|
| 165 |
+
const { q, content, prompt } = req.body; // Mengambil data dari req.body
|
| 166 |
+
|
| 167 |
+
if (!q && !content) {
|
| 168 |
+
return res.status(400).json({ error: "Either 'q' or 'content' is required" });
|
| 169 |
}
|
| 170 |
|
| 171 |
try {
|
| 172 |
+
const result = await blackboxChat(q || content, null, prompt || "Kamu adalah orang Indonesia yang pintar dalam berbahasa Indonesia", true);
|
| 173 |
res.json({ result });
|
| 174 |
} catch (error) {
|
| 175 |
console.error("Error:", error.message);
|