This commit is contained in:
2025-04-03 20:21:05 +02:00
parent 8333cbf7be
commit f595acff64
24 changed files with 2976 additions and 84 deletions

View File

@@ -0,0 +1,39 @@
import { env } from '@/env'
import ky from 'ky'
const DISCORD_URL = 'https://discord.com/api/v10'
const instance = ky.create({
prefixUrl: DISCORD_URL,
headers: {
Authorization: `Bot ${env.DISCORD_BOT_TOKEN}`,
},
timeout: 10000,
})
export const discord_service = {
get_user_by_id: async (user_id: string) => {
const res = await instance.get(`users/${user_id}`)
const res_json = await res.json<DiscordUser>()
return {
...res_json,
avatar_url: `https://cdn.discordapp.com/avatars/${user_id}/${res_json.avatar}.png`,
}
},
}
export type DiscordUser = {
id: string
username: string
avatar: string
discriminator: string
public_flags: number
flags: number
banner?: unknown
accent_color?: unknown
global_name: string
avatar_decoration_data?: unknown
collectibles?: unknown
banner_color?: unknown
clan?: unknown
primary_guild?: unknown
}

View File

@@ -0,0 +1,33 @@
import ky from 'ky'
const NEATQUEUE_URL = 'https://api.neatqueue.com/api'
const instance = ky.create({
prefixUrl: NEATQUEUE_URL,
timeout: 10000,
})
const BMM_SERVER_ID = '1352157545547960350'
export const neatqueue_service = {
get_leaderboard: async (channel_id: string) => {
const response = await instance.get(
`leaderboard/${BMM_SERVER_ID}/${channel_id}`
)
return response.json()
},
get_history: async (
player_ids: string[],
server_id: string = BMM_SERVER_ID
) => {
const response = await instance
.get(`history/${server_id}`, {
searchParams: {
server_id,
},
})
.json()
return response
},
}