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
@@ -1,113 +0,0 @@
1
- # getComments()
2
-
3
- Gets a list of comments from a specified level.
4
-
5
- ## Parameters
6
- `level` - the level whose comments we want to check.
7
-
8
- `page` (optional) - the page of the comments. Defaults to 1.
9
-
10
- `mode` (optional) - the mode of fetching the comments. `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.getComments(42584142).then(console.log);
16
- ```
17
-
18
- ## Response
19
- ```
20
- [
21
- {
22
- username: 'RobTop',
23
- content: 'All demons default to hard when first rated, they get the real rating from votes later :)',
24
- playerID: 16,
25
- likes: 72069,
26
- percent: 0,
27
- id: 12967791,
28
- age: '4 years'
29
- },
30
- {
31
- username: 'Knobbelboy',
32
- content: 'IT IS FINALLY OVER!!!!!!!!!!!!!! THIS IS IT!!! THANK YOU ALL!!!!',
33
- playerID: 4214375,
34
- likes: 71760,
35
- percent: 0,
36
- id: 12958654,
37
- age: '4 years'
38
- },
39
- {
40
- username: 'shaggy23',
41
- content: 'Zobros: Easy Insane 9',
42
- playerID: 1995959,
43
- likes: 31953,
44
- percent: 0,
45
- id: 12968377,
46
- age: '4 years'
47
- },
48
- {
49
- username: 'IInfinityy',
50
- content: "pro tip : don't play bloodlust on phone",
51
- playerID: 15630652,
52
- likes: 30194,
53
- percent: 1,
54
- id: 12960792,
55
- age: '4 years'
56
- },
57
- {
58
- username: 'RobTop',
59
- content: '1% :O :O :O :O',
60
- playerID: 16,
61
- likes: 29497,
62
- percent: 0,
63
- id: 16183012,
64
- age: '4 years'
65
- },
66
- {
67
- username: 'AdvyStyles',
68
- content: 'ok',
69
- playerID: 2434963,
70
- likes: 16910,
71
- percent: 0,
72
- id: 13190982,
73
- age: '4 years'
74
- },
75
- {
76
- username: 'SerSerpent',
77
- content: 'Guess now Knobbelboy evolved to Knobbelman',
78
- playerID: 19203596,
79
- likes: 15362,
80
- percent: 0,
81
- id: 12962171,
82
- age: '4 years'
83
- },
84
- {
85
- username: 'GDWindex',
86
- content: 'Pass is 121296, now like this comment so others can see',
87
- playerID: 78434904,
88
- likes: 14567,
89
- percent: 0,
90
- id: 13250862,
91
- age: '4 years'
92
- },
93
- {
94
- username: 'Juniper',
95
- content: 'PRESS F TO RESPECT THE H*CK OUT OF KNOBBELBOY',
96
- playerID: 2614903,
97
- likes: 14115,
98
- percent: 0,
99
- id: 12970170,
100
- age: '4 years'
101
- },
102
- {
103
- username: 'lSunix',
104
- content: 'aoc',
105
- playerID: 14251090,
106
- likes: 6437,
107
- percent: 100,
108
- id: 14252314,
109
- age: '4 years'
110
- }
111
- ]
112
- ```
113
- Returns an array of [comment objects](./objects/comment.md).
@@ -1,60 +0,0 @@
1
- # getCreatorScores()
2
-
3
- Gets the top 100 creators leaderboard, sorted by creator points.
4
-
5
- ## Parameters
6
- None!
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- gd.getCreatorScores().then(console.log);
12
- ```
13
-
14
- ## Response
15
- ```
16
- [
17
- {
18
- username: 'YunHaSeu14',
19
- playerID: 36314,
20
- accountID: 1187377,
21
- rank: 1,
22
- stars: 33615,
23
- diamonds: 68501,
24
- secretCoins: 121,
25
- userCoins: 9431,
26
- demons: 123,
27
- creatorPoints: 290
28
- },
29
- {
30
- username: 'ViPriN',
31
- playerID: 1078150,
32
- accountID: 2795,
33
- rank: 2,
34
- stars: 29533,
35
- diamonds: 28327,
36
- secretCoins: 149,
37
- userCoins: 3256,
38
- demons: 1026,
39
- creatorPoints: 281
40
- },
41
- {
42
- username: 'Serponge',
43
- playerID: 4170784,
44
- accountID: 119741,
45
- rank: 3,
46
- stars: 85,
47
- diamonds: 17,
48
- secretCoins: 0,
49
- userCoins: 5,
50
- demons: 1,
51
- creatorPoints: 234
52
- }
53
- ...and so on
54
- ```
55
-
56
- This function returns an array of [user objects](./objects/user.md).
57
-
58
- ---
59
-
60
- **NOTE:** Here, the users' rank is their actual position on the leaderboard.
@@ -1,17 +0,0 @@
1
- # getDailyLevel()
2
-
3
- Downloads a daily level and decodes it.
4
-
5
- ## Parameters
6
- No parameters!
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- gd.getDailyLevel().then(console.log);
12
- ```
13
-
14
- ## Response
15
- Returns a [level object](./objects/level.md).
16
-
17
- Basically it's same thing as `dlLevel()`, but for daily levels.
@@ -1,81 +0,0 @@
1
- # getGauntlets()
2
-
3
- Gets the list of gauntlets and decodes it.
4
-
5
- ## Parameters
6
- None!
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- gd.getGauntlets().then(console.log);
12
- ```
13
-
14
- ## Response
15
- ```
16
- [
17
- {
18
- name: 'Fire Gauntlet',
19
- levels: [ '27732941', '28200611', '27483789', '28225110', '27448202' ]
20
- },
21
- {
22
- name: 'Ice Gauntlet',
23
- levels: [ '20635816', '28151870', '25969464', '24302376', '27399722' ]
24
- },
25
- {
26
- name: 'Poison Gauntlet',
27
- levels: [ '28179535', '29094196', '29071134', '26317634', '12107595' ]
28
- },
29
- {
30
- name: 'Shadow Gauntlet',
31
- levels: [ '26949498', '26095850', '27973097', '27694897', '26070995' ]
32
- },
33
- {
34
- name: 'Lava Gauntlet',
35
- levels: [ '18533341', '28794068', '28127292', '4243988', '28677296' ]
36
- },
37
- {
38
- name: 'Bonus Gauntlet',
39
- levels: [ '28255647', '27929950', '16437345', '28270854', '29394058' ]
40
- },
41
- {
42
- name: 'Chaos Gauntlet',
43
- levels: [ '25886024', '4259126', '26897899', '7485599', '19862531' ]
44
- },
45
- {
46
- name: 'Demon Gauntlet',
47
- levels: [ '18025697', '23189196', '27786218', '27728679', '25706351' ]
48
- },
49
- {
50
- name: 'Time Gauntlet',
51
- levels: [ '40638411', '32614529', '31037168', '40937291', '35165900' ]
52
- },
53
- {
54
- name: 'Crystal Gauntlet',
55
- levels: [ '37188385', '35280911', '37187779', '36301959', '36792656' ]
56
- },
57
- {
58
- name: 'Magic Gauntlet',
59
- levels: [ '37269362', '29416734', '36997718', '39853981', '39853458' ]
60
- },
61
- {
62
- {
63
- name: 'Monster Gauntlet',
64
- levels: [ '43908596', '41736289', '42843431', '44063088', '44131636' ]
65
- },
66
- {
67
- name: 'Doom Gauntlet',
68
- levels: [ '38427291', '38514054', '36966088', '38398923', '36745142' ]
69
- },
70
- {
71
- name: 'Death Gauntlet',
72
- levels: [ '44121158', '43923301', '43537990', '33244195', '35418014' ]
73
- }
74
- ]
75
- ```
76
- This function returns an array of gauntlet objects.
77
-
78
- ### Properties
79
- `name` - the gauntlet name.
80
-
81
- `levels` - the array of levels in a gauntlet.
@@ -1,51 +0,0 @@
1
- # getLevelByID()
2
-
3
- Gets the basic info about the level by its ID.
4
-
5
- ## Parameters
6
- `level` - the level ID.
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- gd.getLevelByID(11940).then(console.log);
12
- ```
13
-
14
- ## Response
15
- ```
16
- {
17
- id: 11940,
18
- name: 'Level Easy',
19
- description: 'Cody',
20
- creator: '-',
21
- level_version: 1,
22
- difficulty: 'Normal',
23
- stars: 3,
24
- downloads: 66447749,
25
- likes: 3781481,
26
- disliked: false,
27
- length: 'Long',
28
- demon: false,
29
- featured: true,
30
- epic: false,
31
- objects: 0,
32
- stars_requested: 0,
33
- game_version: 'Pre-1.7',
34
- copied: 0,
35
- two_p: false,
36
- coins: 0,
37
- verified_coins: false,
38
- song: {
39
- name: 'Stereo Madness',
40
- id: 'Level 1',
41
- artist: 'ForeverBound',
42
- link: 'https://www.youtube.com/watch?v=JhKyKEDxo8Q'
43
- }
44
- }
45
- ```
46
-
47
- Returns a [level object](./objects/level.md).
48
-
49
- ---
50
-
51
- **NOTE:** This is pretty much the same thing as `dlLevel()`, but `getLevelByID()` doesn't provide the password, update and upload date and the LDM checkbox. On the other hand, it's much faster (especially for object-heavy levels).
@@ -1,88 +0,0 @@
1
- # getMapPacks()
2
-
3
- Gets the list of map packs and decodes it.
4
-
5
- ## Parameters
6
- `page` (optional) - the page of the map packs list. Defaults to 1.
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- gd.getMapPacks(2).then(console.log);
12
- ```
13
-
14
- ## Response
15
- ```
16
- [
17
- {
18
- name: 'Ruby Pack',
19
- levels: [ 1446958, 1063115, 1734354 ],
20
- stars: 4,
21
- coins: 1
22
- },
23
- {
24
- name: 'Electro Pack',
25
- levels: [ 5131543, 8157377, 8571598 ],
26
- stars: 4,
27
- coins: 1
28
- },
29
- {
30
- name: 'Laser Pack',
31
- levels: [ 12178580, 11357573, 11591917 ],
32
- stars: 4,
33
- coins: 1
34
- },
35
- {
36
- name: 'Glow Pack',
37
- levels: [ 4449079, 6979485, 10110092 ],
38
- stars: 4,
39
- coins: 1
40
- },
41
- {
42
- name: 'Spirit Pack',
43
- levels: [ 13766381, 13242284, 13963465 ],
44
- stars: 4,
45
- coins: 1
46
- },
47
- {
48
- name: 'Hard Pack',
49
- levels: [ 217631, 3785, 281148 ],
50
- stars: 5,
51
- coins: 1
52
- },
53
- {
54
- name: 'Morph Pack',
55
- levels: [ 364445, 411459, 509393 ],
56
- stars: 5,
57
- coins: 1
58
- },
59
- {
60
- name: 'Phoenix Pack',
61
- levels: [ 674454, 750434, 835854 ],
62
- stars: 5,
63
- coins: 1
64
- },
65
- {
66
- name: 'Power Pack',
67
- levels: [ 809579, 741941, 577710 ],
68
- stars: 5,
69
- coins: 1
70
- },
71
- {
72
- name: 'Shiny Pack',
73
- levels: [ 980341, 1541962, 1160937 ],
74
- stars: 5,
75
- coins: 1
76
- }
77
- ]
78
- ```
79
- This function returns an array of map pack objects.
80
-
81
- ### Properties
82
- `name` - the map pack name.
83
-
84
- `levels` - the array of levels in a map pack.
85
-
86
- `stars` - the amount of stars you get from beating the map pack.
87
-
88
- `coins` - the amount of coins you get from beating the map pack.
@@ -1,25 +0,0 @@
1
- # getOfficialSongInfo()
2
-
3
- Gets an info about an official song by its ID.
4
-
5
- ## Parameters
6
- `song` - the official song ID.
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- const song = gd.getOfficialSongInfo(14);
12
- console.log(song);
13
- ```
14
-
15
- ## Response
16
- ```
17
- {
18
- name: 'Clubstep',
19
- id: 'Level 14',
20
- artist: 'DJ-Nate',
21
- link: 'https://www.newgrounds.com/audio/listen/396093'
22
- }
23
- ```
24
-
25
- Returns a [song object](./objects/song.md), except for the `artistId` and `fileSize` properties.
@@ -1,36 +0,0 @@
1
- # getProfile()
2
-
3
- Gets someone's profile and decodes it.
4
-
5
- ## Parameters
6
- `user` - the player's username or a player ID.
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- gd.getProfile("robtop").then(console.log);
12
- ```
13
-
14
- ## Response
15
- ```
16
- {
17
- username: 'RobTop',
18
- playerID: 16,
19
- accountID: 71,
20
- rank: 219796,
21
- stars: 2375,
22
- diamonds: 2170,
23
- secretCoins: 3,
24
- userCoins: 140,
25
- demons: 5,
26
- creatorPoints: 0,
27
- messages: 'none',
28
- friendRequests: 'none',
29
- commentHistory: 'all',
30
- mod: 'elder',
31
- youtube: 'https://youtube.com/channel/UCz_yk8mDSAnxJq0ar66L4sw',
32
- twitter: 'https://twitter.com/RobTopGames',
33
- twitch: 'https://twitch.tv/robtopgames'
34
- }
35
- ```
36
- Returns a [user object](./objects/user.md).
@@ -1,26 +0,0 @@
1
- # getSongInfo()
2
-
3
- Gets a song on Newgrounds by its ID and returns info about it.
4
-
5
- ## Parameters
6
- `song` - the song ID.
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- gd.getSongInfo(1099128).then(console.log);
12
- ```
13
-
14
- ## Response
15
- ```
16
- {
17
- name: 'Dynamics',
18
- id: 1099128,
19
- artist: 'shikoshib',
20
- artistId: 10001037,
21
- fileSize: '5.74 MB',
22
- link: 'https://audio.ngfiles.com/1099000/1099128_Dynamics.mp3?f1640426773'
23
- }
24
- ```
25
-
26
- Returns a [song object](./objects/song.md).
package/docs/getTop100.md DELETED
@@ -1,56 +0,0 @@
1
- # getTop100()
2
-
3
- Gets the top 100 players leaderboard, sorted by stars.
4
-
5
- ## Parameters
6
- None!
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- gd.getTop100().then(console.log);
12
- ```
13
-
14
- ## Response
15
- ```
16
- [
17
- {
18
- username: 'Smiffy777',
19
- playerID: 7708568,
20
- accountID: 1413859,
21
- rank: 1,
22
- stars: 227040,
23
- diamonds: 156320,
24
- secretCoins: 149,
25
- userCoins: 45920,
26
- demons: 5581,
27
- creatorPoints: 0
28
- },
29
- {
30
- username: 'Gormuck',
31
- playerID: 8247386,
32
- accountID: 1775477,
33
- rank: 2,
34
- stars: 222121,
35
- diamonds: 166422,
36
- secretCoins: 149,
37
- userCoins: 28509,
38
- demons: 5050,
39
- creatorPoints: 2
40
- },
41
- {
42
- username: 'volplay',
43
- playerID: 14188128,
44
- accountID: 5189757,
45
- rank: 3,
46
- stars: 221320,
47
- diamonds: 121349,
48
- secretCoins: 149,
49
- userCoins: 25076,
50
- demons: 5291,
51
- creatorPoints: 2
52
- }
53
- ...and so on
54
- ```
55
-
56
- This function returns an array of [user objects](./objects/user.md).
@@ -1,84 +0,0 @@
1
- # getUserLevels()
2
-
3
- Gets the list of levels made by a specified user.
4
-
5
- ## Parameters
6
- `user` - the user's username or a player ID.
7
-
8
- `page` (optional) - the page. Defaults to 1.
9
-
10
- ## Example
11
- ```js
12
- const gd = require("gj-boomlings-api");
13
- gd.getUserLevels("shikoshib", 2).then(console.log);
14
- ```
15
-
16
- ## Response
17
- ```
18
- [
19
- {
20
- id: 79650761,
21
- name: 'Lost or Not',
22
- description: "I'm going to make a level trilogy with my own song. Part 2 soon!",
23
- creator: 'shikoshib',
24
- level_version: 1,
25
- difficulty: 'Harder',
26
- stars: 0,
27
- downloads: 139,
28
- likes: 13,
29
- disliked: false,
30
- length: 'Long',
31
- demon: false,
32
- featured: false,
33
- epic: false,
34
- objects: 12020,
35
- stars_requested: 6,
36
- game_version: '2.1',
37
- copied: 0,
38
- two_p: false,
39
- coins: 3,
40
- verified_coins: false,
41
- song: {
42
- name: 'Not Lost',
43
- id: 1107430,
44
- artist: 'shikoshib',
45
- artistId: 10001037,
46
- fileSize: '8.5 MB',
47
- link: 'https://audio.ngfiles.com/1107000/1107430_Not-Lost.mp3?f1643365615'
48
- }
49
- },
50
- {
51
- id: 76643578,
52
- name: 'Ok Just Get It',
53
- description: 'pass 2305',
54
- creator: 'shikoshib',
55
- level_version: 1,
56
- difficulty: 'Harder',
57
- stars: 0,
58
- downloads: 96,
59
- likes: 13,
60
- disliked: false,
61
- length: 'Long',
62
- demon: false,
63
- featured: false,
64
- epic: false,
65
- objects: 4568,
66
- stars_requested: 2,
67
- game_version: '2.1',
68
- copied: 0,
69
- two_p: false,
70
- coins: 0,
71
- verified_coins: false,
72
- song: {
73
- name: 'F-777 - Medusa',
74
- id: 798747,
75
- artist: 'F-777',
76
- artistId: 286,
77
- fileSize: '7.39 MB',
78
- link: 'https://audio.ngfiles.com/798000/798747_F-777---Medusa.mp3?f1522612006'
79
- }
80
- }
81
- ]
82
- ```
83
-
84
- Returns an array of [level objects](./objects/level.md).
@@ -1,17 +0,0 @@
1
- # getWeeklyDemon()
2
-
3
- Downloads a weekly demon and decodes it.
4
-
5
- ## Parameters
6
- No parameters!
7
-
8
- ## Example
9
- ```js
10
- const gd = require("gj-boomlings-api");
11
- gd.getWeeklyDemon().then(console.log);
12
- ```
13
-
14
- ## Response
15
- Returns a [level object](./objects/level.md).
16
-
17
- Basically it's same thing as `dlLevel()`, but for weekly demons.
@@ -1,19 +0,0 @@
1
- # Account comment object
2
-
3
- Used by `getAccountPosts()`.
4
-
5
- ## Example
6
- ```
7
- {
8
- content: "Thank you everyone for the birthday wishes. You're the best! :)",
9
- likes: 97911,
10
- age: '10 months'
11
- }
12
- ```
13
-
14
- ## Properties
15
- ```content``` - the actual content of a comment.
16
-
17
- ```likes``` - the amount of likes on a comment.
18
-
19
- ```age``` - the age of a comment.