erlc-api 1.3.11 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -87
- package/dist/browser/erlc.min.js +1 -0
- package/dist/cjs/client.d.ts +25 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +152 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/errors/index.d.ts +13 -0
- package/dist/cjs/errors/index.d.ts.map +1 -0
- package/dist/cjs/errors/index.js +32 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types/index.d.ts +46 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +3 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/esm/client.d.ts +25 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +145 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/errors/index.d.ts +13 -0
- package/dist/esm/errors/index.d.ts.map +1 -0
- package/dist/esm/errors/index.js +25 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/index.d.ts +46 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/types/client.d.ts +25 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +13 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +46 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/package.json +47 -15
- package/.gitattributes +0 -2
- package/index.js +0 -1
- package/src/classes/client.js +0 -36
- package/src/constants.js +0 -2
- package/src/erlc.js +0 -14
- package/src/functions/assert.js +0 -5
- package/src/functions/server/getBans.js +0 -28
- package/src/functions/server/getCommandLogs.js +0 -28
- package/src/functions/server/getJoinLogs.js +0 -28
- package/src/functions/server/getKillLogs.js +0 -28
- package/src/functions/server/getModcallLogs.js +0 -28
- package/src/functions/server/getPlayers.js +0 -28
- package/src/functions/server/getQueue.js +0 -28
- package/src/functions/server/getServer.js +0 -52
- package/src/functions/server/getVehicles.js +0 -28
- package/src/functions/server/runCommand.js +0 -27
- package/src/types/custom.d.ts +0 -5
- package/src/types/index.d.ts +0 -90
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const { BASEURL } = require("../../constants.js");
|
|
2
|
-
|
|
3
|
-
module.exports = (serverToken) => {
|
|
4
|
-
return new Promise(async (resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const fetch = await import("node-fetch");
|
|
7
|
-
const { config } = await import("../../erlc.js");
|
|
8
|
-
|
|
9
|
-
const res = await fetch.default(`${BASEURL}/server/bans`, {
|
|
10
|
-
headers: {
|
|
11
|
-
"Authorization": config?.globalToken,
|
|
12
|
-
"Server-Key": serverToken,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
const data = await res.json().catch((err) => {
|
|
16
|
-
return reject(err);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
return reject(data);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
resolve(data);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
reject(error);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const { BASEURL } = require("../../constants.js");
|
|
2
|
-
|
|
3
|
-
module.exports = (serverToken) => {
|
|
4
|
-
return new Promise(async (resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const fetch = await import("node-fetch");
|
|
7
|
-
const { config } = await import("../../erlc.js");
|
|
8
|
-
|
|
9
|
-
const res = await fetch.default(`${BASEURL}/server/commandlogs`, {
|
|
10
|
-
headers: {
|
|
11
|
-
"Authorization": config?.globalToken,
|
|
12
|
-
"Server-Key": serverToken,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
const data = await res.json().catch((err) => {
|
|
16
|
-
return reject(err);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
return reject(data);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
resolve(data);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
reject(error);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const { BASEURL } = require("../../constants.js");
|
|
2
|
-
|
|
3
|
-
module.exports = (serverToken) => {
|
|
4
|
-
return new Promise(async (resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const fetch = await import("node-fetch");
|
|
7
|
-
const { config } = await import("../../erlc.js");
|
|
8
|
-
|
|
9
|
-
const res = await fetch.default(`${BASEURL}/server/joinlogs`, {
|
|
10
|
-
headers: {
|
|
11
|
-
"Authorization": config?.globalToken,
|
|
12
|
-
"Server-Key": serverToken,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
const data = await res.json().catch((err) => {
|
|
16
|
-
return reject(err);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
return reject(data);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
resolve(data);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
reject(error);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const { BASEURL } = require("../../constants.js");
|
|
2
|
-
|
|
3
|
-
module.exports = (serverToken) => {
|
|
4
|
-
return new Promise(async (resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const fetch = await import("node-fetch");
|
|
7
|
-
const { config } = await import("../../erlc.js");
|
|
8
|
-
|
|
9
|
-
const res = await fetch.default(`${BASEURL}/server/killlogs`, {
|
|
10
|
-
headers: {
|
|
11
|
-
"Authorization": config?.globalToken,
|
|
12
|
-
"Server-Key": serverToken,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
const data = await res.json().catch((err) => {
|
|
16
|
-
return reject(err);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
return reject(data);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
resolve(data);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
reject(error);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const { BASEURL } = require("../../constants.js");
|
|
2
|
-
|
|
3
|
-
module.exports = (serverToken) => {
|
|
4
|
-
return new Promise(async (resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const fetch = await import("node-fetch");
|
|
7
|
-
const { config } = await import("../../erlc.js");
|
|
8
|
-
|
|
9
|
-
const res = await fetch.default(`${BASEURL}/server/modcalls`, {
|
|
10
|
-
headers: {
|
|
11
|
-
"Authorization": config?.globalToken,
|
|
12
|
-
"Server-Key": serverToken,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
const data = await res.json().catch((err) => {
|
|
16
|
-
return reject(err);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
return reject(data);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
resolve(data);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
reject(error);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const { BASEURL } = require("../../constants.js");
|
|
2
|
-
|
|
3
|
-
module.exports = (serverToken) => {
|
|
4
|
-
return new Promise(async (resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const fetch = await import("node-fetch");
|
|
7
|
-
const { config } = await import("../../erlc.js");
|
|
8
|
-
|
|
9
|
-
const res = await fetch.default(`${BASEURL}/server/players`, {
|
|
10
|
-
headers: {
|
|
11
|
-
"Authorization": config?.globalToken,
|
|
12
|
-
"Server-Key": serverToken,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
const data = await res.json().catch((err) => {
|
|
16
|
-
return reject(err);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
return reject(data);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
resolve(data);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
reject(error);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const { BASEURL } = require("../../constants.js");
|
|
2
|
-
|
|
3
|
-
module.exports = (serverToken) => {
|
|
4
|
-
return new Promise(async (resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const fetch = await import("node-fetch");
|
|
7
|
-
const { config } = await import("../../erlc.js");
|
|
8
|
-
|
|
9
|
-
const res = await fetch.default(`${BASEURL}/server/queue`, {
|
|
10
|
-
headers: {
|
|
11
|
-
"Authorization": config?.globalToken,
|
|
12
|
-
"Server-Key": serverToken,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
const data = await res.json().catch((err) => {
|
|
16
|
-
return reject(err);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
return reject(data);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
resolve(data);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
reject(error);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
const { BASEURL , Vanity} = require("../../constants.js");
|
|
2
|
-
module.exports = (serverToken) => {
|
|
3
|
-
return new Promise(async (resolve, reject) => {
|
|
4
|
-
try {
|
|
5
|
-
const fetch = await import("node-fetch");
|
|
6
|
-
const { config } = await import("../../erlc.js");
|
|
7
|
-
|
|
8
|
-
const res = await fetch.default(`${BASEURL}/server`, {
|
|
9
|
-
headers: {
|
|
10
|
-
"Authorization": config?.globalToken,
|
|
11
|
-
"Server-Key": serverToken,
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const data = await res.json().catch((err) => {
|
|
16
|
-
return reject(err);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
return reject(data);
|
|
21
|
-
}
|
|
22
|
-
const getUsername = async (userId) => {
|
|
23
|
-
const response = await fetch.default(`https://users.roblox.com/v1/users/${userId}`);
|
|
24
|
-
const userData = await response.json();
|
|
25
|
-
if (!response.ok) {
|
|
26
|
-
throw new Error(`Error fetching username for ID: ${userId}`);
|
|
27
|
-
}
|
|
28
|
-
return userData.name;
|
|
29
|
-
};
|
|
30
|
-
try {
|
|
31
|
-
const ownerUsername = await getUsername(data.OwnerId);
|
|
32
|
-
const coOwnerUsernames = await Promise.all(data.CoOwnerIds.map(getUsername));
|
|
33
|
-
const VanityURL = `${Vanity}${data.JoinKey}`
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
data.OwnerUsername = ownerUsername;
|
|
37
|
-
data.CoOwnerUsernames = coOwnerUsernames;
|
|
38
|
-
data.VanityURL = VanityURL
|
|
39
|
-
|
|
40
|
-
delete data.OwnerId;
|
|
41
|
-
delete data.CoOwnerIds;
|
|
42
|
-
|
|
43
|
-
resolve(data);
|
|
44
|
-
} catch (error) {
|
|
45
|
-
reject(error);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
} catch (error) {
|
|
49
|
-
reject(error);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const { BASEURL } = require("../../constants.js");
|
|
2
|
-
|
|
3
|
-
module.exports = (serverToken) => {
|
|
4
|
-
return new Promise(async (resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const fetch = await import("node-fetch");
|
|
7
|
-
const { config } = await import("../../erlc.js");
|
|
8
|
-
|
|
9
|
-
const res = await fetch.default(`${BASEURL}/server/vehicles`, {
|
|
10
|
-
headers: {
|
|
11
|
-
Authorization: config?.globalToken,
|
|
12
|
-
"Server-Key": serverToken,
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
const data = await res.json().catch((err) => {
|
|
16
|
-
return reject(err);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
return reject(data);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
resolve(data);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
reject(error);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
const { BASEURL } = require("../../constants.js");
|
|
2
|
-
|
|
3
|
-
module.exports = (serverToken, command) => {
|
|
4
|
-
return new Promise(async (resolve, reject) => {
|
|
5
|
-
try {
|
|
6
|
-
const fetch = await import("node-fetch");
|
|
7
|
-
const { config } = await import("../../erlc.js");
|
|
8
|
-
const params = JSON.stringify({ command: `${command}` });
|
|
9
|
-
const res = await fetch.default(`${BASEURL}/server/command`, {
|
|
10
|
-
headers: {
|
|
11
|
-
Authorization: config?.globalToken,
|
|
12
|
-
"Server-Key": serverToken,
|
|
13
|
-
"Content-Type": "application/json",
|
|
14
|
-
},
|
|
15
|
-
method: "POST",
|
|
16
|
-
body: params,
|
|
17
|
-
});
|
|
18
|
-
if (!res.ok) {
|
|
19
|
-
return reject(data);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
resolve(true);
|
|
23
|
-
} catch (error) {
|
|
24
|
-
reject(error);
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
};
|
package/src/types/custom.d.ts
DELETED
package/src/types/index.d.ts
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
declare module "erlc-api" {
|
|
2
|
-
export interface ClientConfig {
|
|
3
|
-
globalToken: string; // The ER:LC global API token
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export const BASEURL = "https://api.policeroleplay.community/v1";
|
|
7
|
-
|
|
8
|
-
type PlayerId = string;
|
|
9
|
-
type PlayerName = string;
|
|
10
|
-
type TextureName = string;
|
|
11
|
-
type CarName = string;
|
|
12
|
-
|
|
13
|
-
export type ErlcPlayer = `${PlayerName}:${PlayerId}`; // Playername:UserID
|
|
14
|
-
export type ErlcPlayerPermission =
|
|
15
|
-
| "Normal"
|
|
16
|
-
| "Server Administrator"
|
|
17
|
-
| "Server Owner"
|
|
18
|
-
| "Server Moderator";
|
|
19
|
-
|
|
20
|
-
export interface ServerStatus {
|
|
21
|
-
Name: string; // The server name
|
|
22
|
-
OwnerId: number; // The roblox id of the server owner
|
|
23
|
-
CoOwnerIds: number[]; // The roblox ids of the server co owners
|
|
24
|
-
CurrentPlayers: number; // The amount of people currently in-game
|
|
25
|
-
MaxPlayers: number; // The amount of people who can join the server including server owner
|
|
26
|
-
JoinKey: string; // The code used to join the private server
|
|
27
|
-
AccVerifiedReq: "Disabled" | "Email" | "Phone/ID"; // The level of verification roblox accounts need to join the private server
|
|
28
|
-
TeamBalance: boolean; // If team balance is enabled or not
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface ServerPlayer {
|
|
32
|
-
Player: ErlcPlayer;
|
|
33
|
-
Permission: ErlcPlayerPermission;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface JoinLog {
|
|
37
|
-
Join: boolean; // True is join and False is leave
|
|
38
|
-
Timestamp: number; // Timestamp in seconds
|
|
39
|
-
Player: ErlcPlayer;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface KillLog {
|
|
43
|
-
Killed: ErlcPlayer;
|
|
44
|
-
Timestamp: number; // Timestamp in seconds
|
|
45
|
-
Killer: ErlcPlayer;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export interface CommandLog {
|
|
49
|
-
Player: ErlcPlayer;
|
|
50
|
-
Timestamp: number; // Timestamp in seconds
|
|
51
|
-
Command: string;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface ModcallLog {
|
|
55
|
-
Caller: ErlcPlayer;
|
|
56
|
-
Moderator?: ErlcPlayer; // If call is unanswered property is undefined
|
|
57
|
-
Timestamp: number; // Timestamp in seconds
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export type ServerBan = Record<PlayerId, PlayerName>;
|
|
61
|
-
|
|
62
|
-
export interface VehiclesLog {
|
|
63
|
-
Texture: string | null;
|
|
64
|
-
Name: string;
|
|
65
|
-
Owner: ErlcPlayer;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export interface VSMCommandBody {
|
|
69
|
-
command: string; // ":h Hey everyone!"
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export function getBans(serverToken: string): Promise<ServerBan>;
|
|
73
|
-
export function getCommandLogs(serverToken: string): Promise<CommandLog[]>;
|
|
74
|
-
export function getJoinLogs(serverToken: string): Promise<JoinLog[]>;
|
|
75
|
-
export function getKillLogs(serverToken: string): Promise<KillLog[]>;
|
|
76
|
-
export function getModcallLogs(serverToken: string): Promise<ModcallLog[]>;
|
|
77
|
-
export function getPlayers(serverToken: string): Promise<ServerPlayer[]>;
|
|
78
|
-
export function getQueue(serverToken: string): Promise<number[]>;
|
|
79
|
-
export function getServer(serverToken: string): Promise<ServerStatus>;
|
|
80
|
-
export function getVehicles(serverToken: string): Promise<VehiclesLog[]>;
|
|
81
|
-
export function runCommand(
|
|
82
|
-
serverToken: string,
|
|
83
|
-
command: string
|
|
84
|
-
): Promise<boolean>;
|
|
85
|
-
|
|
86
|
-
export class Client {
|
|
87
|
-
constructor(options: ClientConfig);
|
|
88
|
-
config(): ClientConfig;
|
|
89
|
-
}
|
|
90
|
-
}
|