UNPKG

@ariusii/intersect.ts

Version:

The Intersect Engine API Client Library based on TS.

75 lines (71 loc) 1.95 kB
/** * This is the Server Class, it contains all the methods to handle the Server. * Those actions do not require any Query Role. * @class Server * @link https://docs.freemmorpgmaker.com/en-US/api/v1/endpoints/info.html * @author AriusII */ export class Server { private _url: string private _token: string constructor(_url: string, _token: string) { this._url = _url this._token = _token } /** * Checks token and returns whether or not you're authorized to access protected api endpoints. * @returns - The response from the server. */ async getAuthorized() { const res = await fetch(`${this._url}/api/v1/info/authorized`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${this._token}` } }) return await res.json() } /** * Retrieves the game name and port number from your server. * @returns - The response from the server. */ async getInfo() { const res = await fetch(`${this._url}/api/v1/info`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${this._token}` } }) return await res.json() } /** * Retrieves active server stats such as online player count, uptime, cps, etc. * @returns - The response from the server. */ async getStats() { const res = await fetch(`${this._url}/api/v1/info/stats`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${this._token}` } }) return await res.json() } /** * Retrieves the active server configuration. * @returns - The response from the server. */ async getConfig() { const res = await fetch(`${this._url}/api/v1/info/config`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${this._token}` } }) return await res.json() } }