Skip to content

Commit fb7ae9b

Browse files
committed
Correction on the management of the experience, and the saving of the messages
1 parent 0a9ebaf commit fb7ae9b

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

Events/message/message.js

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class message extends Event {
2525
message.member = await message.guild.members.fetch( message.author );
2626

2727
// —— Message log in the database
28-
message.guild && message.guild.plugins.logger.enabled && new client.db.Message({
28+
message.guild && new client.db.Message({
2929
_ID : message.id,
3030
_userID : message.author.id,
3131
_guildID : message.guild && message.guild.id || "DM",
@@ -37,27 +37,25 @@ class message extends Event {
3737

3838
// —— Experience module
3939
if ( message.guild && message.guild.plugins.experience.enabled ) {
40-
// —— Search in the database if the member exists
41-
let member = await client.db.Member.findOne({
42-
_ID : message.author.id,
43-
_guildID : message.guild.id
44-
}).exec();
4540

46-
// —— If it does not exist, it is created
47-
if ( !member ) {
48-
member = await new client.db.Member({
49-
_ID : message.author.id,
50-
_guildID : message.guild.id,
51-
joinDate : message.member.joinedAt,
52-
}).save().catch(console.error);
53-
}
41+
// —— Search in the database if the member exists — Or create it
42+
const member = await client.db.Member.findOneAndUpdate({
43+
_ID : message.author.id,
44+
_guildID : message.guild.id
45+
}, {
46+
joinDate : message.member.joinedAt
47+
}, {
48+
setDefaultsOnInsert : true,
49+
upsert : true,
50+
new : true,
51+
}).catch( ( err ) => console.error( err ) );
5452

5553
// —— Give a random amount of xp per message
56-
let gain = ~~( Math.random() * 50 ) + 20;
54+
let gain = ~~( Math.random() * 35 ) + 15;
5755

58-
// –– Lucky drop, 1 chance in 100 to multiply the gain by 10
59-
if ( ~~( Math.random() * 101 ) === 100 )
60-
message.react( "🔥" ) && ( gain *= 10 );
56+
// –– Lucky drop, 1 chance in 300 to multiply the gain by 5
57+
if ( ~~( Math.random() * 301 ) === 300 )
58+
message.react( "🔥" ) && ( gain *= 5 );
6159

6260
// —— Adds the gain to the old xp
6361
member.experience += gain;
@@ -67,7 +65,7 @@ class message extends Event {
6765
// —— LVL UP ! *Victory Fanfare* (Final Fantasy XI)
6866
if( member.level < curLevel ) {
6967

70-
member.level++;
68+
member.level = curLevel;
7169
message.channel.send( langue.lvlUp( member.level, member ) );
7270

7371
}

0 commit comments

Comments
 (0)