mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
Improvement upon addMemberToRoles and build
This commit is contained in:
@@ -795,16 +795,22 @@ var InternalClient = (function () {
|
||||
return Promise.reject(new Error("invalid array of roles"));
|
||||
}
|
||||
|
||||
var roleIDS = roles[0].server.memberMap[member.id].roles.map(function (r) {
|
||||
return r.id;
|
||||
});
|
||||
|
||||
if (roles.any(function (role) {
|
||||
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"));
|
||||
}
|
||||
|
||||
var roleIDS = roles[0].server.memberMap[member.id].roles.map(function (r) {
|
||||
return r.id;
|
||||
});
|
||||
|
||||
for (var i = 0; i < roles.length; i++) {
|
||||
if (! ~roleIDs.indexOf(roles[i].id)) {
|
||||
roleIDS.push(roles[i].id);
|
||||
};
|
||||
};
|
||||
|
||||
return this.apiRequest("patch", _Constants.Endpoints.SERVER_MEMBERS(role.server.id) + "/" + member.id, true, {
|
||||
roles: roleIDS
|
||||
});
|
||||
|
||||
@@ -656,26 +656,18 @@ export default class InternalClient {
|
||||
return Promise.reject(new Error("invalid array of roles"));
|
||||
}
|
||||
|
||||
if (roles.some(role => !role.server.memberMap[member.id])) {
|
||||
return Promise.reject(new Error("Role does not exist on same server as member"));
|
||||
}
|
||||
|
||||
var roleIDS = roles[0].server.memberMap[member.id].roles.map(r => r.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) {
|
||||
if (!~roleIDs.indexOf(roles[i].id)) {
|
||||
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 this.apiRequest(
|
||||
"patch",
|
||||
`${Endpoints.SERVER_MEMBERS(role.server.id)}/${member.id}`,
|
||||
|
||||
Reference in New Issue
Block a user