Я делаю API для моего Discord Bot, который позволяет вам получать данные о чьем-то уровне и XP. Однако это удается. В этом есть один существенный недостаток, заключающийся в том, что для правильного обновления данных в объекте JSON. Мой бот должен быть перезапущен.
Вот код:
const http = require('http');
const express = require('express');
const app = express();
const db = require("quick.db")
let index = 0;
app.get("/", (request, response) => {
response.sendStatus(200);
});
app.listen(process.env.PORT);
setInterval(() => {
http.get(`http://${process.env.PROJECT_DOMAIN}.glitch.me/`);
}, 20000);
require('./index.js')
let levelldb = db.all().filter(data => data.ID.startsWith(`Leveling`)).sort((a, b) => b.data - a.data);
{ levelldb.length = 10; }
var levelldbs = function () {
app.get('/api/levelldb', async function (req, res) {
res.send(levelldb)
})
console.log(`Refreshed`)
}
levelldbs();
Вот как это выглядит, когда я пытаюсь посетить website.com/api/levelldb - это успешно , Примечание: пожалуйста, игнорируйте ноль, это полностью означает, что данные ожидают сбора и будут отображаться там в конце концов, когда кто-то заработает очки опыта и уровни.
Нет ошибки с код, он работает так, как должен. Поэтому мне интересно, как я могу получить данные для автоматического обновления без перезапуска проекта. Я пытался использовать методы setInterval и setTimeout, но мне не удалось это сработать.
Хорошо, я знаю, что меня раздражает каждый раз перезапускаться, чтобы показать данные, но я просто хочу знаю, смогу ли я сделать