aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/hypixelApi.js17
-rw-r--r--build/index.js2
2 files changed, 17 insertions, 2 deletions
diff --git a/build/hypixelApi.js b/build/hypixelApi.js
index 9f54ef2..59a798c 100644
--- a/build/hypixelApi.js
+++ b/build/hypixelApi.js
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
var _a, _b, _c;
Object.defineProperty(exports, "__esModule", { value: true });
-exports.sendApiRequest = exports.chooseApiKey = void 0;
+exports.sendApiRequest = exports.getKeyUsage = exports.chooseApiKey = void 0;
/**
* Fetch the raw Hypixel API
*/
@@ -27,7 +27,7 @@ function chooseApiKey() {
// find the api key with the lowest amount of uses
let bestKeyUsage = null;
let bestKey = null;
- for (var key of util_1.shuffle(apiKeys)) {
+ for (let key of util_1.shuffle(apiKeys)) {
const keyUsage = apiKeyUsage[key];
// if the key has never been used before, use it
if (!keyUsage)
@@ -44,6 +44,19 @@ function chooseApiKey() {
return bestKey;
}
exports.chooseApiKey = chooseApiKey;
+function getKeyUsage() {
+ let keyLimit = 0;
+ let keyUsage = 0;
+ for (let key of Object.values(apiKeyUsage)) {
+ keyLimit += key.limit;
+ keyUsage += key.limit - key.remaining;
+ }
+ return {
+ limit: keyLimit,
+ usage: keyUsage
+ };
+}
+exports.getKeyUsage = getKeyUsage;
/** Send an HTTP request to the Hypixel API */
async function sendApiRequest({ path, key, args }) {
// Send a raw http request to api.hypixel.net, and return the parsed json
diff --git a/build/index.js b/build/index.js
index 1f628ea..f8479f3 100644
--- a/build/index.js
+++ b/build/index.js
@@ -29,6 +29,7 @@ const express_rate_limit_1 = __importDefault(require("express-rate-limit"));
const constants = __importStar(require("./constants"));
const discord = __importStar(require("./discord"));
const express_1 = __importDefault(require("express"));
+const hypixelApi_1 = require("./hypixelApi");
const app = express_1.default();
exports.debug = false;
const mainSiteUrl = 'https://skyblock.matdoes.dev';
@@ -59,6 +60,7 @@ app.get('/', async (req, res) => {
finishedCachingRawLeaderboards: database_1.finishedCachingRawLeaderboards,
leaderboardUpdateMemberQueueSize: database_1.leaderboardUpdateMemberQueue.size,
leaderboardUpdateProfileQueueSize: database_1.leaderboardUpdateProfileQueue.size,
+ key: hypixelApi_1.getKeyUsage()
});
});
app.get('/player/:user', async (req, res) => {