gj-boomlings-api 1.2.2 → 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.
- package/functions/blockUser.js +5 -32
- package/functions/deleteAccountPost.js +3 -19
- package/functions/deleteComment.js +3 -22
- package/functions/dlLevel.js +12 -12
- package/functions/dlMessage.js +32 -0
- package/functions/getAccountPosts.js +9 -121
- package/functions/getCommentHistory.js +7 -121
- package/functions/getComments.js +5 -102
- package/functions/getCreatorScores.js +11 -203
- package/functions/getGauntlets.js +5 -33
- package/functions/getMapPacks.js +6 -20
- package/functions/getMessages.js +37 -0
- package/functions/getProfile.js +10 -22
- package/functions/getTop100.js +11 -203
- 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 +6 -20
- package/functions/uploadComment.js +7 -23
- package/functions/uploadMessage.js +39 -0
- package/index.js +9 -5
- package/misc/colors.json +44 -0
- 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 +20 -13
- package/misc/decodeLevel.js +4 -4
- package/misc/decodeMapPack.js +1 -14
- package/misc/decodeUserResult.js +8 -9
- package/{functions/encURLSafeBase64.js → misc/encB64.js} +2 -3
- package/misc/rgbToHEX.js +16 -0
- 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
package/functions/getTop100.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
getTop100:
|
|
3
3
|
async function() {
|
|
4
|
-
const {
|
|
4
|
+
const { decScoresUser } = require("../misc/decScoresUser.js");
|
|
5
5
|
const axios = require("axios");
|
|
6
6
|
const { headers, server, secret } = require("../config.json");
|
|
7
7
|
|
|
@@ -15,208 +15,16 @@ module.exports = {
|
|
|
15
15
|
headers: headers
|
|
16
16
|
})
|
|
17
17
|
|
|
18
|
-
let
|
|
19
|
-
let
|
|
20
|
-
let p3 = res.data.split("|")[2].split("|")[0];
|
|
21
|
-
let p4 = res.data.split("|")[3].split("|")[0];
|
|
22
|
-
let p5 = res.data.split("|")[4].split("|")[0];
|
|
23
|
-
let p6 = res.data.split("|")[5].split("|")[0];
|
|
24
|
-
let p7 = res.data.split("|")[6].split("|")[0];
|
|
25
|
-
let p8 = res.data.split("|")[7].split("|")[0];
|
|
26
|
-
let p9 = res.data.split("|")[8].split("|")[0];
|
|
27
|
-
let p10 = res.data.split("|")[9].split("|")[0];
|
|
28
|
-
let p11 = res.data.split("|")[10].split("|")[0];
|
|
29
|
-
let p12 = res.data.split("|")[11].split("|")[0];
|
|
30
|
-
let p13 = res.data.split("|")[12].split("|")[0];
|
|
31
|
-
let p14 = res.data.split("|")[13].split("|")[0];
|
|
32
|
-
let p15 = res.data.split("|")[14].split("|")[0];
|
|
33
|
-
let p16 = res.data.split("|")[15].split("|")[0];
|
|
34
|
-
let p17 = res.data.split("|")[16].split("|")[0];
|
|
35
|
-
let p18 = res.data.split("|")[17].split("|")[0];
|
|
36
|
-
let p19 = res.data.split("|")[18].split("|")[0];
|
|
37
|
-
let p20 = res.data.split("|")[19].split("|")[0];
|
|
38
|
-
let p21 = res.data.split("|")[20].split("|")[0];
|
|
39
|
-
let p22 = res.data.split("|")[21].split("|")[0];
|
|
40
|
-
let p23 = res.data.split("|")[22].split("|")[0];
|
|
41
|
-
let p24 = res.data.split("|")[23].split("|")[0];
|
|
42
|
-
let p25 = res.data.split("|")[24].split("|")[0];
|
|
43
|
-
let p26 = res.data.split("|")[25].split("|")[0];
|
|
44
|
-
let p27 = res.data.split("|")[26].split("|")[0];
|
|
45
|
-
let p28 = res.data.split("|")[27].split("|")[0];
|
|
46
|
-
let p29 = res.data.split("|")[28].split("|")[0];
|
|
47
|
-
let p30 = res.data.split("|")[29].split("|")[0];
|
|
48
|
-
let p31 = res.data.split("|")[30].split("|")[0];
|
|
49
|
-
let p32 = res.data.split("|")[31].split("|")[0];
|
|
50
|
-
let p33 = res.data.split("|")[32].split("|")[0];
|
|
51
|
-
let p34 = res.data.split("|")[33].split("|")[0];
|
|
52
|
-
let p35 = res.data.split("|")[34].split("|")[0];
|
|
53
|
-
let p36 = res.data.split("|")[35].split("|")[0];
|
|
54
|
-
let p37 = res.data.split("|")[36].split("|")[0];
|
|
55
|
-
let p38 = res.data.split("|")[37].split("|")[0];
|
|
56
|
-
let p39 = res.data.split("|")[38].split("|")[0];
|
|
57
|
-
let p40 = res.data.split("|")[39].split("|")[0];
|
|
58
|
-
let p41 = res.data.split("|")[40].split("|")[0];
|
|
59
|
-
let p42 = res.data.split("|")[41].split("|")[0];
|
|
60
|
-
let p43 = res.data.split("|")[42].split("|")[0];
|
|
61
|
-
let p44 = res.data.split("|")[43].split("|")[0];
|
|
62
|
-
let p45 = res.data.split("|")[44].split("|")[0];
|
|
63
|
-
let p46 = res.data.split("|")[45].split("|")[0];
|
|
64
|
-
let p47 = res.data.split("|")[46].split("|")[0];
|
|
65
|
-
let p48 = res.data.split("|")[47].split("|")[0];
|
|
66
|
-
let p49 = res.data.split("|")[48].split("|")[0];
|
|
67
|
-
let p50 = res.data.split("|")[49].split("|")[0];
|
|
68
|
-
let p51 = res.data.split("|")[50].split("|")[0];
|
|
69
|
-
let p52 = res.data.split("|")[51].split("|")[0];
|
|
70
|
-
let p53 = res.data.split("|")[52].split("|")[0];
|
|
71
|
-
let p54 = res.data.split("|")[53].split("|")[0];
|
|
72
|
-
let p55 = res.data.split("|")[54].split("|")[0];
|
|
73
|
-
let p56 = res.data.split("|")[55].split("|")[0];
|
|
74
|
-
let p57 = res.data.split("|")[56].split("|")[0];
|
|
75
|
-
let p58 = res.data.split("|")[57].split("|")[0];
|
|
76
|
-
let p59 = res.data.split("|")[58].split("|")[0];
|
|
77
|
-
let p60 = res.data.split("|")[59].split("|")[0];
|
|
78
|
-
let p61 = res.data.split("|")[60].split("|")[0];
|
|
79
|
-
let p62 = res.data.split("|")[61].split("|")[0];
|
|
80
|
-
let p63 = res.data.split("|")[62].split("|")[0];
|
|
81
|
-
let p64 = res.data.split("|")[63].split("|")[0];
|
|
82
|
-
let p65 = res.data.split("|")[64].split("|")[0];
|
|
83
|
-
let p66 = res.data.split("|")[65].split("|")[0];
|
|
84
|
-
let p67 = res.data.split("|")[66].split("|")[0];
|
|
85
|
-
let p68 = res.data.split("|")[67].split("|")[0];
|
|
86
|
-
let p69 = res.data.split("|")[68].split("|")[0];
|
|
87
|
-
let p70 = res.data.split("|")[69].split("|")[0];
|
|
88
|
-
let p71 = res.data.split("|")[70].split("|")[0];
|
|
89
|
-
let p72 = res.data.split("|")[71].split("|")[0];
|
|
90
|
-
let p73 = res.data.split("|")[72].split("|")[0];
|
|
91
|
-
let p74 = res.data.split("|")[73].split("|")[0];
|
|
92
|
-
let p75 = res.data.split("|")[74].split("|")[0];
|
|
93
|
-
let p76 = res.data.split("|")[75].split("|")[0];
|
|
94
|
-
let p77 = res.data.split("|")[76].split("|")[0];
|
|
95
|
-
let p78 = res.data.split("|")[77].split("|")[0];
|
|
96
|
-
let p79 = res.data.split("|")[78].split("|")[0];
|
|
97
|
-
let p80 = res.data.split("|")[79].split("|")[0];
|
|
98
|
-
let p81 = res.data.split("|")[80].split("|")[0];
|
|
99
|
-
let p82 = res.data.split("|")[81].split("|")[0];
|
|
100
|
-
let p83 = res.data.split("|")[82].split("|")[0];
|
|
101
|
-
let p84 = res.data.split("|")[83].split("|")[0];
|
|
102
|
-
let p85 = res.data.split("|")[84].split("|")[0];
|
|
103
|
-
let p86 = res.data.split("|")[85].split("|")[0];
|
|
104
|
-
let p87 = res.data.split("|")[86].split("|")[0];
|
|
105
|
-
let p88 = res.data.split("|")[87].split("|")[0];
|
|
106
|
-
let p89 = res.data.split("|")[88].split("|")[0];
|
|
107
|
-
let p90 = res.data.split("|")[89].split("|")[0];
|
|
108
|
-
let p91 = res.data.split("|")[90].split("|")[0];
|
|
109
|
-
let p92 = res.data.split("|")[91].split("|")[0];
|
|
110
|
-
let p93 = res.data.split("|")[92].split("|")[0];
|
|
111
|
-
let p94 = res.data.split("|")[93].split("|")[0];
|
|
112
|
-
let p95 = res.data.split("|")[94].split("|")[0];
|
|
113
|
-
let p96 = res.data.split("|")[95].split("|")[0];
|
|
114
|
-
let p97 = res.data.split("|")[96].split("|")[0];
|
|
115
|
-
let p98 = res.data.split("|")[97].split("|")[0];
|
|
116
|
-
let p99 = res.data.split("|")[98].split("|")[0];
|
|
117
|
-
let p100 = res.data.split("|")[99].split("|")[0];
|
|
18
|
+
let players = res.data.split("|");
|
|
19
|
+
let emptyElem = players.indexOf(100);
|
|
118
20
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
decodeUserResult(p8),
|
|
128
|
-
decodeUserResult(p9),
|
|
129
|
-
decodeUserResult(p10),
|
|
130
|
-
decodeUserResult(p11),
|
|
131
|
-
decodeUserResult(p12),
|
|
132
|
-
decodeUserResult(p13),
|
|
133
|
-
decodeUserResult(p14),
|
|
134
|
-
decodeUserResult(p15),
|
|
135
|
-
decodeUserResult(p16),
|
|
136
|
-
decodeUserResult(p17),
|
|
137
|
-
decodeUserResult(p18),
|
|
138
|
-
decodeUserResult(p19),
|
|
139
|
-
decodeUserResult(p20),
|
|
140
|
-
decodeUserResult(p21),
|
|
141
|
-
decodeUserResult(p22),
|
|
142
|
-
decodeUserResult(p23),
|
|
143
|
-
decodeUserResult(p24),
|
|
144
|
-
decodeUserResult(p25),
|
|
145
|
-
decodeUserResult(p26),
|
|
146
|
-
decodeUserResult(p27),
|
|
147
|
-
decodeUserResult(p28),
|
|
148
|
-
decodeUserResult(p29),
|
|
149
|
-
decodeUserResult(p30),
|
|
150
|
-
decodeUserResult(p31),
|
|
151
|
-
decodeUserResult(p32),
|
|
152
|
-
decodeUserResult(p33),
|
|
153
|
-
decodeUserResult(p34),
|
|
154
|
-
decodeUserResult(p35),
|
|
155
|
-
decodeUserResult(p36),
|
|
156
|
-
decodeUserResult(p37),
|
|
157
|
-
decodeUserResult(p38),
|
|
158
|
-
decodeUserResult(p39),
|
|
159
|
-
decodeUserResult(p40),
|
|
160
|
-
decodeUserResult(p41),
|
|
161
|
-
decodeUserResult(p42),
|
|
162
|
-
decodeUserResult(p43),
|
|
163
|
-
decodeUserResult(p44),
|
|
164
|
-
decodeUserResult(p45),
|
|
165
|
-
decodeUserResult(p46),
|
|
166
|
-
decodeUserResult(p47),
|
|
167
|
-
decodeUserResult(p48),
|
|
168
|
-
decodeUserResult(p49),
|
|
169
|
-
decodeUserResult(p50),
|
|
170
|
-
decodeUserResult(p51),
|
|
171
|
-
decodeUserResult(p52),
|
|
172
|
-
decodeUserResult(p53),
|
|
173
|
-
decodeUserResult(p54),
|
|
174
|
-
decodeUserResult(p55),
|
|
175
|
-
decodeUserResult(p56),
|
|
176
|
-
decodeUserResult(p57),
|
|
177
|
-
decodeUserResult(p58),
|
|
178
|
-
decodeUserResult(p59),
|
|
179
|
-
decodeUserResult(p60),
|
|
180
|
-
decodeUserResult(p61),
|
|
181
|
-
decodeUserResult(p62),
|
|
182
|
-
decodeUserResult(p63),
|
|
183
|
-
decodeUserResult(p64),
|
|
184
|
-
decodeUserResult(p65),
|
|
185
|
-
decodeUserResult(p66),
|
|
186
|
-
decodeUserResult(p67),
|
|
187
|
-
decodeUserResult(p68),
|
|
188
|
-
decodeUserResult(p69),
|
|
189
|
-
decodeUserResult(p70),
|
|
190
|
-
decodeUserResult(p71),
|
|
191
|
-
decodeUserResult(p72),
|
|
192
|
-
decodeUserResult(p73),
|
|
193
|
-
decodeUserResult(p74),
|
|
194
|
-
decodeUserResult(p75),
|
|
195
|
-
decodeUserResult(p76),
|
|
196
|
-
decodeUserResult(p77),
|
|
197
|
-
decodeUserResult(p78),
|
|
198
|
-
decodeUserResult(p79),
|
|
199
|
-
decodeUserResult(p80),
|
|
200
|
-
decodeUserResult(p81),
|
|
201
|
-
decodeUserResult(p82),
|
|
202
|
-
decodeUserResult(p83),
|
|
203
|
-
decodeUserResult(p84),
|
|
204
|
-
decodeUserResult(p85),
|
|
205
|
-
decodeUserResult(p86),
|
|
206
|
-
decodeUserResult(p87),
|
|
207
|
-
decodeUserResult(p88),
|
|
208
|
-
decodeUserResult(p89),
|
|
209
|
-
decodeUserResult(p90),
|
|
210
|
-
decodeUserResult(p91),
|
|
211
|
-
decodeUserResult(p92),
|
|
212
|
-
decodeUserResult(p93),
|
|
213
|
-
decodeUserResult(p94),
|
|
214
|
-
decodeUserResult(p95),
|
|
215
|
-
decodeUserResult(p96),
|
|
216
|
-
decodeUserResult(p97),
|
|
217
|
-
decodeUserResult(p98),
|
|
218
|
-
decodeUserResult(p99),
|
|
219
|
-
decodeUserResult(p100)
|
|
220
|
-
];
|
|
21
|
+
players.splice(emptyElem, 1);
|
|
22
|
+
|
|
23
|
+
let result = [];
|
|
24
|
+
players.forEach(p => {
|
|
25
|
+
result.push(decScoresUser(p));
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
return result;
|
|
221
29
|
}
|
|
222
30
|
}
|
|
@@ -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
|
+
}
|
package/functions/unblockUser.js
CHANGED
|
@@ -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
|
|
11
|
-
|
|
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:
|
|
49
|
-
accountID:
|
|
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
|
-
|
|
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 {
|
|
19
|
+
const { encB64 } = require("../misc/encB64.js");
|
|
34
20
|
|
|
35
21
|
const uLDdata = {
|
|
36
|
-
accountID:
|
|
22
|
+
accountID: userObj.accountID,
|
|
37
23
|
gjp: gjp(password),
|
|
38
24
|
levelID: level,
|
|
39
|
-
levelDesc:
|
|
25
|
+
levelDesc: encB64(desc),
|
|
40
26
|
secret: secret
|
|
41
27
|
}
|
|
42
28
|
|
|
@@ -1,41 +1,27 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
uploadAccountPost:
|
|
3
3
|
async function(content, str, password) {
|
|
4
|
-
const {
|
|
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
|
const axios = require("axios");
|
|
9
10
|
const { headers, server } = require("../config.json");
|
|
11
|
+
const { searchUsers } = require("./searchUsers.js");
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
gameVersion: 21,
|
|
13
|
-
binaryVersion: 35,
|
|
14
|
-
gdw: 0,
|
|
15
|
-
str: str,
|
|
16
|
-
secret: "Wmfd2893gb7"
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
let r = await axios.post(server + "getGJUsers20.php", data, {
|
|
20
|
-
headers: headers
|
|
21
|
-
}).catch(e => {
|
|
22
|
-
if(e.response.data == -1) throw new Error("-1 This user is not found.");
|
|
23
|
-
throw new Error(e.response.data);
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
let id = r.data.split(":16:")[1].split(":3:")[0];
|
|
27
|
-
if(Number(id) < 71 || id.includes(":")) id = r.data.split(":16:")[2].split(":3:")[0];
|
|
13
|
+
let user = await searchUsers(str);
|
|
28
14
|
|
|
29
15
|
const XOR = require("../misc/xor.js");
|
|
30
16
|
const xor = new XOR();
|
|
31
17
|
|
|
32
|
-
const comment =
|
|
18
|
+
const comment = encB64(content);
|
|
33
19
|
|
|
34
20
|
let uACdata = {
|
|
35
21
|
gameVersion: 21,
|
|
36
22
|
binaryVersion: 35,
|
|
37
23
|
gdw: 0,
|
|
38
|
-
accountID:
|
|
24
|
+
accountID: user.accountID,
|
|
39
25
|
secret: "Wmfd2893gb7",
|
|
40
26
|
gjp: xor.encrypt(password, 37526),
|
|
41
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 {
|
|
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
|
-
|
|
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 +
|
|
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:
|
|
30
|
+
accountID: userObj.accountID,
|
|
47
31
|
gjp: gjp(password),
|
|
48
|
-
userName: username,
|
|
49
|
-
comment:
|
|
32
|
+
userName: userObj.username,
|
|
33
|
+
comment: encB64(comment),
|
|
50
34
|
levelID: id,
|
|
51
35
|
percent: percent,
|
|
52
36
|
chk: chk,
|
|
@@ -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/colors.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"0": "125,255,0",
|
|
3
|
+
"1": "0,255,0",
|
|
4
|
+
"2": "0,255,125",
|
|
5
|
+
"3": "0,255,255",
|
|
6
|
+
"4": "0,125,255",
|
|
7
|
+
"5": "0,0,255",
|
|
8
|
+
"6": "125,0,255",
|
|
9
|
+
"7": "255,0,255",
|
|
10
|
+
"8": "255,0,125",
|
|
11
|
+
"9": "255,0,0",
|
|
12
|
+
"10": "255,125,0",
|
|
13
|
+
"11": "255,255,0",
|
|
14
|
+
"12": "255,255,255",
|
|
15
|
+
"13": "185,0,255",
|
|
16
|
+
"14": "255,185,0",
|
|
17
|
+
"15": "0,0,0",
|
|
18
|
+
"16": "0,200,255",
|
|
19
|
+
"17": "175,175,175",
|
|
20
|
+
"18": "90,90,90",
|
|
21
|
+
"19": "255,125,125",
|
|
22
|
+
"20": "0,175,75",
|
|
23
|
+
"21": "0,125,125",
|
|
24
|
+
"22": "0,75,175",
|
|
25
|
+
"23": "75,0,175",
|
|
26
|
+
"24": "125,0,125",
|
|
27
|
+
"25": "175,0,75",
|
|
28
|
+
"26": "175,75,0",
|
|
29
|
+
"27": "125,125,0",
|
|
30
|
+
"28": "75,175,0",
|
|
31
|
+
"29": "255,75,0",
|
|
32
|
+
"30": "150,50,0",
|
|
33
|
+
"31": "150,100,0",
|
|
34
|
+
"32": "100,150,0",
|
|
35
|
+
"33": "0,150,100",
|
|
36
|
+
"34": "0,100,150",
|
|
37
|
+
"35": "100,0,150",
|
|
38
|
+
"36": "150,0,100",
|
|
39
|
+
"37": "150,0,0",
|
|
40
|
+
"38": "0,150,0",
|
|
41
|
+
"39": "0,0,150",
|
|
42
|
+
"40": "125,255,175",
|
|
43
|
+
"41": "125,125,255"
|
|
44
|
+
}
|
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
|
+
}
|