simply-xp 1.3.5-beta-2 → 1.3.5-beta-4

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 (2) hide show
  1. package/package.json +2 -2
  2. package/src/leaderboard.js +7 -18
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simply-xp",
3
- "version": "1.3.5-beta-2",
3
+ "version": "1.3.5-beta-4",
4
4
  "description": "A Simple, Easy and Beginner Friendly XP System",
5
5
  "main": "simplyxp.js",
6
6
  "typings": "index.d.ts",
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "@napi-rs/canvas": "^0.1.30",
44
- "chart.js": "^4.1.1",
44
+ "chart.js": "^3.9.1",
45
45
  "mongoose": "^6.8.1"
46
46
  },
47
47
  "peerDependencies": {
@@ -10,13 +10,11 @@ async function leaderboard(client, guildID, limit) {
10
10
  if (!guildID) throw new Error('[XP] Guild ID was not provided.')
11
11
 
12
12
  let g = client.guilds.cache.get(guildID)
13
+ if (!g) throw new Error('[XP] Guild was not found.')
13
14
 
14
15
  let leaderboard = await levels
15
- .find({
16
- guild: guildID
17
- })
16
+ .find({ guild: guildID })
18
17
  .sort([['xp', 'descending']])
19
- .exec()
20
18
 
21
19
  let led = []
22
20
 
@@ -29,9 +27,10 @@ async function leaderboard(client, guildID, limit) {
29
27
  return result
30
28
  }
31
29
 
32
- leaderboard.map((key) => {
30
+ var led2 = leaderboard.map(async (key) => {
33
31
  let user = g.members.cache.get(key.user)
34
32
  if (key.xp === 0) return
33
+ if (!user) return
35
34
 
36
35
  let pos =
37
36
  leaderboard.findIndex(
@@ -42,28 +41,18 @@ async function leaderboard(client, guildID, limit) {
42
41
  if (pos > Number(limit)) return
43
42
  }
44
43
 
45
- let shortXP = shortener(key.xp)
46
-
47
- if (!user) return
48
-
49
44
  led.push({
50
45
  guildID: key.guild,
51
46
  userID: key.user,
52
47
  xp: key.xp,
53
- shortxp: shortXP,
48
+ shortxp: shortener(key.xp),
54
49
  level: key.level,
55
50
  position: pos,
56
51
  username: user.user.username,
57
52
  tag: user.user.tag
58
53
  })
59
54
  })
60
-
61
- led = led.filter(
62
- (thing, index, self) =>
63
- index === self.findIndex((t) => t.userID === thing.userID)
64
- )
65
-
66
- return led
55
+ return Promise.all(led2).then(() => led)
67
56
  }
68
57
 
69
- module.exports = leaderboard
58
+ module.exports = leaderboard