simply-xp 1.2.0-test-1 → 1.3.0-dev-1

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/README.md CHANGED
@@ -1,55 +1,55 @@
1
- <p align="center"><img align="center" style="margin-bottom:-6px" src="https://i.imgur.com/BiaHJA7.png?maxwidth=128&fidelity=grand"></p>
2
-
3
- <h2 style="font-size:2.5rem;" align="center">Simply-XP</h2>
4
-
5
- <h2 align="center">A Simple, Easy and Beginner friendly XP System. <br>Uses Discord.js v13<br><br>Developed by Rahuletto#0243 & Maintained by Abadima#6356</h2>
6
-
7
- <br>
8
- <p align="center">
9
- <a href="https://www.npmjs.com/package/simply-xp"><img src="https://img.shields.io/npm/v/simply-xp.svg?style=flat-square" /></a>
10
- <a href="https://www.npmjs.com/package/simply-xp"><img src="https://img.shields.io/npm/dt/simply-xp?style=flat-square" /></a><br>
11
- <a href="https://www.npmjs.com/package/simply-xp"><img src="https://nodei.co/npm/simply-xp.png?downloadRank=true&downloads=true&downloadRank=true&stars=true" /></a><br>
12
- <a href="https://discord.gg/3JzDV9T5Fn"><img src="https://invidget.switchblade.xyz/3JzDV9T5Fn" /></a>
13
- </p>
14
-
15
- <br>
16
-
17
- ## 🖥️ <b>How to install ?
18
-
19
- ```
20
- npm install simply-xp
21
- ```
22
-
23
- (or)
24
-
25
- ```
26
- yarn add simply-xp
27
- ```
28
-
29
- <br>
30
-
31
- # 🎉 What's New 🎉
32
-
33
- - We have patched known issues, and we continue to monitor changes!
34
- - Our rank card has a new font applied
35
-
36
- # But Why ?
37
-
38
- - Easiest XP System in Discord.js
39
- - Fastest Support ever
40
- - Rank Card Maker
41
- - Beginner Friendly
42
- - Easier than other XP Systems
43
- - Inbuilt Auto Roles system
44
- - Flexible and simple at the same time
45
-
46
- <br>
47
-
48
- ## **Need Help ? Join the [Discord Server](https://discord.gg/3JzDV9T5Fn)**
49
-
50
- <br>
51
-
52
- <h1>👥 Contact us | Support</h1>
53
- <p>
54
- <a href="https://discord.gg/3JzDV9T5Fn"><img src="https://invidget.switchblade.xyz/3JzDV9T5Fn" /></a>
55
- </p>
1
+ <p align="center"><img align="center" style="margin-bottom:-6px" src="https://i.imgur.com/BiaHJA7.png?maxwidth=128&fidelity=grand"></p>
2
+
3
+ <h2 style="font-size:2.5rem;" align="center">Simply-XP</h2>
4
+
5
+ <h2 align="center">A Simple, Easy and Beginner friendly XP System. <br>Uses Discord.js v13<br><br>Developed by Rahuletto#0243 & Maintained by Abadima#6356</h2>
6
+
7
+ <br>
8
+ <p align="center">
9
+ <a href="https://www.npmjs.com/package/simply-xp"><img src="https://img.shields.io/npm/v/simply-xp.svg?style=flat-square" /></a>
10
+ <a href="https://www.npmjs.com/package/simply-xp"><img src="https://img.shields.io/npm/dt/simply-xp?style=flat-square" /></a><br>
11
+ <a href="https://www.npmjs.com/package/simply-xp"><img src="https://nodei.co/npm/simply-xp.png?downloadRank=true&downloads=true&downloadRank=true&stars=true" /></a><br>
12
+ <a href="https://discord.gg/3JzDV9T5Fn"><img src="https://invidget.switchblade.xyz/3JzDV9T5Fn" /></a>
13
+ </p>
14
+
15
+ <br>
16
+
17
+ ## 🖥️ <b>How to install ?
18
+
19
+ ```
20
+ npm install simply-xp
21
+ ```
22
+
23
+ (or)
24
+
25
+ ```
26
+ yarn add simply-xp
27
+ ```
28
+
29
+ <br>
30
+
31
+ # 🎉 What's New 🎉
32
+
33
+ - We have patched known issues, and we continue to monitor changes!
34
+ - Our rank card has a new font applied
35
+
36
+ # But Why ?
37
+
38
+ - Easiest XP System in Discord.js
39
+ - Fastest Support ever
40
+ - Rank Card Maker
41
+ - Beginner Friendly
42
+ - Easier than other XP Systems
43
+ - Inbuilt Auto Roles system
44
+ - Flexible and simple at the same time
45
+
46
+ <br>
47
+
48
+ ## **Need Help ? Join the [Discord Server](https://discord.gg/3JzDV9T5Fn)**
49
+
50
+ <br>
51
+
52
+ <h1>👥 Contact us | Support</h1>
53
+ <p>
54
+ <a href="https://discord.gg/3JzDV9T5Fn"><img src="https://invidget.switchblade.xyz/3JzDV9T5Fn" /></a>
55
+ </p>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simply-xp",
3
- "version": "1.2.0-test-1",
3
+ "version": "1.3.0-dev-1",
4
4
  "description": "A Simple, Easy and Beginner Friendly XP System",
5
5
  "main": "simplyxp.js",
6
6
  "typings": "index.d.ts",
@@ -49,6 +49,6 @@
49
49
  "pretty-quick": "^3.1.1"
50
50
  },
51
51
  "peerDependencies": {
52
- "discord.js": "^13.x.x"
52
+ "discord.js": "*"
53
53
  }
54
54
  }
package/simplyxp.js CHANGED
@@ -1,31 +1,33 @@
1
- try {
2
- require('discord.js')
3
- } catch (e) {
4
- throw new Error('Discord.js v13 is required for this package to run')
5
- }
6
-
7
- module.exports.roleSetup = require('./src/roleSetup')
8
-
9
- module.exports.addLevel = require('./src/addLevel')
10
-
11
- module.exports.addXP = require('./src/addXP')
12
-
13
- module.exports.charts = require('./src/charts')
14
-
15
- module.exports.connect = require('./src/connect')
16
-
17
- module.exports.create = require('./src/create')
18
-
19
- module.exports.fetch = require('./src/fetch')
20
-
21
- module.exports.leaderboard = require('./src/leaderboard')
22
-
23
- module.exports.lvlRole = require('./src/lvlRole')
24
-
25
- module.exports.rank = require('./src/rank')
26
-
27
- module.exports.setLevel = require('./src/setLevel')
28
-
29
- module.exports.setXP = require('./src/setXP')
30
-
31
- module.exports.reset = require('./src/reset')
1
+ try {
2
+ require('discord.js')
3
+ } catch (e) {
4
+ console.warn(
5
+ '[XP] DJS V13 is recommended for this package. \n Debug Notice: \n' + e
6
+ )
7
+ }
8
+
9
+ module.exports.roleSetup = require('./src/roleSetup')
10
+
11
+ module.exports.addLevel = require('./src/addLevel')
12
+
13
+ module.exports.addXP = require('./src/addXP')
14
+
15
+ module.exports.charts = require('./src/charts')
16
+
17
+ module.exports.connect = require('./src/connect')
18
+
19
+ module.exports.create = require('./src/create')
20
+
21
+ module.exports.fetch = require('./src/fetch')
22
+
23
+ module.exports.leaderboard = require('./src/leaderboard')
24
+
25
+ module.exports.lvlRole = require('./src/lvlRole')
26
+
27
+ module.exports.rank = require('./src/rank')
28
+
29
+ module.exports.setLevel = require('./src/setLevel')
30
+
31
+ module.exports.setXP = require('./src/setXP')
32
+
33
+ module.exports.reset = require('./src/reset')
package/src/addLevel.js CHANGED
@@ -1,71 +1,70 @@
1
- let Discord = require('discord.js')
2
- const levels = require('../src/models/level.js')
3
- let { roleSetup } = require('../simplyxp')
4
-
5
- /**
6
- * @param {Discord.Message} message
7
- * @param {string} userID
8
- * @param {string} guildID
9
- * @param {number} level
10
- */
11
- async function addLevel(message, userID, guildID, level) {
12
- if (!userID) throw new Error('[XP] User ID was not provided.')
13
-
14
- if (!guildID) throw new Error('[XP] Guild ID was not provided.')
15
-
16
- if (!level) throw new Error('[XP] Level amount is not provided.')
17
-
18
- let { client } = message
19
-
20
- const user = await levels.findOne({ user: userID, guild: guildID })
21
-
22
- if (!user) {
23
- const newUser = new levels({
24
- user: userID,
25
- guild: guildID,
26
- xp: 0,
27
- level: 0
28
- })
29
-
30
- await newUser
31
- .save()
32
- .catch((e) => console.log(`[XP] Failed to save new user to database`))
33
-
34
- let xp = (level * 10) ** 2
35
-
36
- return {
37
- level: level,
38
- exp: xp
39
- }
40
- }
41
- let level1 = user.level
42
-
43
- user.xp += (level * 10) ** 2
44
- user.level += Math.floor(0.1 * Math.sqrt(user.xp))
45
-
46
- await user
47
- .save()
48
- .catch((e) =>
49
- console.log(`[XP] Failed to add Level | User: ${userID} | Err: ${e}`)
50
- )
51
-
52
- if (level1 !== level) {
53
- let data = {
54
- xp: user.xp,
55
- level: user.level,
56
- userID,
57
- guildID
58
- }
59
-
60
- let role = await roleSetup.find(client, guildID, level)
61
-
62
- client.emit('levelUp', message, data, role)
63
- }
64
-
65
- return {
66
- level: user.level,
67
- xp: user.xp
68
- }
69
- }
70
-
71
- module.exports = addLevel
1
+ const levels = require('../src/models/level.js')
2
+ let { roleSetup } = require('../simplyxp')
3
+
4
+ /**
5
+ * @param {Discord.Message} message
6
+ * @param {string} userID
7
+ * @param {string} guildID
8
+ * @param {number} level
9
+ */
10
+ async function addLevel(message, userID, guildID, level) {
11
+ if (!userID) throw new Error('[XP] User ID was not provided.')
12
+
13
+ if (!guildID) throw new Error('[XP] Guild ID was not provided.')
14
+
15
+ if (!level) throw new Error('[XP] Level amount is not provided.')
16
+
17
+ let { client } = message
18
+
19
+ const user = await levels.findOne({ user: userID, guild: guildID })
20
+
21
+ if (!user) {
22
+ const newUser = new levels({
23
+ user: userID,
24
+ guild: guildID,
25
+ xp: 0,
26
+ level: 0
27
+ })
28
+
29
+ await newUser
30
+ .save()
31
+ .catch((e) => console.log(`[XP] Failed to save new user to database`))
32
+
33
+ let xp = (level * 10) ** 2
34
+
35
+ return {
36
+ level: level,
37
+ exp: xp
38
+ }
39
+ }
40
+ let level1 = user.level
41
+
42
+ user.xp += (level * 10) ** 2
43
+ user.level += Math.floor(0.1 * Math.sqrt(user.xp))
44
+
45
+ await user
46
+ .save()
47
+ .catch((e) =>
48
+ console.log(`[XP] Failed to add Level | User: ${userID} | Err: ${e}`)
49
+ )
50
+
51
+ if (level1 !== level) {
52
+ let data = {
53
+ xp: user.xp,
54
+ level: user.level,
55
+ userID,
56
+ guildID
57
+ }
58
+
59
+ let role = await roleSetup.find(client, guildID, level)
60
+
61
+ client.emit('levelUp', message, data, role)
62
+ }
63
+
64
+ return {
65
+ level: user.level,
66
+ xp: user.xp
67
+ }
68
+ }
69
+
70
+ module.exports = addLevel
package/src/addXP.js CHANGED
@@ -1,112 +1,111 @@
1
- let Discord = require('discord.js')
2
- const levels = require('../src/models/level.js')
3
- let { roleSetup } = require('../simplyxp')
4
-
5
- /**
6
- * @param {Discord.Message} message
7
- * @param {string} userID
8
- * @param {string} guildID
9
- * @param {number} xp
10
- */
11
-
12
- async function addXP(message, userID, guildID, xp) {
13
- if (!userID) throw new Error('[XP] User ID was not provided.')
14
-
15
- if (!guildID) throw new Error('[XP] Guild ID was not provided.')
16
-
17
- if (!xp) throw new Error('[XP] XP amount is not provided.')
18
-
19
- let { client } = message
20
-
21
- let min
22
- let max
23
- if (xp.min) {
24
- if (!xp.max)
25
- throw new Error(
26
- '[XP] XP min amount is provided but max amount is not provided.'
27
- )
28
-
29
- min = Number(xp.min)
30
-
31
- if (Number(xp.min).toString() === 'NaN')
32
- throw new Error('[XP] XP amount (min) is not a number.')
33
- }
34
-
35
- if (xp.max) {
36
- if (!xp.min)
37
- throw new Error(
38
- '[XP] XP max amount is provided but min amount is not provided.'
39
- )
40
-
41
- max = Number(xp.max)
42
-
43
- if (Number(xp.max).toString() === 'NaN')
44
- throw new Error('[XP] XP amount (max) is not a number.')
45
- }
46
-
47
- if (xp.min && xp.max) {
48
- let randomNumber = Math.floor(Math.random() * (max - min) + min)
49
-
50
- xp = randomNumber
51
- }
52
-
53
- const user = await levels.findOne({ user: userID, guild: guildID })
54
-
55
- let lvl = Math.floor(0.1 * Math.sqrt(xp))
56
-
57
- if (!user) {
58
- const newUser = new levels({
59
- user: userID,
60
- guild: guildID,
61
- xp: xp,
62
- level: lvl
63
- })
64
-
65
- await newUser
66
- .save()
67
- .catch((e) => console.log(`[XP] Failed to save new user to database`))
68
-
69
- return {
70
- level: 0,
71
- exp: 0
72
- }
73
- }
74
- let level1 = user.level
75
-
76
- user.xp += parseInt(xp, 10)
77
- user.level = Math.floor(0.1 * Math.sqrt(user.xp))
78
-
79
- await user
80
- .save()
81
- .catch((e) =>
82
- console.log(`[XP] Failed to add XP | User: ${userID} | Err: ${e}`)
83
- )
84
-
85
- let level = user.level
86
-
87
- xp = user.xp
88
-
89
- if (user.xp === 0 || Math.sign(user.xp) === -1) {
90
- xp = 0
91
- }
92
-
93
- if (level1 !== level) {
94
- let data = {
95
- xp,
96
- level,
97
- userID,
98
- guildID
99
- }
100
-
101
- let role = await roleSetup.find(client, guildID, level)
102
-
103
- client.emit('levelUp', message, data, role)
104
- }
105
-
106
- return {
107
- level,
108
- xp
109
- }
110
- }
111
-
112
- module.exports = addXP
1
+ const levels = require('../src/models/level.js')
2
+ let { roleSetup } = require('../simplyxp')
3
+
4
+ /**
5
+ * @param {Discord.Message} message
6
+ * @param {string} userID
7
+ * @param {string} guildID
8
+ * @param {number} xp
9
+ */
10
+
11
+ async function addXP(message, userID, guildID, xp) {
12
+ if (!userID) throw new Error('[XP] User ID was not provided.')
13
+
14
+ if (!guildID) throw new Error('[XP] Guild ID was not provided.')
15
+
16
+ if (!xp) throw new Error('[XP] XP amount is not provided.')
17
+
18
+ let { client } = message
19
+
20
+ let min
21
+ let max
22
+ if (xp.min) {
23
+ if (!xp.max)
24
+ throw new Error(
25
+ '[XP] XP min amount is provided but max amount is not provided.'
26
+ )
27
+
28
+ min = Number(xp.min)
29
+
30
+ if (Number(xp.min).toString() === 'NaN')
31
+ throw new Error('[XP] XP amount (min) is not a number.')
32
+ }
33
+
34
+ if (xp.max) {
35
+ if (!xp.min)
36
+ throw new Error(
37
+ '[XP] XP max amount is provided but min amount is not provided.'
38
+ )
39
+
40
+ max = Number(xp.max)
41
+
42
+ if (Number(xp.max).toString() === 'NaN')
43
+ throw new Error('[XP] XP amount (max) is not a number.')
44
+ }
45
+
46
+ if (xp.min && xp.max) {
47
+ let randomNumber = Math.floor(Math.random() * (max - min) + min)
48
+
49
+ xp = randomNumber
50
+ }
51
+
52
+ const user = await levels.findOne({ user: userID, guild: guildID })
53
+
54
+ let lvl = Math.floor(0.1 * Math.sqrt(xp))
55
+
56
+ if (!user) {
57
+ const newUser = new levels({
58
+ user: userID,
59
+ guild: guildID,
60
+ xp: xp,
61
+ level: lvl
62
+ })
63
+
64
+ await newUser
65
+ .save()
66
+ .catch((e) => console.log(`[XP] Failed to save new user to database`))
67
+
68
+ return {
69
+ level: 0,
70
+ exp: 0
71
+ }
72
+ }
73
+ let level1 = user.level
74
+
75
+ user.xp += parseInt(xp, 10)
76
+ user.level = Math.floor(0.1 * Math.sqrt(user.xp))
77
+
78
+ await user
79
+ .save()
80
+ .catch((e) =>
81
+ console.log(`[XP] Failed to add XP | User: ${userID} | Err: ${e}`)
82
+ )
83
+
84
+ let level = user.level
85
+
86
+ xp = user.xp
87
+
88
+ if (user.xp === 0 || Math.sign(user.xp) === -1) {
89
+ xp = 0
90
+ }
91
+
92
+ if (level1 !== level) {
93
+ let data = {
94
+ xp,
95
+ level,
96
+ userID,
97
+ guildID
98
+ }
99
+
100
+ let role = await roleSetup.find(client, guildID, level)
101
+
102
+ client.emit('levelUp', message, data, role)
103
+ }
104
+
105
+ return {
106
+ level,
107
+ xp
108
+ }
109
+ }
110
+
111
+ module.exports = addXP