role limit and blrank add

This commit is contained in:
VALOU3336
2024-02-24 23:03:48 +01:00
parent 58ac0125b9
commit c6ac681a58
4 changed files with 195 additions and 30 deletions
+46
View File
@@ -0,0 +1,46 @@
const db = require('quick.db');
const GestionDb = new db.table('gestion');
module.exports = {
name: 'guildMemberUpdate',
execute(oldMember, newMember) {
const botId = newMember.client.user.id;
const guildId = newMember.guild.id;
const limitedRoles = GestionDb.get(`${botId}.${guildId}.rolelimits`) || [];
const blrank = GestionDb.get(`${botId}.${guildId}.blrank`) || {};
if (blrank[newMember.id]) {
const addedRoles = newMember.roles.cache.filter(role => !oldMember.roles.cache.has(role.id));
addedRoles.forEach(async role => {
try {
await newMember.roles.remove(role);
} catch (error) {
console.error(`Erreur lors de la suppression du rôle <@&${role.id}> pour le membre ${newMember.user.tag}:`, error);
}
});
return;
}
const addedRoles = newMember.roles.cache.filter(role => !oldMember.roles.cache.has(role.id));
addedRoles.forEach(async role => {
const limitedRole = limitedRoles.find(r => r.id === role.id);
if (limitedRole) {
const memberCount = newMember.guild.members.cache.filter(m => m.roles.cache.has(role.id)).size;
if (limitedRole.limit === 0) {
try {
await newMember.roles.remove(role);
} catch (error) {
console.error(`Erreur lors de la suppression du rôle <@&${role.id}> pour le membre ${newMember.user.tag}:`, error);
}
}
if (memberCount > limitedRole.limit) {
try {
await newMember.roles.remove(role);
} catch (error) {
console.error(`Erreur lors de la suppression du rôle <@&${role.id}> pour le membre ${newMember.user.tag}:`, error);
}
}
}
});
},
};