aboutsummaryrefslogtreecommitdiff
path: root/mojang.ts
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2021-02-13 14:13:42 -0600
committermat <27899617+mat-1@users.noreply.github.com>2021-02-13 14:13:42 -0600
commit52e38809212133ef673d11bfa96ba3bb43c3644c (patch)
treef54408afd41cc64b64d5e82a3ad814b1bb55d4a7 /mojang.ts
parenta23103ec24128f2e24b93ad101ade6dfdd4758c3 (diff)
downloadskyblock-api-52e38809212133ef673d11bfa96ba3bb43c3644c.tar.gz
skyblock-api-52e38809212133ef673d11bfa96ba3bb43c3644c.tar.bz2
skyblock-api-52e38809212133ef673d11bfa96ba3bb43c3644c.zip
move stuff into src folder
Diffstat (limited to 'mojang.ts')
-rw-r--r--mojang.ts59
1 files changed, 0 insertions, 59 deletions
diff --git a/mojang.ts b/mojang.ts
deleted file mode 100644
index 746f674..0000000
--- a/mojang.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import fetch from 'node-fetch'
-import { Agent } from 'https'
-
-// We need to create an agent to prevent memory leaks
-const httpsAgent = new Agent({
- keepAlive: true
-})
-
-interface AshconHistoryItem {
- username: string
- changed_at?: string
-}
-
-interface AshconTextures {
- custom: boolean
- slim: boolean
- skin: { url: string, data: string }
- raw: { value: string, signature: string }
-}
-
-interface AshconResponse {
- uuid: string
- username: string
- username_history: AshconHistoryItem[]
- textures: AshconTextures
- created_at?: string
-}
-
-/**
- * Get mojang api data from ashcon.app
- */
-export async function mojangDataFromUser(user: string): Promise<AshconResponse> {
- console.log('cache miss :( mojangDataFromUser', user)
- const fetchResponse = await fetch(
- 'https://api.ashcon.app/mojang/v2/user/' + user,
- { agent: () => httpsAgent }
- )
- return await fetchResponse.json()
-}
-
-/**
- * Fetch the uuid from a user
- * @param user A user can be either a uuid or a username
- */
-export async function uuidFromUser(user: string): Promise<string> {
- const fetchJSON = await mojangDataFromUser(user)
- return fetchJSON.uuid.replace(/-/g, '')
-}
-
-/**
- * Fetch the username from a user
- * @param user A user can be either a uuid or a username
- */
-export async function usernameFromUser(user: string): Promise<string> {
- // get a minecraft uuid from a username, using ashcon.app's mojang api
- const fetchJSON = await mojangDataFromUser(user)
- return fetchJSON.username
-}
-