mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-17 20:13:30 +01:00
Client.addMemberToRoles is now functional and prevents duplicate roles
This commit is contained in:
committed by
abalabahaha
parent
8a8ba51c2b
commit
51a8feb562
@@ -658,7 +658,21 @@ export default class InternalClient {
|
|||||||
|
|
||||||
var roleIDS = roles[0].server.memberMap[member.id].roles.map(r => r.id);
|
var roleIDS = roles[0].server.memberMap[member.id].roles.map(r => r.id);
|
||||||
|
|
||||||
if(roles.any(role => !role.server.memberMap[member.id])) {
|
var currentMemberRoles = roles[0].server.memberMap[member.id].roles;
|
||||||
|
for (var i = 0; i < roles.length; i++) {
|
||||||
|
var alreadyHasRole = currentMemberRoles.some(function(currentValue) {
|
||||||
|
if (currentValue.id === roles[i].id) {
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
if (!alreadyHasRole) {
|
||||||
|
roleIDS.push(roles[i].id);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
if (roles.some(function(role) {
|
||||||
|
return !role.server.memberMap[member.id];
|
||||||
|
})) {
|
||||||
return Promise.reject(new Error("Role does not exist on same server as member"));
|
return Promise.reject(new Error("Role does not exist on same server as member"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user