simply-xp 1.1.5-beta → 1.1.7

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.
@@ -1,70 +1,70 @@
1
- let Discord = require('discord.js')
2
- const levels = require('../src/models/level.js')
3
-
4
- /**
5
- * @param {Discord.Client} client
6
- * @param {string} guildID
7
- * @param {number} limit
8
- */
9
-
10
- async function leaderboard(client, guildID, limit) {
11
- if (!guildID) throw new Error('[XP] Guild ID was not provided.')
12
-
13
- let g = client.guilds.cache.get(guildID)
14
-
15
- let leaderboard = await levels
16
- .find({
17
- guild: guildID
18
- })
19
- .sort([['xp', 'descending']])
20
- .exec()
21
-
22
- let led = []
23
-
24
- function shortener(count) {
25
- const COUNT_ABBRS = ['', 'k', 'M', 'T']
26
-
27
- const i = 0 === count ? count : Math.floor(Math.log(count) / Math.log(1000))
28
- let result = parseFloat((count / Math.pow(1000, i)).toFixed(2))
29
- result += `${COUNT_ABBRS[i]}`
30
- return result
31
- }
32
-
33
- leaderboard.map((key) => {
34
- let user = g.members.cache.get(key.user)
35
- if (key.xp === 0) return
36
-
37
- let pos =
38
- leaderboard.findIndex(
39
- (i) => i.guild === key.guild && i.user === key.user
40
- ) + 1
41
-
42
- if (limit) {
43
- if (pos > Number(limit)) return
44
- }
45
-
46
- let shortXP = shortener(key.xp)
47
-
48
- if (!user) return
49
-
50
- led.push({
51
- guildID: key.guild,
52
- userID: key.user,
53
- xp: key.xp,
54
- shortxp: shortXP,
55
- level: key.level,
56
- position: pos,
57
- username: user.user.username,
58
- tag: user.user.tag
59
- })
60
- })
61
-
62
- led = led.filter(
63
- (thing, index, self) =>
64
- index === self.findIndex((t) => t.userID === thing.userID)
65
- )
66
-
67
- return led
68
- }
69
-
70
- module.exports = leaderboard
1
+ let Discord = require('discord.js')
2
+ const levels = require('../src/models/level.js')
3
+
4
+ /**
5
+ * @param {Discord.Client} client
6
+ * @param {string} guildID
7
+ * @param {number} limit
8
+ */
9
+
10
+ async function leaderboard(client, guildID, limit) {
11
+ if (!guildID) throw new Error('[XP] Guild ID was not provided.')
12
+
13
+ let g = client.guilds.cache.get(guildID)
14
+
15
+ let leaderboard = await levels
16
+ .find({
17
+ guild: guildID
18
+ })
19
+ .sort([['xp', 'descending']])
20
+ .exec()
21
+
22
+ let led = []
23
+
24
+ function shortener(count) {
25
+ const COUNT_ABBRS = ['', 'k', 'M', 'T']
26
+
27
+ const i = 0 === count ? count : Math.floor(Math.log(count) / Math.log(1000))
28
+ let result = parseFloat((count / Math.pow(1000, i)).toFixed(2))
29
+ result += `${COUNT_ABBRS[i]}`
30
+ return result
31
+ }
32
+
33
+ leaderboard.map((key) => {
34
+ let user = g.members.cache.get(key.user)
35
+ if (key.xp === 0) return
36
+
37
+ let pos =
38
+ leaderboard.findIndex(
39
+ (i) => i.guild === key.guild && i.user === key.user
40
+ ) + 1
41
+
42
+ if (limit) {
43
+ if (pos > Number(limit)) return
44
+ }
45
+
46
+ let shortXP = shortener(key.xp)
47
+
48
+ if (!user) return
49
+
50
+ led.push({
51
+ guildID: key.guild,
52
+ userID: key.user,
53
+ xp: key.xp,
54
+ shortxp: shortXP,
55
+ level: key.level,
56
+ position: pos,
57
+ username: user.user.username,
58
+ tag: user.user.tag
59
+ })
60
+ })
61
+
62
+ led = led.filter(
63
+ (thing, index, self) =>
64
+ index === self.findIndex((t) => t.userID === thing.userID)
65
+ )
66
+
67
+ return led
68
+ }
69
+
70
+ module.exports = leaderboard
package/src/lvlRole.js CHANGED
@@ -1,54 +1,54 @@
1
- let Discord = require('discord.js')
2
- const levels = require('../src/models/level.js')
3
- const lrole = require('../src/models/lvlrole.js')
4
-
5
- /**
6
- * @param {Discord.Message} message
7
- * @param {string} userID
8
- * @param {string} guildID
9
- */
10
-
11
- async function lvlRole(message, userID, guildID) {
12
- let e = await lrole.find({
13
- gid: guildID
14
- })
15
-
16
- if (!e) return
17
-
18
- let user = await levels.findOne({
19
- user: userID,
20
- guild: guildID
21
- })
22
- if (!user) {
23
- const newuser = new levels({
24
- user: userID,
25
- guild: guildID
26
- })
27
-
28
- await newuser
29
- .save()
30
- .catch((e) => console.log(`[XP] Failed to save new user to database`))
31
- }
32
-
33
- e.forEach((ee) => {
34
- ee = ee.lvlrole
35
-
36
- ee.forEach((xd) => {
37
- if (user && user.level >= Number(xd.lvl)) {
38
- let u = message.guild.members.cache.get(userID)
39
-
40
- let real = message.guild.roles.cache.find((r) => r.id === xd.role)
41
- if (!real) return
42
- else {
43
- u.roles.add(real).catch((err) => {
44
- message.channel.send(
45
- '[XP] ERROR: Role is higher than me. `MISSING_PERMISSIONS`'
46
- )
47
- })
48
- }
49
- }
50
- })
51
- })
52
- }
53
-
54
- module.exports = lvlRole
1
+ let Discord = require('discord.js')
2
+ const levels = require('../src/models/level.js')
3
+ const lrole = require('../src/models/lvlrole.js')
4
+
5
+ /**
6
+ * @param {Discord.Message} message
7
+ * @param {string} userID
8
+ * @param {string} guildID
9
+ */
10
+
11
+ async function lvlRole(message, userID, guildID) {
12
+ let e = await lrole.find({
13
+ gid: guildID
14
+ })
15
+
16
+ if (!e) return
17
+
18
+ let user = await levels.findOne({
19
+ user: userID,
20
+ guild: guildID
21
+ })
22
+ if (!user) {
23
+ const newuser = new levels({
24
+ user: userID,
25
+ guild: guildID
26
+ })
27
+
28
+ await newuser
29
+ .save()
30
+ .catch((e) => console.log(`[XP] Failed to save new user to database`))
31
+ }
32
+
33
+ e.forEach((ee) => {
34
+ ee = ee.lvlrole
35
+
36
+ ee.forEach((xd) => {
37
+ if (user && user.level >= Number(xd.lvl)) {
38
+ let u = message.guild.members.cache.get(userID)
39
+
40
+ let real = message.guild.roles.cache.find((r) => r.id === xd.role)
41
+ if (!real) return
42
+ else {
43
+ u.roles.add(real).catch((err) => {
44
+ message.channel.send(
45
+ '[XP] ERROR: Role is higher than me. `MISSING_PERMISSIONS`'
46
+ )
47
+ })
48
+ }
49
+ }
50
+ })
51
+ })
52
+ }
53
+
54
+ module.exports = lvlRole
@@ -1,10 +1,10 @@
1
- const mongoose = require('mongoose')
2
-
3
- const Levelz = new mongoose.Schema({
4
- user: { type: String, unique: true },
5
- guild: { type: String },
6
- xp: { type: Number, default: 0 },
7
- level: { type: Number, default: 0 }
8
- })
9
-
10
- module.exports = mongoose.model('Simply-XP', Levelz)
1
+ const mongoose = require('mongoose')
2
+
3
+ const Levelz = new mongoose.Schema({
4
+ user: { type: String, unique: true },
5
+ guild: { type: String },
6
+ xp: { type: Number, default: 0 },
7
+ level: { type: Number, default: 0 }
8
+ })
9
+
10
+ module.exports = mongoose.model('Simply-XP', Levelz)
@@ -1,8 +1,8 @@
1
- const mongoose = require('mongoose')
2
-
3
- const rol = new mongoose.Schema({
4
- gid: { type: String },
5
- lvlrole: { type: Array }
6
- })
7
-
8
- module.exports = mongoose.model('Simply-XP-LevelRole', rol)
1
+ const mongoose = require('mongoose')
2
+
3
+ const rol = new mongoose.Schema({
4
+ gid: { type: String },
5
+ lvlrole: { type: Array }
6
+ })
7
+
8
+ module.exports = mongoose.model('Simply-XP-LevelRole', rol)