gj-boomlings-api 1.2.3 → 1.3.1
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/functions/blockUser.js +5 -32
- package/functions/deleteAccountPost.js +3 -19
- package/functions/deleteComment.js +3 -22
- package/functions/dlLevel.js +2 -4
- package/functions/dlMessage.js +32 -0
- package/functions/getAccountPosts.js +3 -18
- package/functions/getCommentHistory.js +1 -18
- package/functions/getCreatorScores.js +2 -2
- package/functions/getMapPacks.js +6 -20
- package/functions/getMessages.js +37 -0
- package/functions/getProfile.js +5 -20
- package/functions/getTop100.js +2 -2
- package/functions/getUserLevels.js +0 -16
- package/functions/searchUsers.js +22 -0
- package/functions/unblockUser.js +5 -32
- package/functions/updateLevelDesc.js +5 -19
- package/functions/uploadAccountPost.js +5 -20
- package/functions/uploadComment.js +7 -23
- package/functions/uploadMessage.js +39 -0
- package/index.js +9 -5
- package/misc/decB64.js +7 -0
- package/misc/decCommentFromHistory.js +2 -2
- package/misc/decMessage.js +34 -0
- package/misc/decMsg.js +30 -0
- package/misc/decScoresUser.js +45 -0
- package/misc/decodeAccountPost.js +2 -2
- package/misc/decodeGJComment.js +2 -2
- package/misc/decodeLevel.js +4 -4
- package/misc/decodeMapPack.js +0 -1
- package/misc/decodeUserResult.js +1 -5
- package/{functions/encURLSafeBase64.js → misc/encB64.js} +2 -3
- package/package.json +2 -3
- package/docs/blockUser.md +0 -21
- package/docs/deleteAccountPost.md +0 -23
- package/docs/dlLevel.md +0 -52
- package/docs/getAccountPosts.md +0 -71
- package/docs/getCommentHistory.md +0 -123
- package/docs/getComments.md +0 -113
- package/docs/getCreatorScores.md +0 -60
- package/docs/getDailyLevel.md +0 -17
- package/docs/getGauntlets.md +0 -81
- package/docs/getLevelByID.md +0 -51
- package/docs/getMapPacks.md +0 -88
- package/docs/getOfficialSongInfo.md +0 -25
- package/docs/getProfile.md +0 -36
- package/docs/getSongInfo.md +0 -26
- package/docs/getTop100.md +0 -56
- package/docs/getUserLevels.md +0 -84
- package/docs/getWeeklyDemon.md +0 -17
- package/docs/objects/acc_comment.md +0 -19
- package/docs/objects/comment.md +0 -34
- package/docs/objects/level.md +0 -95
- package/docs/objects/song.md +0 -28
- package/docs/objects/user.md +0 -61
- package/docs/reportLevel.md +0 -19
- package/docs/searchLevels.md +0 -113
- package/docs/updateLevelDesc.md +0 -23
- package/docs/uploadAccountPost.md +0 -27
- package/docs/uploadComment.md +0 -28
- package/functions/decURLSafeBase64.js +0 -10
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
uploadMessage:
|
|
3
|
+
async function(receiver, subj, content, user, pass) {
|
|
4
|
+
if(!receiver || receiver == "") throw new Error("Please specify a message receiver!");
|
|
5
|
+
if(!subj || subj == "") throw new Error("Please specify a message subject!");
|
|
6
|
+
if(!content || content == "") throw new Error("Please specify a message content!");
|
|
7
|
+
if(!user || user == "") throw new Error("Please provide a username or a player ID!");
|
|
8
|
+
if(!pass || pass == "") throw new Error("Please provide a password!");
|
|
9
|
+
|
|
10
|
+
const { gjp } = require("../misc/gjp.js");
|
|
11
|
+
const { encB64 } = require("../misc/encB64.js");
|
|
12
|
+
const axios = require("axios");
|
|
13
|
+
const { headers, server, secret } = require("../config.json");
|
|
14
|
+
const { searchUsers } = require("./searchUsers.js");
|
|
15
|
+
|
|
16
|
+
let receiverObj = await searchUsers(receiver);
|
|
17
|
+
let userObj = await searchUsers(user);
|
|
18
|
+
|
|
19
|
+
const XOR = require("../misc/xor.js");
|
|
20
|
+
const xor = new XOR();
|
|
21
|
+
|
|
22
|
+
const uMdata = {
|
|
23
|
+
accountID: userObj.accountID,
|
|
24
|
+
toAccountID: receiverObj.accountID,
|
|
25
|
+
gjp: gjp(pass),
|
|
26
|
+
subject: encB64(subj),
|
|
27
|
+
body: xor.encrypt(content, 14251),
|
|
28
|
+
secret: secret
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
let res = await axios.post(server + "uploadGJMessage20.php", uMdata, {
|
|
32
|
+
headers: headers
|
|
33
|
+
}).catch(e => {
|
|
34
|
+
throw new Error(e.response.data)
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
return 1;
|
|
38
|
+
}
|
|
39
|
+
}
|
package/index.js
CHANGED
|
@@ -4,8 +4,6 @@ console.log('\x1b[37m%s\x1b[0m', '');
|
|
|
4
4
|
const { dlLevel } = require("./functions/dlLevel.js");
|
|
5
5
|
const { getSongInfo } = require("./functions/getSongInfo.js");
|
|
6
6
|
const { getOfficialSongInfo } = require("./functions/getOfficialSongInfo.js");
|
|
7
|
-
const { decURLSafeBase64 } = require("./functions/decURLSafeBase64.js");
|
|
8
|
-
const { encURLSafeBase64 } = require("./functions/encURLSafeBase64.js");
|
|
9
7
|
const { getDailyLevel } = require("./functions/getDailyLevel.js");
|
|
10
8
|
const { getWeeklyDemon } = require("./functions/getWeeklyDemon.js");
|
|
11
9
|
const { getProfile } = require("./functions/getProfile.js");
|
|
@@ -27,12 +25,14 @@ const { getUserLevels } = require("./functions/getUserLevels.js");
|
|
|
27
25
|
const { searchLevels } = require("./functions/searchLevels.js");
|
|
28
26
|
const { deleteComment } = require("./functions/deleteComment.js");
|
|
29
27
|
const { unblockUser } = require("./functions/unblockUser.js");
|
|
28
|
+
const { getMessages } = require("./functions/getMessages.js");
|
|
29
|
+
const { dlMessage } = require("./functions/dlMessage.js");
|
|
30
|
+
const { uploadMessage } = require("./functions/uploadMessage.js");
|
|
31
|
+
const { searchUsers } = require("./functions/searchUsers.js");
|
|
30
32
|
|
|
31
33
|
module.exports.dlLevel = dlLevel;
|
|
32
34
|
module.exports.getSongInfo = getSongInfo;
|
|
33
35
|
module.exports.getOfficialSongInfo = getOfficialSongInfo;
|
|
34
|
-
module.exports.decURLSafeBase64 = decURLSafeBase64;
|
|
35
|
-
module.exports.encURLSafeBase64 = encURLSafeBase64;
|
|
36
36
|
module.exports.getDailyLevel = getDailyLevel;
|
|
37
37
|
module.exports.getWeeklyDemon = getWeeklyDemon;
|
|
38
38
|
module.exports.getProfile = getProfile;
|
|
@@ -53,4 +53,8 @@ module.exports.deleteAccountPost = deleteAccountPost;
|
|
|
53
53
|
module.exports.getUserLevels = getUserLevels;
|
|
54
54
|
module.exports.searchLevels = searchLevels;
|
|
55
55
|
module.exports.deleteComment = deleteComment;
|
|
56
|
-
module.exports.unblockUser = unblockUser;
|
|
56
|
+
module.exports.unblockUser = unblockUser;
|
|
57
|
+
module.exports.getMessages = getMessages;
|
|
58
|
+
module.exports.dlMessage = dlMessage;
|
|
59
|
+
module.exports.uploadMessage = uploadMessage;
|
|
60
|
+
module.exports.searchUsers = searchUsers;
|
package/misc/decB64.js
ADDED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
decCommentFromHistory:
|
|
3
3
|
function(comment) {
|
|
4
|
-
const
|
|
4
|
+
const decB64 = require("./decB64.js");
|
|
5
5
|
|
|
6
6
|
let levelID = comment.split("~1~")[1].split("~3~")[0];
|
|
7
7
|
let commentContent = comment.split("2~")[1].split("~1~")[0];
|
|
@@ -17,7 +17,7 @@ module.exports = {
|
|
|
17
17
|
|
|
18
18
|
const res = {
|
|
19
19
|
username: username,
|
|
20
|
-
content:
|
|
20
|
+
content: decB64(commentContent),
|
|
21
21
|
levelID: Number(levelID),
|
|
22
22
|
playerID: Number(playerID),
|
|
23
23
|
likes: Number(likes),
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
decMessage:
|
|
3
|
+
function(msg) {
|
|
4
|
+
const {decB64} = require("./decB64.js");
|
|
5
|
+
const XOR = require("./xor.js");
|
|
6
|
+
const xor = new XOR();
|
|
7
|
+
|
|
8
|
+
let spl = msg.split(":");
|
|
9
|
+
let msgInfo = [];
|
|
10
|
+
for(let i =0;i<spl.length;i++) {
|
|
11
|
+
if(i%2!=0) {
|
|
12
|
+
msgInfo.push(spl[i-1]+`:`+spl[i]);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let username = msgInfo[0].split("6:")[1];
|
|
17
|
+
let playerID = msgInfo[1].split("3:")[1];
|
|
18
|
+
let accID = msgInfo[2].split("2:")[1];
|
|
19
|
+
let msgID = msgInfo[3].split("1:")[1];
|
|
20
|
+
let title = msgInfo[4].split("4:")[1];
|
|
21
|
+
let content = msgInfo[7].split("5:")[1];
|
|
22
|
+
let age = msgInfo[8].split("7:")[1];
|
|
23
|
+
|
|
24
|
+
return {
|
|
25
|
+
username: username,
|
|
26
|
+
title: decB64(title),
|
|
27
|
+
content: xor.decrypt(content, 14251),
|
|
28
|
+
playerID: Number(playerID),
|
|
29
|
+
accountID: Number(accID),
|
|
30
|
+
messageID: Number(msgID),
|
|
31
|
+
age: age
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
package/misc/decMsg.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
decMsg:
|
|
3
|
+
function(msg) {
|
|
4
|
+
const {decB64} = require("./decB64.js");
|
|
5
|
+
|
|
6
|
+
let spl = msg.split("#")[0].split(":");
|
|
7
|
+
let msgInfo = [];
|
|
8
|
+
for(let i =0;i<spl.length;i++) {
|
|
9
|
+
if(i%2!=0) {
|
|
10
|
+
msgInfo.push(spl[i-1]+`:`+spl[i]);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let username = msgInfo[0].split("6:")[1];
|
|
15
|
+
let playerID = msgInfo[1].split("3:")[1];
|
|
16
|
+
let accID = msgInfo[2].split("2:")[1];
|
|
17
|
+
let msgID = msgInfo[3].split("1:")[1];
|
|
18
|
+
let title = msgInfo[4].split("4:")[1];
|
|
19
|
+
let age = msgInfo[7].split("7:")[1];
|
|
20
|
+
|
|
21
|
+
return {
|
|
22
|
+
username: username,
|
|
23
|
+
title: decB64(title),
|
|
24
|
+
playerID: Number(playerID),
|
|
25
|
+
accountID: Number(accID),
|
|
26
|
+
messageID: Number(msgID),
|
|
27
|
+
age: age
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
decScoresUser:
|
|
3
|
+
function(user) {
|
|
4
|
+
let spl = user.split(':');
|
|
5
|
+
let userInfo = [];
|
|
6
|
+
for(let i =0;i<spl.length;i++) {
|
|
7
|
+
if(i%2!=0) {
|
|
8
|
+
userInfo.push(spl[i-1]+`:`+spl[i]);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let name = userInfo[0].split("1:")[1];
|
|
13
|
+
let playerID = userInfo[1].split("2:")[1];
|
|
14
|
+
let coins = userInfo[2].split("13:")[1];
|
|
15
|
+
let userCoins = userInfo[3].split("17:")[1];
|
|
16
|
+
let p1col = userInfo[6].split("10:")[1];
|
|
17
|
+
let p2col = userInfo[7].split("11:")[1];
|
|
18
|
+
let rank = userInfo[4].split("6:")[1];
|
|
19
|
+
let accID = userInfo[10].split("16:")[1];
|
|
20
|
+
let stars = userInfo[11].split("3:")[1];
|
|
21
|
+
let cp = userInfo[12].split("8:")[1];
|
|
22
|
+
let diamonds = userInfo[13].split("46:")[1];
|
|
23
|
+
let demons = userInfo[14].split("4:")[1];
|
|
24
|
+
|
|
25
|
+
let colors = require("./colors.json");
|
|
26
|
+
const { rgbToHEX } = require("./rgbToHEX.js");
|
|
27
|
+
|
|
28
|
+
const result = {
|
|
29
|
+
username: name.trim(),
|
|
30
|
+
playerID: playerID,
|
|
31
|
+
accountID: accID,
|
|
32
|
+
rank: rank,
|
|
33
|
+
color1: rgbToHEX(colors[p1col]),
|
|
34
|
+
color2: rgbToHEX(colors[p2col]),
|
|
35
|
+
stars: stars,
|
|
36
|
+
diamonds: diamonds,
|
|
37
|
+
secretCoins: coins,
|
|
38
|
+
userCoins: userCoins,
|
|
39
|
+
demons: demons,
|
|
40
|
+
creatorPoints: cp
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
decodeAccountPost:
|
|
3
3
|
function(post) {
|
|
4
|
-
const
|
|
4
|
+
const {decB64} = require("./decB64.js");
|
|
5
5
|
|
|
6
6
|
let postContent = post.split("2~")[1].split("~4~")[0];
|
|
7
7
|
let likes = post.split("~4~")[1].split("~9~")[0];
|
|
@@ -12,7 +12,7 @@ module.exports = {
|
|
|
12
12
|
if(id.includes("#")) id = id.split("#")[0];
|
|
13
13
|
|
|
14
14
|
const result = {
|
|
15
|
-
content:
|
|
15
|
+
content: decB64(postContent).trim(),
|
|
16
16
|
likes: Number(likes),
|
|
17
17
|
age: age,
|
|
18
18
|
id: Number(id)
|
package/misc/decodeGJComment.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
decodeGJComment:
|
|
3
3
|
function(comment) {
|
|
4
|
-
const
|
|
4
|
+
const decB64 = require("./decB64.js");
|
|
5
5
|
|
|
6
6
|
let spl = comment.split("~");
|
|
7
7
|
let cmnt = [];
|
|
@@ -23,7 +23,7 @@ module.exports = {
|
|
|
23
23
|
|
|
24
24
|
const res = {
|
|
25
25
|
username: username,
|
|
26
|
-
content:
|
|
26
|
+
content: decB64(commentContent),
|
|
27
27
|
playerID: Number(playerID),
|
|
28
28
|
likes: Number(likes),
|
|
29
29
|
percent: Number(percent),
|
package/misc/decodeLevel.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
decodeLevel:
|
|
3
3
|
async function(level){
|
|
4
|
-
const
|
|
4
|
+
const decB64 = require("./decB64.js");
|
|
5
5
|
|
|
6
6
|
let spl = level.split(':');
|
|
7
7
|
let levelInfo = [];
|
|
@@ -41,7 +41,7 @@ module.exports = {
|
|
|
41
41
|
let disliked = false;
|
|
42
42
|
if(likes.includes("-")) disliked = true;
|
|
43
43
|
|
|
44
|
-
if(
|
|
44
|
+
if(decB64(desc) == '') desc = "KE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkKQ=="
|
|
45
45
|
|
|
46
46
|
if(verifiedCoins == "0") verifiedCoins = false;
|
|
47
47
|
if(verifiedCoins == "1") verifiedCoins = true;
|
|
@@ -144,7 +144,7 @@ module.exports = {
|
|
|
144
144
|
result = {
|
|
145
145
|
id: Number(id),
|
|
146
146
|
name: name,
|
|
147
|
-
description:
|
|
147
|
+
description: decB64(desc),
|
|
148
148
|
creator: author,
|
|
149
149
|
level_version: Number(version),
|
|
150
150
|
difficulty: difficultyDecoding[difficulty],
|
|
@@ -170,7 +170,7 @@ module.exports = {
|
|
|
170
170
|
result = {
|
|
171
171
|
id: Number(id),
|
|
172
172
|
name: name,
|
|
173
|
-
description:
|
|
173
|
+
description: decB64(desc),
|
|
174
174
|
creator: author,
|
|
175
175
|
level_version: Number(version),
|
|
176
176
|
difficulty: difficultyDecoding[difficulty],
|
package/misc/decodeMapPack.js
CHANGED
package/misc/decodeUserResult.js
CHANGED
|
@@ -15,12 +15,10 @@ module.exports = {
|
|
|
15
15
|
let userCoins = userInfo[3].split("17:")[1];
|
|
16
16
|
let p1col = userInfo[6].split("10:")[1];
|
|
17
17
|
let p2col = userInfo[7].split("11:")[1];
|
|
18
|
-
let rank = userInfo[4].split("6:")[1];
|
|
19
18
|
let accID = userInfo[10].split("16:")[1];
|
|
20
19
|
let stars = userInfo[11].split("3:")[1];
|
|
21
20
|
let cp = userInfo[12].split("8:")[1];
|
|
22
|
-
let
|
|
23
|
-
let demons = userInfo[14].split("4:")[1];
|
|
21
|
+
let demons = userInfo[13].split("4:")[1].split("#")[0];
|
|
24
22
|
|
|
25
23
|
let colors = require("./colors.json");
|
|
26
24
|
const { rgbToHEX } = require("./rgbToHEX.js");
|
|
@@ -29,11 +27,9 @@ module.exports = {
|
|
|
29
27
|
username: name.trim(),
|
|
30
28
|
playerID: Number(playerID),
|
|
31
29
|
accountID: Number(accID),
|
|
32
|
-
rank: Number(rank),
|
|
33
30
|
color1: rgbToHEX(colors[p1col]),
|
|
34
31
|
color2: rgbToHEX(colors[p2col]),
|
|
35
32
|
stars: Number(stars),
|
|
36
|
-
diamonds: Number(diamonds),
|
|
37
33
|
secretCoins: Number(coins),
|
|
38
34
|
userCoins: Number(userCoins),
|
|
39
35
|
demons: Number(demons),
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
2
|
+
encB64:
|
|
3
3
|
function(string) {
|
|
4
|
-
const bs = require("js-base64");
|
|
5
4
|
if(!string || string == "") throw new Error("No string provided!")
|
|
6
|
-
let str =
|
|
5
|
+
let str = btoa(unescape(encodeURIComponent(string))).replace(/\//g, '_').replace(/\+/g, '-');
|
|
7
6
|
return str;
|
|
8
7
|
}
|
|
9
8
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gj-boomlings-api",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "A light-weight Geometry Dash API wrapper",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -27,7 +27,6 @@
|
|
|
27
27
|
"robtop"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"axios": "^1.2.1"
|
|
31
|
-
"js-base64": "^3.7.3"
|
|
30
|
+
"axios": "^1.2.1"
|
|
32
31
|
}
|
|
33
32
|
}
|
package/docs/blockUser.md
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# blockUser()
|
|
2
|
-
|
|
3
|
-
Blocks the user.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
`target` - the user that is being blocked.
|
|
7
|
-
|
|
8
|
-
`user` - the player ID or the username of the user that blocks.
|
|
9
|
-
|
|
10
|
-
`gjp` - the password of the user that blocks.
|
|
11
|
-
|
|
12
|
-
## Example
|
|
13
|
-
```js
|
|
14
|
-
const gd = require("gj-boomlings-api");
|
|
15
|
-
gd.blockUser("colon", "gmdshxdow", "*********").then(console.log);
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Response
|
|
19
|
-
```js
|
|
20
|
-
1
|
|
21
|
-
```
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# deleteAccountPost()
|
|
2
|
-
|
|
3
|
-
Posts a comment to a profile.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
`id` - the account post ID. Returned by `getAccountPosts()`.
|
|
7
|
-
|
|
8
|
-
`user` - the username or player ID.
|
|
9
|
-
|
|
10
|
-
`gjp` - the user's password.
|
|
11
|
-
|
|
12
|
-
## Example
|
|
13
|
-
```js
|
|
14
|
-
const gd = require("gj-boomlings-api");
|
|
15
|
-
gd.deleteAccountPost("18183557", "gmdshxdow", "*********").then(console.log);
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Response
|
|
19
|
-
```js
|
|
20
|
-
1
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Returns `1` if the comment was successfully deleted.
|
package/docs/dlLevel.md
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# dlLevel()
|
|
2
|
-
|
|
3
|
-
Downloads a level and decodes it.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
`level` - the level ID.
|
|
7
|
-
|
|
8
|
-
## Example
|
|
9
|
-
```js
|
|
10
|
-
const gd = require("gj-boomlings-api");
|
|
11
|
-
gd.dlLevel(58825144).then(console.log);
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Response
|
|
15
|
-
```
|
|
16
|
-
{
|
|
17
|
-
id: 58825144,
|
|
18
|
-
name: 'xo',
|
|
19
|
-
description: 'stream vertigo',
|
|
20
|
-
creator: 'KrmaL',
|
|
21
|
-
level_version: 2,
|
|
22
|
-
difficulty: 'Extreme Demon',
|
|
23
|
-
stars: 10,
|
|
24
|
-
downloads: 2640560,
|
|
25
|
-
likes: 107918,
|
|
26
|
-
disliked: false,
|
|
27
|
-
length: 'XL',
|
|
28
|
-
password: '000007',
|
|
29
|
-
demon: true,
|
|
30
|
-
featured: false,
|
|
31
|
-
epic: false,
|
|
32
|
-
objects: 37838,
|
|
33
|
-
uploaded: '3 years',
|
|
34
|
-
updated: '3 years',
|
|
35
|
-
stars_requested: 10,
|
|
36
|
-
game_version: '2.1',
|
|
37
|
-
ldm: false,
|
|
38
|
-
copied: 0,
|
|
39
|
-
two_p: false,
|
|
40
|
-
coins: 0,
|
|
41
|
-
verified_coins: false,
|
|
42
|
-
song: {
|
|
43
|
-
name: 'XO (Eden Cover & Remake)',
|
|
44
|
-
id: 766165,
|
|
45
|
-
artist: 'aaronmusslewhite',
|
|
46
|
-
artistId: 2130,
|
|
47
|
-
fileSize: '6.1 MB',
|
|
48
|
-
link: 'http://audio.ngfiles.com/766000/766165_XO-Eden-Cover-amp-Remake.mp3'
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
Returns a [level object](./objects/level.md).
|
package/docs/getAccountPosts.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# getAccountPosts()
|
|
2
|
-
|
|
3
|
-
Gets the account comments from someone's profile.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
`user` - the username or player ID.
|
|
7
|
-
|
|
8
|
-
`page` (optional) - the page of the posts. Defaults to 1.
|
|
9
|
-
|
|
10
|
-
## Example
|
|
11
|
-
```js
|
|
12
|
-
const gd = require("gj-boomlings-api");
|
|
13
|
-
gd.getAccountPosts("robtop").then(console.log);
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Response
|
|
17
|
-
```js
|
|
18
|
-
[
|
|
19
|
-
{
|
|
20
|
-
content: "Thank you everyone for the birthday wishes. You're the best! :)",
|
|
21
|
-
likes: 97911,
|
|
22
|
-
age: '10 months'
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
content: 'Happy New Year everyone! :D',
|
|
26
|
-
likes: 60720,
|
|
27
|
-
age: '11 months'
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
content: 'Thank you all for the birthday wishes :)',
|
|
31
|
-
likes: 144296,
|
|
32
|
-
age: '1 year'
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
content: 'Happy New Year everyone!... Still should post more often xD',
|
|
36
|
-
likes: 86611,
|
|
37
|
-
age: '1 year'
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
content: 'Happy New Year everyone!... I should really post more often than this xD',
|
|
41
|
-
likes: 133553,
|
|
42
|
-
age: '2 years'
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
content: 'Happy New Year everyone! :D',
|
|
46
|
-
likes: 272323,
|
|
47
|
-
age: '3 years'
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
content: 'Its amazing how talented level creators are these days :)',
|
|
51
|
-
likes: 259426,
|
|
52
|
-
age: '5 years'
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
content: 'El pollo ardiente...',
|
|
56
|
-
likes: 240085,
|
|
57
|
-
age: '5 years'
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
content: 'I am eating an apple.',
|
|
61
|
-
likes: 222661,
|
|
62
|
-
age: '5 years'
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
content: 'RubRubRubRubRubRubRubRubRubRubRubRubRubRubRubRubRubRub',
|
|
66
|
-
likes: 241988,
|
|
67
|
-
age: '5 years'
|
|
68
|
-
}
|
|
69
|
-
]
|
|
70
|
-
```
|
|
71
|
-
Returns an array of [account comments](./objects/acc_comment.md).
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
# getCommentHistory()
|
|
2
|
-
|
|
3
|
-
Gets a comment history from a specified player.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
`user` - the player's username or a player ID.
|
|
7
|
-
|
|
8
|
-
`page` (optional) - the page of the comment history. Defaults to 1.
|
|
9
|
-
|
|
10
|
-
`mode` (optional) - the mode of fetching the comment history. `1` is the most liked and `0` is the most recent. Defaults to 1.
|
|
11
|
-
|
|
12
|
-
## Example
|
|
13
|
-
```js
|
|
14
|
-
const gd = require("gj-boomlings-api");
|
|
15
|
-
gd.getCommentHistory("robtop").then(console.log);
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Response
|
|
19
|
-
```
|
|
20
|
-
[
|
|
21
|
-
{
|
|
22
|
-
username: 'RobTop',
|
|
23
|
-
content: 'Like or dislike this comment, it will add 10 likes either way. Check. Mate.',
|
|
24
|
-
levelID: 66715392,
|
|
25
|
-
playerID: 16,
|
|
26
|
-
likes: 733980,
|
|
27
|
-
percent: 0,
|
|
28
|
-
id: 11005139,
|
|
29
|
-
age: '1 year'
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
username: 'RobTop',
|
|
33
|
-
content: 'Can you handle the Kappa?',
|
|
34
|
-
levelID: 7485599,
|
|
35
|
-
playerID: 16,
|
|
36
|
-
likes: 115556,
|
|
37
|
-
percent: 0,
|
|
38
|
-
id: 42602304,
|
|
39
|
-
age: '5 years'
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
username: 'RobTop',
|
|
43
|
-
content: 'All demons default to hard when first rated, they get the real rating from votes later :)',
|
|
44
|
-
levelID: 42584142,
|
|
45
|
-
playerID: 16,
|
|
46
|
-
likes: 72069,
|
|
47
|
-
percent: 0,
|
|
48
|
-
id: 12967791,
|
|
49
|
-
age: '4 years'
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
username: 'RobTop',
|
|
53
|
-
content: ':)',
|
|
54
|
-
levelID: 10565740,
|
|
55
|
-
playerID: 16,
|
|
56
|
-
likes: 57919,
|
|
57
|
-
percent: 0,
|
|
58
|
-
id: 53363972,
|
|
59
|
-
age: '5 years'
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
username: 'RobTop',
|
|
63
|
-
content: 'Love it :)',
|
|
64
|
-
levelID: 29424929,
|
|
65
|
-
playerID: 16,
|
|
66
|
-
likes: 55456,
|
|
67
|
-
percent: 0,
|
|
68
|
-
id: 42731804,
|
|
69
|
-
age: '5 years'
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
username: 'RobTop',
|
|
73
|
-
content: 'Good enough for me Kappa',
|
|
74
|
-
levelID: 26681070,
|
|
75
|
-
playerID: 16,
|
|
76
|
-
likes: 51795,
|
|
77
|
-
percent: 1,
|
|
78
|
-
id: 53375227,
|
|
79
|
-
age: '5 years'
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
username: 'RobTop',
|
|
83
|
-
content: 'Getting 7 stars doesnt exclude it from the gauntlet competition dont worry :)',
|
|
84
|
-
levelID: 43908596,
|
|
85
|
-
playerID: 16,
|
|
86
|
-
likes: 43546,
|
|
87
|
-
percent: 0,
|
|
88
|
-
id: 15614671,
|
|
89
|
-
age: '4 years'
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
username: 'RobTop',
|
|
93
|
-
content: 'I like this level, you guys prefer newer ones? Almost felt like putting Nine Circles :D',
|
|
94
|
-
levelID: 17235008,
|
|
95
|
-
playerID: 16,
|
|
96
|
-
likes: 38313,
|
|
97
|
-
percent: 0,
|
|
98
|
-
id: 61915039,
|
|
99
|
-
age: '4 years'
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
username: 'RobTop',
|
|
103
|
-
content: 'Kappa',
|
|
104
|
-
levelID: 19759411,
|
|
105
|
-
playerID: 16,
|
|
106
|
-
likes: 37952,
|
|
107
|
-
percent: 0,
|
|
108
|
-
id: 22802511,
|
|
109
|
-
age: '6 years'
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
username: 'RobTop',
|
|
113
|
-
content: 'You know you are getting old when you can only get 2% on an easy demon',
|
|
114
|
-
levelID: 27690100,
|
|
115
|
-
playerID: 16,
|
|
116
|
-
likes: 37144,
|
|
117
|
-
percent: 2,
|
|
118
|
-
id: 87255259,
|
|
119
|
-
age: '1 year'
|
|
120
|
-
}
|
|
121
|
-
]
|
|
122
|
-
```
|
|
123
|
-
Returns an array of [comment objects](./objects/comment.md).
|