BUGFIX: level 0 and below can't have ranks

This commit is contained in:
2018-10-29 22:02:16 +11:00
parent 02a52f0b07
commit 95cd2cc026

View File

@@ -56,6 +56,12 @@ exports.RankUp = async function(client, member, level) {
member = guild.members.get(user.id); member = guild.members.get(user.id);
} }
//BUGFIX: level 0 and lower can't have a rank
if (level < process.env.RANK_1_THRESHOLD) {
removeRankRoles(guild, member);
return "";
}
//Snapping the level variable //Snapping the level variable
if (level < process.env.RANK_2_THRESHOLD) { if (level < process.env.RANK_2_THRESHOLD) {
level = process.env.RANK_1_THRESHOLD; level = process.env.RANK_1_THRESHOLD;
@@ -78,17 +84,8 @@ exports.RankUp = async function(client, member, level) {
return ""; return "";
} }
//the ranks as roles //remove all ranks
let ranks = [ removeRankRoles(guild, member);
guild.roles.find(role => role.name === process.env.RANK_1),
guild.roles.find(role => role.name === process.env.RANK_2),
guild.roles.find(role => role.name === process.env.RANK_3)
]
//remove all existing roles
for(let i = 0; i < ranks.length; i++) {
member.removeRole(ranks[i].id);
}
//this will enable the new rooms //this will enable the new rooms
member.addRole(levelRole); member.addRole(levelRole);
@@ -96,3 +93,17 @@ exports.RankUp = async function(client, member, level) {
//return the result //return the result
return "rankUp"; return "rankUp";
} }
function removeRankRoles(guild, member) {
//the ranks as roles
let ranks = [
guild.roles.find(role => role.name === process.env.RANK_1),
guild.roles.find(role => role.name === process.env.RANK_2),
guild.roles.find(role => role.name === process.env.RANK_3)
];
//remove all existing roles
for(let i = 0; i < ranks.length; i++) {
member.removeRole(ranks[i].id);
}
}