mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 03:23:29 +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"));
|
return Promise.reject(new Error("invalid array of roles"));
|
||||||
}
|
}
|
||||||
|
|
||||||
var roleIDS = roles[0].server.memberMap[member.id].roles.map(function (r) {
|
if (roles.some(function (role) {
|
||||||
return r.id;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (roles.any(function (role) {
|
|
||||||
return !role.server.memberMap[member.id];
|
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"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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, {
|
return this.apiRequest("patch", _Constants.Endpoints.SERVER_MEMBERS(role.server.id) + "/" + member.id, true, {
|
||||||
roles: roleIDS
|
roles: roleIDS
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -656,26 +656,18 @@ export default class InternalClient {
|
|||||||
return Promise.reject(new Error("invalid array of roles"));
|
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 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++) {
|
for (var i = 0; i < roles.length; i++) {
|
||||||
var alreadyHasRole = currentMemberRoles.some(function(currentValue) {
|
if (!~roleIDs.indexOf(roles[i].id)) {
|
||||||
if (currentValue.id === roles[i].id) {
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
});
|
|
||||||
if (!alreadyHasRole) {
|
|
||||||
roleIDS.push(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(
|
return this.apiRequest(
|
||||||
"patch",
|
"patch",
|
||||||
`${Endpoints.SERVER_MEMBERS(role.server.id)}/${member.id}`,
|
`${Endpoints.SERVER_MEMBERS(role.server.id)}/${member.id}`,
|
||||||
|
|||||||
Reference in New Issue
Block a user