diff options
author | mat <27899617+mat-1@users.noreply.github.com> | 2021-03-24 23:26:07 -0500 |
---|---|---|
committer | mat <27899617+mat-1@users.noreply.github.com> | 2021-03-24 23:26:07 -0500 |
commit | cbfcd38f22871a9b1520a66014288df62afb61fe (patch) | |
tree | e182ab6741d1e39e39c970a882e48126cda9882a /build/mojang.js | |
parent | ef809b7a057ca3aca993863502ee204d44b3dfa0 (diff) | |
download | skyblock-api-cbfcd38f22871a9b1520a66014288df62afb61fe.tar.gz skyblock-api-cbfcd38f22871a9b1520a66014288df62afb61fe.tar.bz2 skyblock-api-cbfcd38f22871a9b1520a66014288df62afb61fe.zip |
tsc
Diffstat (limited to 'build/mojang.js')
-rw-r--r-- | build/mojang.js | 68 |
1 files changed, 24 insertions, 44 deletions
diff --git a/build/mojang.js b/build/mojang.js index ae0e1e6..f18875d 100644 --- a/build/mojang.js +++ b/build/mojang.js @@ -6,7 +6,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.usernameFromUser = exports.mojangDataFromUser = exports.uuidFromUser = exports.usernameFromUuid = exports.uuidFromUsername = exports.mojangDataFromUuid = void 0; +exports.profileFromUser = exports.profileFromUsername = exports.profileFromUuid = void 0; const node_fetch_1 = __importDefault(require("node-fetch")); const https_1 = require("https"); const util_1 = require("./util"); @@ -17,7 +17,7 @@ const httpsAgent = new https_1.Agent({ /** * Get mojang api data from the session server */ -async function mojangDataFromUuid(uuid) { +async function profileFromUuid(uuid) { const fetchResponse = await node_fetch_1.default( // using mojang directly is faster than ashcon lol, also mojang removed the ratelimits from here `https://sessionserver.mojang.com/session/minecraft/profile/${util_1.undashUuid(uuid)}`, { agent: () => httpsAgent }); @@ -27,55 +27,35 @@ async function mojangDataFromUuid(uuid) { } catch { // if it errors, just return null - return { - uuid: null, - username: null - }; + return { uuid: null, username: null }; } return { uuid: data.id, username: data.name }; } -exports.mojangDataFromUuid = mojangDataFromUuid; -async function uuidFromUsername(username) { +exports.profileFromUuid = profileFromUuid; +async function profileFromUsername(username) { // since we don't care about anything other than the uuid, we can use /uuid/ instead of /user/ - const fetchResponse = await node_fetch_1.default(`https://api.ashcon.app/mojang/v2/uuid/${username}`, { agent: () => httpsAgent }); - const userUuid = await fetchResponse.text(); - return userUuid.replace(/-/g, ''); -} -exports.uuidFromUsername = uuidFromUsername; -async function usernameFromUuid(uuid) { - const userJson = await mojangDataFromUuid(uuid); - return userJson.username; -} -exports.usernameFromUuid = usernameFromUuid; -/** - * Fetch the uuid from a user - * @param user A user can be either a uuid or a username - */ -async function uuidFromUser(user) { - if (util_1.isUuid(user)) - // already a uuid, just return it undashed - return util_1.undashUuid(user); - else - return await uuidFromUsername(user); + const fetchResponse = await node_fetch_1.default(`https://api.mojang.com/users/profiles/minecraft/${username}`, { agent: () => httpsAgent }); + let data; + try { + data = await fetchResponse.json(); + } + catch { + return { uuid: null, username: null }; + } + return { + uuid: data.id, + username: data.name + }; } -exports.uuidFromUser = uuidFromUser; -async function mojangDataFromUser(user) { - if (!util_1.isUuid(user)) - return await mojangDataFromUuid(await uuidFromUsername(user)); +exports.profileFromUsername = profileFromUsername; +async function profileFromUser(user) { + if (util_1.isUuid(user)) { + return await profileFromUuid(user); + } else - return await mojangDataFromUuid(user); -} -exports.mojangDataFromUser = mojangDataFromUser; -/** - * Fetch the username from a user - * @param user A user can be either a uuid or a username - */ -async function usernameFromUser(user) { - // we do this to fix the capitalization - const data = await mojangDataFromUser(user); - return data.username; + return await profileFromUsername(user); } -exports.usernameFromUser = usernameFromUser; +exports.profileFromUser = profileFromUser; |