Fix transpiler + Ajout /freebox

This commit is contained in:
Angels-dev
2024-03-25 00:05:18 +01:00
parent 94c7fc1c98
commit 2aa66bdf76
10 changed files with 605 additions and 72 deletions

View File

@@ -13,7 +13,8 @@ export default async (guild: Guild) => {
disco: { enabled: false }
},
guildRss: { enabled: false, feeds: [] },
guildAmp: { enabled: false }
guildAmp: { enabled: false },
guildFbx: { enabled: false }
})
await guildProfile.save().catch(console.error)
return guildProfile

79
src/utils/freebox.ts Normal file
View File

@@ -0,0 +1,79 @@
import axios from 'axios'
import https from 'https'
export interface App {
app_id: string
app_name: string
app_version: string
device_name: string
}
export const Core = {
async Version(host: string, httpsAgent: https.Agent) {
let request = axios.get(host + '/api_version', { httpsAgent })
return await request.then(response => {
if (response.status !== 200) return { status: 'fail', data: response.data }
return { status: 'success', data: response.data }
}).catch(error => {
console.error(error)
return { status: 'error', data: error }
})
},
async Init(host: string, version: Number, httpsAgent: https.Agent, app: App, trackId: String) {
let request
if (trackId) request = axios.get(host + `/api/v${version}/login/authorize/` + trackId, { httpsAgent })
else request = axios.post(host + `/api/v${version}/login/authorize/`, app, { httpsAgent })
return await request.then(response => {
if (!response.data.success) return { status: 'fail', data: response.data }
return { status: 'success', data: response.data.result }
}).catch(error => {
console.error(error)
return { status: 'error', data: error }
})
}
}
export const Login = {
async Challenge(host: string, version: Number, httpsAgent: https.Agent) {
let request = axios.get(host + `/api/v${version}/login/`, { httpsAgent })
return await request.then(response => {
console.log(response.data)
if (response.status !== 200) return { status: 'fail', data: response.data }
return { status: 'success', data: response.data.result }
}).catch(error => {
console.error(error)
return { status: 'error', data: error }
})
},
async Session(host: string, version: Number, httpsAgent: https.Agent, app_id: string, password: string) {
let request = axios.post(host + `/api/v${version}/login/session/`, { app_id, password }, { httpsAgent })
return await request.then(response => {
console.log(response.data)
if (response.status !== 200) return { status: 'fail', data: response.data }
return { status: 'success', data: response.data.result }
}).catch(error => {
console.error(error)
return { status: 'error', data: error }
})
}
}
export const Get = {
async Connection(host: string, version: Number, httpsAgent: https.Agent, sessionToken: string) {
let request = axios.get(host + `/api/v${version}/connection/`, { httpsAgent, headers: { 'X-Fbx-App-Auth': sessionToken } })
return await request.then(response => {
console.log(response.data)
if (!response.data.success) return { status: 'fail', data: response.data }
return { status: 'success', data: response.data.result }
}).catch(error => {
console.error(error)
return { status: 'error', data: error }
})
}
}