gj-boomlings-api 1.2.3 → 1.3.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.
Files changed (60) hide show
  1. package/functions/blockUser.js +5 -32
  2. package/functions/deleteAccountPost.js +3 -19
  3. package/functions/deleteComment.js +3 -22
  4. package/functions/dlLevel.js +2 -4
  5. package/functions/dlMessage.js +32 -0
  6. package/functions/getAccountPosts.js +3 -18
  7. package/functions/getCommentHistory.js +1 -18
  8. package/functions/getCreatorScores.js +2 -2
  9. package/functions/getMapPacks.js +6 -20
  10. package/functions/getMessages.js +37 -0
  11. package/functions/getProfile.js +5 -20
  12. package/functions/getTop100.js +2 -2
  13. package/functions/getUserLevels.js +0 -16
  14. package/functions/searchUsers.js +22 -0
  15. package/functions/unblockUser.js +5 -32
  16. package/functions/updateLevelDesc.js +5 -19
  17. package/functions/uploadAccountPost.js +5 -20
  18. package/functions/uploadComment.js +7 -23
  19. package/functions/uploadMessage.js +39 -0
  20. package/index.js +9 -5
  21. package/misc/decB64.js +7 -0
  22. package/misc/decCommentFromHistory.js +2 -2
  23. package/misc/decMessage.js +34 -0
  24. package/misc/decMsg.js +30 -0
  25. package/misc/decScoresUser.js +45 -0
  26. package/misc/decodeAccountPost.js +2 -2
  27. package/misc/decodeGJComment.js +2 -2
  28. package/misc/decodeLevel.js +4 -4
  29. package/misc/decodeMapPack.js +0 -1
  30. package/misc/decodeUserResult.js +1 -5
  31. package/{functions/encURLSafeBase64.js → misc/encB64.js} +2 -3
  32. package/package.json +2 -3
  33. package/docs/blockUser.md +0 -21
  34. package/docs/deleteAccountPost.md +0 -23
  35. package/docs/dlLevel.md +0 -52
  36. package/docs/getAccountPosts.md +0 -71
  37. package/docs/getCommentHistory.md +0 -123
  38. package/docs/getComments.md +0 -113
  39. package/docs/getCreatorScores.md +0 -60
  40. package/docs/getDailyLevel.md +0 -17
  41. package/docs/getGauntlets.md +0 -81
  42. package/docs/getLevelByID.md +0 -51
  43. package/docs/getMapPacks.md +0 -88
  44. package/docs/getOfficialSongInfo.md +0 -25
  45. package/docs/getProfile.md +0 -36
  46. package/docs/getSongInfo.md +0 -26
  47. package/docs/getTop100.md +0 -56
  48. package/docs/getUserLevels.md +0 -84
  49. package/docs/getWeeklyDemon.md +0 -17
  50. package/docs/objects/acc_comment.md +0 -19
  51. package/docs/objects/comment.md +0 -34
  52. package/docs/objects/level.md +0 -95
  53. package/docs/objects/song.md +0 -28
  54. package/docs/objects/user.md +0 -61
  55. package/docs/reportLevel.md +0 -19
  56. package/docs/searchLevels.md +0 -113
  57. package/docs/updateLevelDesc.md +0 -23
  58. package/docs/uploadAccountPost.md +0 -27
  59. package/docs/uploadComment.md +0 -28
  60. package/functions/decURLSafeBase64.js +0 -10
@@ -5,38 +5,11 @@ module.exports = {
5
5
  if(!username || username == "") throw new Error("Please provide your player ID or username!");
6
6
  if(!password || password == "") throw new Error("Please provide your password!");
7
7
  const axios = require("axios");
8
+ const { searchUsers } = require("./searchUsers.js");
8
9
  const {headers, server} = require("../config.json");
9
10
 
10
- let resp = await axios.post(server + "getGJUsers20.php", {
11
- gameVersion: 21,
12
- binaryVersion: 35,
13
- gdw: 0,
14
- str: username,
15
- secret: "Wmfd2893gb7"
16
- }, {
17
- headers: headers
18
- }).catch(e => {
19
- if(e.response.data == -1) throw new Error(`Couldn't find a "${username}" user.`)
20
- throw new Error(e.response.data)
21
- })
22
-
23
- let accID = resp.data.split(":16:")[1].split(":3:")[0];
24
-
25
- const userData = {
26
- gameVersion: 21,
27
- binaryVersion: 35,
28
- gdw: 0,
29
- str: target,
30
- secret: "Wmfd2893gb7"
31
- }
32
-
33
- let r = await axios.post(server + "getGJUsers20.php", userData, {
34
- headers: headers
35
- }).catch(e => {
36
- if(e.response.data == -1) throw new Error(`Couldn't find a "${username}" user.`)
37
- throw new Error(e.response.data)
38
- })
39
- let targetId = r.data.split(":16:")[1].split(":3:")[0];
11
+ let user = await searchUsers(username);
12
+ let targetObj = await searchUsers(username);
40
13
 
41
14
  const {gjp} = require("../misc/gjp.js");
42
15
 
@@ -45,8 +18,8 @@ module.exports = {
45
18
  binaryVersion: 35,
46
19
  gdw: 0,
47
20
  secret: "Wmfd2893gb7",
48
- targetAccountID: targetId,
49
- accountID: accID,
21
+ targetAccountID: targetObj.accountID,
22
+ accountID: user.accountID,
50
23
  gjp: gjp(password)
51
24
  }
52
25
 
@@ -1,31 +1,15 @@
1
1
  module.exports = {
2
2
  deleteAccountPost:
3
3
  async function(id, str, password) {
4
- const {encURLSafeBase64} = require("./encURLSafeBase64.js");
5
4
  if(!id || id == "") throw new Error("Please provide an account post ID!");
6
5
  if(!str || str == "") throw new Error("Please provide a user ID or name!");
7
6
  if(!password || password == "") throw new Error("Please provide a password!");
8
7
 
9
8
  const axios = require("axios");
10
9
  const { headers, server } = require("../config.json");
10
+ const { searchUsers } = require("./searchUsers.js");
11
11
 
12
- const data = {
13
- gameVersion: 21,
14
- binaryVersion: 35,
15
- gdw: 0,
16
- str: str,
17
- secret: "Wmfd2893gb7"
18
- };
19
-
20
- let r = await axios.post(server + "getGJUsers20.php", data, {
21
- headers: headers
22
- }).catch(e => {
23
- if(e.response.data == -1) throw new Error("-1 This user is not found.");
24
- throw new Error(e.response.data);
25
- })
26
-
27
- let accId = r.data.split(":16:")[1].split(":3:")[0];
28
- if(Number(accId) < 71 || accId.includes(":")) accId = r.data.split(":16:")[2].split(":3:")[0];
12
+ let user = await searchUsers(str);
29
13
 
30
14
  const XOR = require("../misc/xor.js");
31
15
  const xor = new XOR();
@@ -34,7 +18,7 @@ module.exports = {
34
18
  gameVersion: 21,
35
19
  binaryVersion: 35,
36
20
  gdw: 0,
37
- accountID: accId,
21
+ accountID: user.accountID,
38
22
  secret: "Wmfd2893gb7",
39
23
  gjp: xor.encrypt(password, 37526),
40
24
  commentID: id,
@@ -1,7 +1,6 @@
1
1
  module.exports = {
2
2
  deleteComment:
3
3
  async function(id, lvl, str, password) {
4
- const {encURLSafeBase64} = require("./encURLSafeBase64.js");
5
4
  if(!id || id == "") throw new Error("Please provide a comment ID!");
6
5
  if(!lvl || lvl == "") throw new Error("Please provide a level ID!");
7
6
  if(!str || str == "") throw new Error("Please provide a user ID or name!");
@@ -9,33 +8,15 @@ module.exports = {
9
8
 
10
9
  const axios = require("axios");
11
10
  const { headers, server } = require("../config.json");
11
+ const { searchUsers } = require("./searchUsers.js");
12
12
 
13
- const data = {
14
- gameVersion: 21,
15
- binaryVersion: 35,
16
- gdw: 0,
17
- str: str,
18
- secret: "Wmfd2893gb7"
19
- };
20
-
21
- let r = await axios.post(server + "getGJUsers20.php", data, {
22
- headers: headers
23
- }).catch(e => {
24
- if(e.response.data == -1) throw new Error("-1 This user is not found.");
25
- throw new Error(e.response.data);
26
- })
27
-
28
- let accId = r.data.split(":16:")[1].split(":3:")[0];
29
- if(Number(accId) < 71 || accId.includes(":")) accId = r.data.split(":16:")[2].split(":3:")[0];
13
+ let user = await searchUsers(str);
30
14
 
31
15
  const XOR = require("../misc/xor.js");
32
16
  const xor = new XOR();
33
17
 
34
18
  let dACdata = {
35
- gameVersion: 21,
36
- binaryVersion: 35,
37
- gdw: 0,
38
- accountID: accId,
19
+ accountID: user.accountID,
39
20
  secret: "Wmfd2893gb7",
40
21
  levelID: lvl,
41
22
  gjp: xor.encrypt(password, 37526),
@@ -1,7 +1,7 @@
1
1
  module.exports = {
2
2
  dlLevel:
3
3
  async function(level) {
4
- const bs = require("js-base64");
4
+ const {decB64} = require("../misc/decB64.js");
5
5
  const zlib = require("zlib");
6
6
  if(!level || level == "") throw new Error("Please provide a level ID.");
7
7
  if(isNaN(level)) throw new Error("The level parameter should be a number.");
@@ -37,12 +37,11 @@ module.exports = {
37
37
 
38
38
  let id = levelInfo[0].split("1:")[1];
39
39
  let name = levelInfo[1].split("2:")[1];
40
- let description = bs.decode(levelInfo[2].split("3:")[1])
40
+ let description = decB64(levelInfo[2].split("3:")[1])
41
41
  let levelStr = levelInfo[3].split("4:")[1];
42
42
  let version = levelInfo[4].split("5:")[1];
43
43
  let difficulty = levelInfo[7].split("9:")[1];
44
44
  let downloads = levelInfo[8].split("10:")[1];
45
- let officialSong = levelInfo[9].split("12:")[1];
46
45
  let gameVersion = levelInfo[10].split("13:")[1];
47
46
  let likes = levelInfo[11].split("14:")[1];
48
47
  let demonBool = levelInfo[12].split("17:")[1];
@@ -54,7 +53,6 @@ module.exports = {
54
53
  let twoPlayer = levelInfo[21].split("31:")[1];
55
54
  let uploaded = levelInfo[22].split("28:")[1];
56
55
  let updated = levelInfo[23].split("29:")[1];
57
- let customSong = levelInfo[24].split("35:")[1];
58
56
  let coins = levelInfo[26].split("37:")[1];
59
57
  let verifiedCoins = levelInfo[27].split("38:")[1];
60
58
  let starsRequested = levelInfo[28].split("39:")[1];
@@ -0,0 +1,32 @@
1
+ module.exports = {
2
+ dlMessage:
3
+ async function(id, user, pass) {
4
+ if(!id || id == "") throw new Error("Please provide a message ID!");
5
+ if(Number(id) == NaN) throw new Error("The message ID should be a number!");
6
+ if(!user || user == "") throw new Error("Please provide your player ID or username!");
7
+ if(!pass || pass == "") throw new Error("Please provide your password!");
8
+
9
+ const axios = require("axios");
10
+ const {headers, server, secret} = require("../config.json");
11
+ const { searchUsers } = require("./searchUsers.js");
12
+ const {gjp} = require("../misc/gjp.js");
13
+ const {decMessage} = require("../misc/decMessage.js");
14
+
15
+ let userObj = await searchUsers(user);
16
+
17
+ const msgData = {
18
+ accountID: userObj.accountID,
19
+ gjp: gjp(pass),
20
+ secret: secret,
21
+ messageID: id
22
+ }
23
+
24
+ let res = await axios.post(server + "downloadGJMessage20.php", msgData, {
25
+ headers: headers
26
+ }).catch(e => {
27
+ throw new Error(e.response.data)
28
+ })
29
+
30
+ return decMessage(res.data);
31
+ }
32
+ }
@@ -5,30 +5,15 @@ module.exports = {
5
5
  const { decodeAccountPost } = require("../misc/decodeAccountPost.js");
6
6
  const axios = require("axios");
7
7
  const { headers, server } = require("../config.json");
8
+ const { searchUsers } = require("./searchUsers.js");
8
9
 
9
- const data = {
10
- gameVersion: 21,
11
- binaryVersion: 35,
12
- gdw: 0,
13
- str: str,
14
- secret: "Wmfd2893gb7"
15
- };
16
-
17
- let r = await axios.post(server + "getGJUsers20.php", data, {
18
- headers: headers
19
- }).catch(e => {
20
- if(e.response.data == -1) throw new Error("-1 This user is not found.");
21
- throw new Error(e.response.data);
22
- })
23
-
24
- let id = r.data.split(":16:")[1].split(":3:")[0];
25
- if(Number(id) < 71 || id.includes(":")) id = r.data.split(":16:")[2].split(":3:")[0];
10
+ let user = await searchUsers(str);
26
11
 
27
12
  let ACdata = {
28
13
  gameVersion: 21,
29
14
  binaryVersion: 35,
30
15
  gdw: 0,
31
- accountID: id,
16
+ accountID: user.accountID,
32
17
  secret: "Wmfd2893gb7",
33
18
  page: page - 1
34
19
  };
@@ -6,24 +6,7 @@ module.exports = {
6
6
  const {headers, server} = require("../config.json");
7
7
  const {decCommentFromHistory} = require("../misc/decCommentFromHistory.js");
8
8
  const {getProfile} = require("./getProfile.js");
9
-
10
- const userData = {
11
- gameVersion: 21,
12
- binaryVersion: 35,
13
- gdw: 0,
14
- str: str,
15
- secret: "Wmfd2893gb7"
16
- }
17
-
18
- let r = await axios.post(server + "getGJUsers20.php", userData, {
19
- headers: headers
20
- }).catch(e => {
21
- if(e.response.data == -1) throw new Error("-1 This user is not found.");
22
- throw new Error(e.response.data);
23
- })
24
-
25
- let id = r.data.split(":2:")[1].split(":13:")[0];
26
-
9
+
27
10
  const user = await getProfile(id);
28
11
  if(user.commentHistory != "all") throw new Error("Whoops! This user has disabled viewing his comment history!")
29
12
 
@@ -1,7 +1,7 @@
1
1
  module.exports = {
2
2
  getCreatorScores:
3
3
  async function() {
4
- const { decodeUserResult } = require("../misc/decodeUserResult.js");
4
+ const { decScoresUser } = require("../misc/decScoresUser.js");
5
5
  const axios = require("axios");
6
6
  const { headers, server, secret } = require("../config.json");
7
7
 
@@ -22,7 +22,7 @@ module.exports = {
22
22
 
23
23
  let result = [];
24
24
  players.forEach(p => {
25
- result.push(decodeUserResult(p));
25
+ result.push(decScoresUser(p));
26
26
  });
27
27
 
28
28
  return result;
@@ -2,6 +2,7 @@ module.exports = {
2
2
  getMapPacks:
3
3
  async function(page = 1) {
4
4
  const { decodeMapPack } = require("../misc/decodeMapPack.js");
5
+
5
6
  const axios = require("axios");
6
7
  const { headers, server } = require("../config.json");
7
8
  const data = {
@@ -16,26 +17,11 @@ module.exports = {
16
17
  throw new Error(e.response.data);
17
18
  })
18
19
 
19
- let firstMapPack = res.data.split("|")[0];
20
- let secondMapPack = res.data.split("|")[1].split("|")[0];
21
- let thirdMapPack = res.data.split("|")[2].split("|")[0];
22
- let fourthMapPack = res.data.split("|")[3].split("|")[0];
23
- let fifthMapPack = res.data.split("|")[4].split("|")[0];
24
- let sixthMapPack;
25
- let seventhMapPack;
26
- let eighthMapPack;
27
- let ninthMapPack;
28
- let tenthMapPack;
29
- let result = [decodeMapPack(firstMapPack),decodeMapPack(secondMapPack),decodeMapPack(thirdMapPack),decodeMapPack(fourthMapPack),decodeMapPack(fifthMapPack)]
30
-
31
- if(res.data.split("|").length - 1 == 9) {
32
- sixthMapPack = res.data.split("|")[5].split("|")[0];
33
- seventhMapPack = res.data.split("|")[6].split("|")[0];
34
- eighthMapPack = res.data.split("|")[7].split("|")[0];
35
- ninthMapPack = res.data.split("|")[8].split("|")[0];
36
- tenthMapPack = res.data.split("|")[9].split("|")[0];
37
- result.push(decodeMapPack(sixthMapPack),decodeMapPack(seventhMapPack),decodeMapPack(eighthMapPack),decodeMapPack(ninthMapPack),decodeMapPack(tenthMapPack))
38
- }
20
+ let packs = res.data.split("|");
21
+ let result = [];
22
+ packs.forEach(p => {
23
+ result.push(decodeMapPack(p));
24
+ })
39
25
 
40
26
  return result;
41
27
  }
@@ -0,0 +1,37 @@
1
+ module.exports = {
2
+ getMessages:
3
+ async function(user, pass, page = 1) {
4
+ if(!user || user == "") throw new Error("Please provide your player ID or username!");
5
+ if(!pass || pass == "") throw new Error("Please provide your password!");
6
+ if(Number(page) == NaN) throw new Error("The page should be a number!");
7
+
8
+ const axios = require("axios");
9
+ const {headers, server, secret} = require("../config.json");
10
+ const {gjp} = require("../misc/gjp.js");
11
+ const {decMsg} = require("../misc/decMsg.js");
12
+ const { searchUsers } = require("./searchUsers.js");
13
+
14
+ let userObj = await searchUsers(user);
15
+
16
+ const msgData = {
17
+ accountID: userObj.accountID,
18
+ gjp: gjp(pass),
19
+ secret: secret,
20
+ page: page - 1
21
+ }
22
+
23
+ let res = await axios.post(server + "getGJMessages20.php", msgData, {
24
+ headers: headers
25
+ }).catch(e => {
26
+ throw new Error(e.response.data)
27
+ })
28
+
29
+ let msgs = res.data.split("|");
30
+ let result = [];
31
+ msgs.forEach(m => {
32
+ result.push(decMsg(m));
33
+ })
34
+
35
+ return result;
36
+ }
37
+ }
@@ -4,34 +4,19 @@ module.exports = {
4
4
  if(!str || str == "") throw new Error("Please provide a user ID or name!");
5
5
  const axios = require("axios");
6
6
  const { headers, server } = require("../config.json");
7
+ const { searchUsers } = require("./searchUsers.js");
7
8
 
8
- const data = {
9
- gameVersion: 21,
10
- binaryVersion: 35,
11
- gdw: 0,
12
- str: str,
13
- secret: "Wmfd2893gb7"
14
- };
15
-
16
- let r = await axios.post(server + "getGJUsers20.php", data, {
17
- headers: headers
18
- }).catch(e => {
19
- if(e.response.data == -1) throw new Error("-1 This user is not found.");
20
- throw new Error(e.response.data);
21
- })
22
-
23
- let id = r.data.split(":16:")[1].split(":3:")[0];
24
- if(Number(id) < 71 || id.includes(":")) id = r.data.split(":16:")[2].split(":3:")[0];
9
+ let user = await searchUsers(str);
25
10
 
26
- let GJUI20data = {
11
+ let data = {
27
12
  gameVersion: 21,
28
13
  binaryVersion: 35,
29
14
  gdw: 0,
30
- targetAccountID: id,
15
+ targetAccountID: user.accountID,
31
16
  secret: "Wmfd2893gb7"
32
17
  };
33
18
 
34
- let res = await axios.post(server + "getGJUserInfo20.php", GJUI20data, {
19
+ let res = await axios.post(server + "getGJUserInfo20.php", data, {
35
20
  headers: headers
36
21
  }).catch(e => {
37
22
  if(e.response.data == -1) throw new Error("-1 This user is not found.");
@@ -1,7 +1,7 @@
1
1
  module.exports = {
2
2
  getTop100:
3
3
  async function() {
4
- const { decodeUserResult } = require("../misc/decodeUserResult.js");
4
+ const { decScoresUser } = require("../misc/decScoresUser.js");
5
5
  const axios = require("axios");
6
6
  const { headers, server, secret } = require("../config.json");
7
7
 
@@ -22,7 +22,7 @@ module.exports = {
22
22
 
23
23
  let result = [];
24
24
  players.forEach(p => {
25
- result.push(decodeUserResult(p));
25
+ result.push(decScoresUser(p));
26
26
  });
27
27
 
28
28
  return result;
@@ -7,22 +7,6 @@ module.exports = {
7
7
  const { headers, secret, server } = require("../config.json");
8
8
  const { getLevelByID } = require("../functions/getLevelByID.js");
9
9
 
10
- const userdata = {
11
- gameVersion: 21,
12
- binaryVersion: 35,
13
- gdw: 0,
14
- str: str,
15
- secret: "Wmfd2893gb7"
16
- };
17
-
18
- let r = await axios.post(server + "getGJUsers20.php", userdata, {
19
- headers: headers
20
- }).catch(e => {
21
- throw new Error(e.response.data);
22
- })
23
-
24
- let id = r.data.split(":2:")[1].split(":13:")[0];
25
-
26
10
  const data = {
27
11
  type: 5,
28
12
  str: id,
@@ -0,0 +1,22 @@
1
+ module.exports = {
2
+ searchUsers:
3
+ async function(str) {
4
+ if(!str || str == '') throw new Error("Please provide a query!");
5
+
6
+ const axios = require("axios");
7
+ const { headers, server, secret } = require("../config.json");
8
+ const { decodeUserResult } = require("../misc/decodeUserResult.js");
9
+
10
+ let res = await axios.post(server + "getGJUsers20.php", {
11
+ str: str,
12
+ secret: "Wmfd2893gb7"
13
+ }, {
14
+ headers: headers
15
+ }).catch(e => {
16
+ if(e.response.data == -1) throw new Error(`Couldn't find a "${username}" user.`)
17
+ throw new Error(e.response.data)
18
+ });
19
+
20
+ return decodeUserResult(res.data);
21
+ }
22
+ }
@@ -6,37 +6,10 @@ module.exports = {
6
6
  if(!password || password == "") throw new Error("Please provide your password!");
7
7
  const axios = require("axios");
8
8
  const {headers, server} = require("../config.json");
9
+ const { searchUsers } = require("./searchUsers.js");
9
10
 
10
- let resp = await axios.post(server + "getGJUsers20.php", {
11
- gameVersion: 21,
12
- binaryVersion: 35,
13
- gdw: 0,
14
- str: username,
15
- secret: "Wmfd2893gb7"
16
- }, {
17
- headers: headers
18
- }).catch(e => {
19
- if(e.response.data == -1) throw new Error(`Couldn't find a "${username}" user.`)
20
- throw new Error(e.response.data)
21
- })
22
-
23
- let accID = resp.data.split(":16:")[1].split(":3:")[0];
24
-
25
- const userData = {
26
- gameVersion: 21,
27
- binaryVersion: 35,
28
- gdw: 0,
29
- str: target,
30
- secret: "Wmfd2893gb7"
31
- }
32
-
33
- let r = await axios.post(server + "getGJUsers20.php", userData, {
34
- headers: headers
35
- }).catch(e => {
36
- if(e.response.data == -1) throw new Error(`Couldn't find a "${username}" user.`)
37
- throw new Error(e.response.data)
38
- })
39
- let targetId = r.data.split(":16:")[1].split(":3:")[0];
11
+ let user = await searchUsers(username);
12
+ let target = await searchUsers(target);
40
13
 
41
14
  const {gjp} = require("../misc/gjp.js");
42
15
 
@@ -45,8 +18,8 @@ module.exports = {
45
18
  binaryVersion: 35,
46
19
  gdw: 0,
47
20
  secret: "Wmfd2893gb7",
48
- targetAccountID: targetId,
49
- accountID: accID,
21
+ targetAccountID: target.accountID,
22
+ accountID: user.accountID,
50
23
  gjp: gjp(password)
51
24
  }
52
25
 
@@ -11,32 +11,18 @@ module.exports = {
11
11
 
12
12
  const axios = require("axios");
13
13
  const { headers, server, secret } = require("../config.json");
14
+ const { searchUsers } = require("./searchUsers.js");
14
15
 
15
- const data = {
16
- gameVersion: 21,
17
- binaryVersion: 35,
18
- gdw: 0,
19
- str: user,
20
- secret: secret
21
- };
22
-
23
- let r = await axios.post(server + "getGJUsers20.php", data, {
24
- headers: headers
25
- }).catch(e => {
26
- throw new Error(e.response.data);
27
- })
28
-
29
- let id = r.data.split(":16:")[1].split(":3:")[0];
30
- if(Number(id) < 71 || id.includes(":")) id = r.data.split(":16:")[2].split(":3:")[0];
16
+ let userObj = await searchUsers(user);
31
17
 
32
18
  const { gjp } = require("../misc/gjp.js");
33
- const { encURLSafeBase64 } = require("./encURLSafeBase64.js");
19
+ const { encB64 } = require("../misc/encB64.js");
34
20
 
35
21
  const uLDdata = {
36
- accountID: id,
22
+ accountID: userObj.accountID,
37
23
  gjp: gjp(password),
38
24
  levelID: level,
39
- levelDesc: encURLSafeBase64(desc),
25
+ levelDesc: encB64(desc),
40
26
  secret: secret
41
27
  }
42
28
 
@@ -1,42 +1,27 @@
1
1
  module.exports = {
2
2
  uploadAccountPost:
3
3
  async function(content, str, password) {
4
- const {encURLSafeBase64} = require("./encURLSafeBase64.js");
4
+ const {encB64} = require("../misc/encB64.js");
5
5
  if(!content || content == "") throw new Error("Please provide an account post content!");
6
6
  if(!str || str == "") throw new Error("Please provide a user ID or name!");
7
7
  if(!password || password == "") throw new Error("Please provide a password!");
8
8
 
9
9
  const axios = require("axios");
10
10
  const { headers, server } = require("../config.json");
11
+ const { searchUsers } = require("./searchUsers.js");
11
12
 
12
- const data = {
13
- gameVersion: 21,
14
- binaryVersion: 35,
15
- gdw: 0,
16
- str: str,
17
- secret: "Wmfd2893gb7"
18
- };
19
-
20
- let r = await axios.post(server + "getGJUsers20.php", data, {
21
- headers: headers
22
- }).catch(e => {
23
- if(e.response.data == -1) throw new Error("-1 This user is not found.");
24
- throw new Error(e.response.data);
25
- })
26
-
27
- let id = r.data.split(":16:")[1].split(":3:")[0];
28
- if(Number(id) < 71 || id.includes(":")) id = r.data.split(":16:")[2].split(":3:")[0];
13
+ let user = await searchUsers(str);
29
14
 
30
15
  const XOR = require("../misc/xor.js");
31
16
  const xor = new XOR();
32
17
 
33
- const comment = encURLSafeBase64(content);
18
+ const comment = encB64(content);
34
19
 
35
20
  let uACdata = {
36
21
  gameVersion: 21,
37
22
  binaryVersion: 35,
38
23
  gdw: 0,
39
- accountID: id,
24
+ accountID: user.accountID,
40
25
  secret: "Wmfd2893gb7",
41
26
  gjp: xor.encrypt(password, 37526),
42
27
  comment: comment,
@@ -8,45 +8,29 @@ module.exports = {
8
8
  if(Number(percent) > 100) throw new Error("The percentage cannot be more than 100!");
9
9
 
10
10
  const { gjp } = require("../misc/gjp.js");
11
- const { encURLSafeBase64 } = require("./encURLSafeBase64.js");
11
+ const { encB64 } = require("../misc/encB64.js");
12
12
  const axios = require("axios");
13
13
  const { headers, server } = require("../config.json");
14
14
  const crypto = require('crypto')
15
+ const { searchUsers } = require("./searchUsers.js");
15
16
 
16
17
  function sha1(data) {
17
18
  return crypto.createHash("sha1").update(data, "binary").digest("hex");
18
19
  }
19
20
 
20
- const data = {
21
- gameVersion: 21,
22
- binaryVersion: 35,
23
- gdw: 0,
24
- str: user,
25
- secret: "Wmfd2893gb7"
26
- };
27
-
28
- let r = await axios.post(server + "getGJUsers20.php", data, {
29
- headers: headers
30
- }).catch(e => {
31
- if(r.data == -1) throw new Error("-1 This user is not found.")
32
- throw new Error(e.response.data)
33
- })
34
-
35
- let username = r.data.split("1:")[1].split(":2:")[0];
36
- let accID = r.data.split(":16:")[1].split(":3:")[0];
37
- if(Number(accID) < 71 || accID.includes(":")) accID = r.data.split(":16:")[2].split(":3:")[0];
21
+ let userObj = await searchUsers(user);
38
22
 
39
23
  const XOR = require("../misc/xor.js");
40
24
  const xor = new XOR();
41
25
 
42
- let chkStr = username + encURLSafeBase64(comment) + Number(id) + Number(percent) + "0xPT6iUrtws0J";
26
+ let chkStr = userObj.username + encB64(comment) + Number(id) + Number(percent) + "0xPT6iUrtws0J";
43
27
  let chk = xor.encrypt(sha1(chkStr), 29481);
44
28
 
45
29
  const uCdata = {
46
- accountID: accID,
30
+ accountID: userObj.accountID,
47
31
  gjp: gjp(password),
48
- userName: username,
49
- comment: encURLSafeBase64(comment),
32
+ userName: userObj.username,
33
+ comment: encB64(comment),
50
34
  levelID: id,
51
35
  percent: percent,
52
36
  chk: chk,