gj-boomlings-api 0.2.0 → 0.4.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 (39) hide show
  1. package/README.md +9 -44
  2. package/config.json +1 -1
  3. package/docs/dlLevel.md +52 -0
  4. package/docs/getAccountPosts.md +71 -0
  5. package/docs/getCommentHistory.md +123 -0
  6. package/docs/getComments.md +113 -0
  7. package/docs/getDailyLevel.md +17 -0
  8. package/docs/getGauntlets.md +81 -0
  9. package/docs/getOfficialSongInfo.md +25 -0
  10. package/docs/getProfile.md +36 -0
  11. package/docs/getSongInfo.md +26 -0
  12. package/docs/getWeeklyDemon.md +17 -0
  13. package/docs/objects/acc_comment.md +19 -0
  14. package/docs/objects/comment.md +34 -0
  15. package/docs/objects/level.md +95 -0
  16. package/docs/objects/song.md +28 -0
  17. package/docs/objects/user.md +61 -0
  18. package/docs/reportLevel.md +19 -0
  19. package/docs/uploadAccountPost.md +27 -0
  20. package/functions/decURLSafeBase64.js +1 -1
  21. package/functions/dlLevel.js +7 -7
  22. package/functions/encURLSafeBase64.js +2 -2
  23. package/functions/getAccountPosts.js +147 -0
  24. package/functions/getCommentHistory.js +146 -0
  25. package/functions/getComments.js +106 -14
  26. package/functions/getGauntlets.js +55 -0
  27. package/functions/getOfficialSongInfo.js +1 -1
  28. package/functions/getProfile.js +4 -4
  29. package/functions/getSongInfo.js +3 -3
  30. package/functions/reportLevel.js +4 -4
  31. package/functions/uploadAccountPost.js +53 -0
  32. package/index.js +9 -3
  33. package/misc/decCommentFromHistory.js +31 -0
  34. package/misc/decodeAccountPost.js +18 -0
  35. package/misc/decodeGJComment.js +2 -8
  36. package/misc/decodeGJGauntlet.js +45 -0
  37. package/misc/officialsongs.json +0 -39
  38. package/package.json +1 -2
  39. package/functions/getLevelData.js +0 -30
@@ -2,272 +2,233 @@
2
2
  "name": "Stereo Madness",
3
3
  "id": "Level 1",
4
4
  "artist": "ForeverBound",
5
- "fileSize": "0 MB",
6
5
  "link": "https://www.youtube.com/watch?v=JhKyKEDxo8Q"
7
6
  },"bot": {
8
7
  "name": "Back on Track",
9
8
  "id": "Level 2",
10
9
  "artist": "DJVI",
11
- "fileSize": "0 MB",
12
10
  "link": "https://www.youtube.com/watch?v=N9vDTYZpqXM"
13
11
  },
14
12
  "pg": {
15
13
  "name": "Polargeist",
16
14
  "id": "Level 3",
17
15
  "artist": "Step",
18
- "fileSize": "0 MB",
19
16
  "link": "https://www.youtube.com/watch?v=4W28wWWxKuQ"
20
17
  },
21
18
  "dout": {
22
19
  "name": "Dry Out",
23
20
  "id": "Level 4",
24
21
  "artist": "DJVI",
25
- "fileSize": "0 MB",
26
22
  "link": "https://www.youtube.com/watch?v=FnXabH2q2A0"
27
23
  },
28
24
  "bab": {
29
25
  "name": "Base After Base",
30
26
  "id": "Level 5",
31
27
  "artist": "DJVI",
32
- "fileSize": "0 MB",
33
28
  "link": "https://www.youtube.com/watch?v=TZULkgQPHt0"
34
29
  },
35
30
  "clg": {
36
31
  "name": "Cant Let Go",
37
32
  "id": "Level 6",
38
33
  "artist": "DJVI",
39
- "fileSize": "0 MB",
40
34
  "link": "https://www.youtube.com/watch?v=fLnF-QnR1Zw"
41
35
  },
42
36
  "j": {
43
37
  "name": "Jumper",
44
38
  "id": "Level 7",
45
39
  "artist": "Waterflame",
46
- "fileSize": "0 MB",
47
40
  "link": "https://www.youtube.com/watch?v=ZXHO4AN_49Q"
48
41
  },
49
42
  "tm": {
50
43
  "name": "Time Machine",
51
44
  "id": "Level 8",
52
45
  "artist": "Waterflame",
53
- "fileSize": "0 MB",
54
46
  "link": "https://www.youtube.com/watch?v=zZ1L9JD6l0g"
55
47
  },
56
48
  "c": {
57
49
  "name": "Cycles",
58
50
  "id": "Level 9",
59
51
  "artist": "DJVI",
60
- "fileSize": "0 MB",
61
52
  "link": "https://www.youtube.com/watch?v=KDdvGZn6Gfs"
62
53
  },
63
54
  "xs": {
64
55
  "name": "xStep",
65
56
  "id": "Level 10",
66
57
  "artist": "DJVI",
67
- "fileSize": "0 MB",
68
58
  "link": "https://www.youtube.com/watch?v=PSvYfVGyQfw"
69
59
  },
70
60
  "cf": {
71
61
  "name": "Clutterfunk",
72
62
  "id": "Level 11",
73
63
  "artist": "Waterflame",
74
- "fileSize": "0 MB",
75
64
  "link": "https://www.youtube.com/watch?v=D5uJOpItgNg"
76
65
  },
77
66
  "toe": {
78
67
  "name": "Theory of Everything",
79
68
  "id": "Level 12",
80
69
  "artist": "DJ-Nate",
81
- "fileSize": "0 MB",
82
70
  "link": "https://www.newgrounds.com/audio/listen/354826"
83
71
  },
84
72
  "ea": {
85
73
  "name": "Electroman Adventures",
86
74
  "id": "Level 13",
87
75
  "artist": "Waterflame",
88
- "fileSize": "0 MB",
89
76
  "link": "https://www.youtube.com/watch?v=Pb6KyewC_Vg"
90
77
  },
91
78
  "cs": {
92
79
  "name": "Clubstep",
93
80
  "id": "Level 14",
94
81
  "artist": "DJ-Nate",
95
- "fileSize": "0 MB",
96
82
  "link": "https://www.newgrounds.com/audio/listen/396093"
97
83
  },
98
84
  "ed": {
99
85
  "name": "Electrodynamix",
100
86
  "id": "Level 15",
101
87
  "artist": "DJ-Nate",
102
- "fileSize": "0 MB",
103
88
  "link": "https://www.newgrounds.com/audio/listen/368392"
104
89
  },
105
90
  "hf": {
106
91
  "name": "Hexagon Force",
107
92
  "id": "Level 16",
108
93
  "artist": "Waterflame",
109
- "fileSize": "0 MB",
110
94
  "link": "https://www.youtube.com/watch?v=afwK743PL2Y"
111
95
  },
112
96
  "bp": {
113
97
  "name": "Blast Processing",
114
98
  "id": "Level 17",
115
99
  "artist": "Waterflame",
116
- "fileSize": "0 MB",
117
100
  "link": "https://www.youtube.com/watch?v=Z5RufkDHsdM"
118
101
  },
119
102
  "toeii": {
120
103
  "name": "Theory of Everything 2",
121
104
  "id": "Level 18",
122
105
  "artist": "DJ-Nate",
123
- "fileSize": "0 MB",
124
106
  "link": "https://www.newgrounds.com/audio/listen/790340"
125
107
  },
126
108
  "gd": {
127
109
  "name": "Geometrical Dominator",
128
110
  "id": "Level 19",
129
111
  "artist": "Waterflame",
130
- "fileSize": "0 MB",
131
112
  "link": "https://www.newgrounds.com/audio/listen/641172"
132
113
  },
133
114
  "d": {
134
115
  "name": "Deadlocked",
135
116
  "id": "Level 20",
136
117
  "artist": "F-777",
137
- "fileSize": "0 MB",
138
118
  "link": "https://www.youtube.com/watch?v=QRGkFkf2r0U"
139
119
  },
140
120
  "fd": {
141
121
  "name": "Fingerdash",
142
122
  "id": "Level 21",
143
123
  "artist": "MDK",
144
- "fileSize": "0 MB",
145
124
  "link": "https://www.youtube.com/watch?v=BuPmq7yjDnI"
146
125
  },
147
126
  "tss": {
148
127
  "name": "The Seven Seas",
149
128
  "id": "Level 1 (Geometry Dash: Meltdown)",
150
129
  "artist": "F-777",
151
- "fileSize": "0 MB",
152
130
  "link": "https://www.youtube.com/watch?v=38fPQ5JKQ_Q"
153
131
  },
154
132
  "va": {
155
133
  "name": "Viking Arena",
156
134
  "id": "Level 2 (Geometry Dash: Meltdown)",
157
135
  "artist": "F-777",
158
- "fileSize": "0 MB",
159
136
  "link": "https://www.youtube.com/watch?v=RaJ6Vf2w9hY"
160
137
  },
161
138
  "ar": {
162
139
  "name": "Airborne Robots",
163
140
  "id": "Level 3 (Geometry Dash: Meltdown)",
164
141
  "artist": "F-777",
165
- "fileSize": "0 MB",
166
142
  "link": "https://www.youtube.com/watch?v=guBpnPY32s0"
167
143
  },
168
144
  "tc": {
169
145
  "name": "Random Song 06",
170
146
  "id": "Level 22 (The Challenge)",
171
147
  "artist": "RobTop",
172
- "fileSize": "0 MB",
173
148
  "link": "https://www.newgrounds.com/audio/listen/633385"
174
149
  },
175
150
  "p": {
176
151
  "name": "Payload",
177
152
  "id": "Level 1 (Geometry Dash: World)",
178
153
  "artist": "Dex Arson",
179
- "fileSize": "0 MB",
180
154
  "link": "https://www.youtube.com/watch?v=2SFOjJxEL7g"
181
155
  },
182
156
  "bm": {
183
157
  "name": "Beast Mode",
184
158
  "id": "Level 2 (Geometry Dash: World)",
185
159
  "artist": "Dex Arson",
186
- "fileSize": "0 MB",
187
160
  "link": "https://www.newgrounds.com/audio/listen/589874"
188
161
  },
189
162
  "m": {
190
163
  "name": "Machina",
191
164
  "id": "Level 3 (Geometry Dash: World)",
192
165
  "artist": "Dex Arson",
193
- "fileSize": "0 MB",
194
166
  "link": "https://www.youtube.com/watch?v=EWjZOxs87yg"
195
167
  },
196
168
  "y": {
197
169
  "name": "Years",
198
170
  "id": "Level 4 (Geometry Dash: World)",
199
171
  "artist": "Dex Arson",
200
- "fileSize": "0 MB",
201
172
  "link": "https://www.youtube.com/watch?v=0MZvDD_sy-w"
202
173
  },
203
174
  "f": {
204
175
  "name": "Frontlines",
205
176
  "id": "Level 5 (Geometry Dash: World)",
206
177
  "artist": "Dex Arson",
207
- "fileSize": "0 MB",
208
178
  "link": "https://www.youtube.com/watch?v=f3wAripOdag"
209
179
  },
210
180
  "sp": {
211
181
  "name": "Space Pirates",
212
182
  "id": "Level 6 (Geometry Dash: World)",
213
183
  "artist": "Waterflame",
214
- "fileSize": "0 MB",
215
184
  "link": "https://www.youtube.com/watch?v=Cu7HaeRHMhM"
216
185
  },
217
186
  "s": {
218
187
  "name": "Striker",
219
188
  "id": "Level 7 (Geometry Dash: World)",
220
189
  "artist": "Waterflame",
221
- "fileSize": "0 MB",
222
190
  "link": "https://www.youtube.com/watch?v=MU9wRCGt9h8"
223
191
  },
224
192
  "e": {
225
193
  "name": "Embers",
226
194
  "id": "Level 8 (Geometry Dash: World)",
227
195
  "artist": "Dex Arson",
228
- "fileSize": "0 MB",
229
196
  "link": "https://www.youtube.com/watch?v=nMDMlIvdqlA"
230
197
  },
231
198
  "round": {
232
199
  "name": "Round 1",
233
200
  "id": "Level 9 (Geometry Dash: World)",
234
201
  "artist": "Dex Arson",
235
- "fileSize": "0 MB",
236
202
  "link": "https://www.youtube.com/watch?v=NvQoY4gTIGU"
237
203
  },
238
204
  "mdo": {
239
205
  "name": "Monster Dance Off",
240
206
  "id": "Level 10 (Geometry Dash: World)",
241
207
  "artist": "F-777",
242
- "fileSize": "0 MB",
243
208
  "link": "https://www.youtube.com/watch?v=B8YkwDbGBr8"
244
209
  },
245
210
  "ps": {
246
211
  "name": "Press Start",
247
212
  "id": "Level 1 (Geometry Dash: SubZero)",
248
213
  "artist": "MDK",
249
- "fileSize": "0 MB",
250
214
  "link": "https://www.youtube.com/watch?v=XoLouT7TqZY"
251
215
  },
252
216
  "ne": {
253
217
  "name": "Nock Em",
254
218
  "id": "Level 2 (Geometry Dash: SubZero)",
255
219
  "artist": "Bossfight",
256
- "fileSize": "0 MB",
257
220
  "link": "https://www.youtube.com/watch?v=ePv2X_CCaGg"
258
221
  },
259
222
  "pt": {
260
223
  "name": "Power Trip",
261
224
  "id": "Level 3 (Geometry Dash: SubZero)",
262
225
  "artist": "Boom Kitty",
263
- "fileSize": "0 MB",
264
226
  "link": "https://www.youtube.com/watch?v=l6OsF7RlQb4"
265
227
  },
266
228
  "unknown": {
267
229
  "name": "Unknown",
268
230
  "id": "This song is not defined by RobTop. In game it returns \"Back on Track\".",
269
231
  "artist": "DJVI",
270
- "fileSize": "0 MB",
271
232
  "link": null
272
233
  }
273
234
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gj-boomlings-api",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "A Node.js module that allows you to fetch boomlings.com easily",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -28,7 +28,6 @@
28
28
  "license": "ISC",
29
29
  "dependencies": {
30
30
  "axios": "^1.2.1",
31
- "crypto": "^1.0.1",
32
31
  "js-base64": "^3.7.3"
33
32
  }
34
33
  }
@@ -1,30 +0,0 @@
1
- module.exports = {
2
- getLevelData:
3
- function(level, log = false) {
4
- if(!level) throw new Error("Please provide a level ID.");
5
- if(typeof level === "string") throw new Error("The level parameter should be a number.");
6
- const axios = require("axios");
7
- const { headers } = require("../config.json");
8
-
9
- const data = {
10
- gameVersion: 21,
11
- binaryVersion: 35,
12
- gdw: 0,
13
- levelID: level,
14
- secret: "Wmfd2893gb7"
15
- }
16
-
17
- axios.post('http://www.boomlings.com/database/downloadGJLevel22.php', data, {
18
- headers: headers
19
-
20
- }).then(res => {
21
-
22
- if(res.data == -1) throw new Error("-1 Not found.")
23
- if(res.data.toLowerCase() == "error code: 1005") throw new Error("1005 error: Your IP address has been blocked from sending requests to a server. It's recommended to use locally (directly from a PC).")
24
-
25
- let levelData = res.data.split(":4:")[1].split(":5:")[0]
26
- if(log == true) console.log(levelData);
27
- return levelData;
28
- });
29
- }
30
- }