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);
|