mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 11:03:30 +01:00
memberHasRole, membersWithRole
This commit is contained in:
@@ -397,6 +397,20 @@ var Client = (function (_EventEmitter) {
|
|||||||
return this.addMemberToRole(member, role, callback);
|
return this.addMemberToRole(member, role, callback);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// def addUserToRole
|
||||||
|
|
||||||
|
Client.prototype.memberHasRole = function memberHasRole(member, role) {
|
||||||
|
return this.internal.memberHasRole(member, role);
|
||||||
|
};
|
||||||
|
|
||||||
|
// def addUserToRole
|
||||||
|
|
||||||
|
Client.prototype.userHasRole = function userHasRole(member, role) {
|
||||||
|
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
|
||||||
|
|
||||||
|
return this.memberHasRole(member, role, callback);
|
||||||
|
};
|
||||||
|
|
||||||
// def removeMemberFromRole
|
// def removeMemberFromRole
|
||||||
|
|
||||||
Client.prototype.removeMemberFromRole = function removeMemberFromRole(member, role) {
|
Client.prototype.removeMemberFromRole = function removeMemberFromRole(member, role) {
|
||||||
@@ -413,38 +427,6 @@ var Client = (function (_EventEmitter) {
|
|||||||
return this.removeMemberFromRole(member, role, callback);
|
return this.removeMemberFromRole(member, role, callback);
|
||||||
};
|
};
|
||||||
|
|
||||||
// def addMemberToRole
|
|
||||||
|
|
||||||
Client.prototype.addMemberToRoles = function addMemberToRoles(member, roles) {
|
|
||||||
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
|
|
||||||
|
|
||||||
return this.internal.addMemberToRoles(member, roles).then(dataCallback(callback), errorCallback(callback));
|
|
||||||
};
|
|
||||||
|
|
||||||
// def addUserToRole
|
|
||||||
|
|
||||||
Client.prototype.addUserToRoles = function addUserToRoles(member, roles) {
|
|
||||||
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
|
|
||||||
|
|
||||||
return this.addMemberToRoles(member, roles, callback);
|
|
||||||
};
|
|
||||||
|
|
||||||
// def removeMemberFromRole
|
|
||||||
|
|
||||||
Client.prototype.removeMemberFromRoles = function removeMemberFromRoles(member, roles) {
|
|
||||||
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
|
|
||||||
|
|
||||||
return this.internal.removeMemberFromRoles(member, roles).then(dataCallback(callback), errorCallback(callback));
|
|
||||||
};
|
|
||||||
|
|
||||||
// def removeUserFromRole
|
|
||||||
|
|
||||||
Client.prototype.removeUserFromRoles = function removeUserFromRoles(member, roles) {
|
|
||||||
var callback = arguments.length <= 2 || arguments[2] === undefined ? function () /*err, {}*/{} : arguments[2];
|
|
||||||
|
|
||||||
return this.removeMemberFromRoles(member, roles, callback);
|
|
||||||
};
|
|
||||||
|
|
||||||
// def createInvite
|
// def createInvite
|
||||||
|
|
||||||
Client.prototype.createInvite = function createInvite(chanServ, options) {
|
Client.prototype.createInvite = function createInvite(chanServ, options) {
|
||||||
|
|||||||
@@ -801,7 +801,7 @@ var InternalClient = (function () {
|
|||||||
member = this.resolver.resolveUser(member);
|
member = this.resolver.resolveUser(member);
|
||||||
|
|
||||||
if (!member) {
|
if (!member) {
|
||||||
return Promise.reject(new Error("member not in server"));
|
return Promise.reject(new Error("user not found"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Array.isArray(roles) || roles.length === 0) {
|
if (!Array.isArray(roles) || roles.length === 0) {
|
||||||
@@ -833,13 +833,25 @@ var InternalClient = (function () {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
InternalClient.prototype.memberHasRole = function memberHasRole(member, role) {
|
||||||
|
member = this.resolver.resolveUser(member);
|
||||||
|
|
||||||
|
if (!member) {
|
||||||
|
throw new Error("user not found");
|
||||||
|
}
|
||||||
|
|
||||||
|
return !!role.server.rolesOf(member).find(function (r) {
|
||||||
|
return r.id == role.id;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
//def removeMemberFromRole
|
//def removeMemberFromRole
|
||||||
|
|
||||||
InternalClient.prototype.removeMemberFromRole = function removeMemberFromRole(member, roles) {
|
InternalClient.prototype.removeMemberFromRole = function removeMemberFromRole(member, roles) {
|
||||||
member = this.resolver.resolveUser(member);
|
member = this.resolver.resolveUser(member);
|
||||||
|
|
||||||
if (!member) {
|
if (!member) {
|
||||||
return Promise.reject(new Error("member not in server"));
|
return Promise.reject(new Error("user not found"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Array.isArray(roles) || roles.length === 0) {
|
if (!Array.isArray(roles) || roles.length === 0) {
|
||||||
|
|||||||
@@ -187,6 +187,10 @@ var Server = (function (_Equality) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Server.prototype.rolesOfMember = function rolesOfMember(member) {
|
||||||
|
return this.rolesOfUser(member);
|
||||||
|
};
|
||||||
|
|
||||||
Server.prototype.rolesOf = function rolesOf(user) {
|
Server.prototype.rolesOf = function rolesOf(user) {
|
||||||
return this.rolesOfUser(user);
|
return this.rolesOfUser(user);
|
||||||
};
|
};
|
||||||
@@ -322,6 +326,16 @@ var Server = (function (_Equality) {
|
|||||||
return this.client.createChannel.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
|
return this.client.createChannel.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Server.prototype.membersWithRole = function membersWithRole(role) {
|
||||||
|
return this.members.filter(function (m) {
|
||||||
|
return m.hasRole(role);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
Server.prototype.usersWithRole = function usersWithRole(role) {
|
||||||
|
return this.membersWithRole(role);
|
||||||
|
};
|
||||||
|
|
||||||
_createClass(Server, [{
|
_createClass(Server, [{
|
||||||
key: "iconURL",
|
key: "iconURL",
|
||||||
get: function get() {
|
get: function get() {
|
||||||
|
|||||||
@@ -95,6 +95,10 @@ var User = (function (_Equality) {
|
|||||||
return this.client.getChannelLogs.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
|
return this.client.getChannelLogs.apply(this.client, _UtilArgumentRegulariser.reg(this, arguments));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
User.prototype.hasRole = function hasRole(role) {
|
||||||
|
return this.client.memberHasRole.apply(this.client, [this, role]);
|
||||||
|
};
|
||||||
|
|
||||||
_createClass(User, [{
|
_createClass(User, [{
|
||||||
key: "avatarURL",
|
key: "avatarURL",
|
||||||
get: function get() {
|
get: function get() {
|
||||||
|
|||||||
@@ -338,6 +338,16 @@ export default class Client extends EventEmitter {
|
|||||||
return this.addMemberToRole(member, role, callback);
|
return this.addMemberToRole(member, role, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// def addUserToRole
|
||||||
|
memberHasRole(member, role) {
|
||||||
|
return this.internal.memberHasRole(member, role);
|
||||||
|
}
|
||||||
|
|
||||||
|
// def addUserToRole
|
||||||
|
userHasRole(member, role, callback = (/*err, {}*/) => { }) {
|
||||||
|
return this.memberHasRole(member, role, callback);
|
||||||
|
}
|
||||||
|
|
||||||
// def removeMemberFromRole
|
// def removeMemberFromRole
|
||||||
removeMemberFromRole(member, role, callback = (/*err, {}*/) => { }) {
|
removeMemberFromRole(member, role, callback = (/*err, {}*/) => { }) {
|
||||||
return this.internal.removeMemberFromRole(member, role)
|
return this.internal.removeMemberFromRole(member, role)
|
||||||
@@ -349,28 +359,6 @@ export default class Client extends EventEmitter {
|
|||||||
return this.removeMemberFromRole(member, role, callback);
|
return this.removeMemberFromRole(member, role, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
// def addMemberToRole
|
|
||||||
addMemberToRoles(member, roles, callback = (/*err, {}*/) => { }) {
|
|
||||||
return this.internal.addMemberToRoles(member, roles)
|
|
||||||
.then(dataCallback(callback), errorCallback(callback));
|
|
||||||
}
|
|
||||||
|
|
||||||
// def addUserToRole
|
|
||||||
addUserToRoles(member, roles, callback = (/*err, {}*/) => { }) {
|
|
||||||
return this.addMemberToRoles(member, roles, callback);
|
|
||||||
}
|
|
||||||
|
|
||||||
// def removeMemberFromRole
|
|
||||||
removeMemberFromRoles(member, roles, callback = (/*err, {}*/) => { }) {
|
|
||||||
return this.internal.removeMemberFromRoles(member, roles)
|
|
||||||
.then(dataCallback(callback), errorCallback(callback));
|
|
||||||
}
|
|
||||||
|
|
||||||
// def removeUserFromRole
|
|
||||||
removeUserFromRoles(member, roles, callback = (/*err, {}*/) => { }) {
|
|
||||||
return this.removeMemberFromRoles(member, roles, callback);
|
|
||||||
}
|
|
||||||
|
|
||||||
// def createInvite
|
// def createInvite
|
||||||
createInvite(chanServ, options, callback = (/*err, invite*/) => { }) {
|
createInvite(chanServ, options, callback = (/*err, invite*/) => { }) {
|
||||||
if (typeof options === "function") {
|
if (typeof options === "function") {
|
||||||
|
|||||||
@@ -657,7 +657,7 @@ export default class InternalClient {
|
|||||||
member = this.resolver.resolveUser(member);
|
member = this.resolver.resolveUser(member);
|
||||||
|
|
||||||
if (!member) {
|
if (!member) {
|
||||||
return Promise.reject(new Error("member not in server"));
|
return Promise.reject(new Error("user not found"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Array.isArray(roles) || roles.length === 0) {
|
if (!Array.isArray(roles) || roles.length === 0) {
|
||||||
@@ -690,12 +690,22 @@ export default class InternalClient {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memberHasRole(member, role) {
|
||||||
|
member = this.resolver.resolveUser(member);
|
||||||
|
|
||||||
|
if (!member) {
|
||||||
|
throw new Error("user not found");
|
||||||
|
}
|
||||||
|
|
||||||
|
return !!role.server.rolesOf(member).find(r => r.id == role.id);
|
||||||
|
}
|
||||||
|
|
||||||
//def removeMemberFromRole
|
//def removeMemberFromRole
|
||||||
removeMemberFromRole(member, roles) {
|
removeMemberFromRole(member, roles) {
|
||||||
member = this.resolver.resolveUser(member);
|
member = this.resolver.resolveUser(member);
|
||||||
|
|
||||||
if (!member) {
|
if (!member) {
|
||||||
return Promise.reject(new Error("member not in server"));
|
return Promise.reject(new Error("user not found"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Array.isArray(roles) || roles.length === 0) {
|
if (!Array.isArray(roles) || roles.length === 0) {
|
||||||
|
|||||||
@@ -121,6 +121,10 @@ export default class Server extends Equality {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rolesOfMember(member) {
|
||||||
|
return this.rolesOfUser(member);
|
||||||
|
}
|
||||||
|
|
||||||
rolesOf(user) {
|
rolesOf(user) {
|
||||||
return this.rolesOfUser(user);
|
return this.rolesOfUser(user);
|
||||||
}
|
}
|
||||||
@@ -258,4 +262,11 @@ export default class Server extends Equality {
|
|||||||
return this.client.createChannel.apply(this.client, reg(this, arguments));
|
return this.client.createChannel.apply(this.client, reg(this, arguments));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
membersWithRole(role) {
|
||||||
|
return this.members.filter(m => m.hasRole(role));
|
||||||
|
}
|
||||||
|
|
||||||
|
usersWithRole(role) {
|
||||||
|
return this.membersWithRole(role);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,4 +106,8 @@ export default class User extends Equality{
|
|||||||
getLogs() {
|
getLogs() {
|
||||||
return this.client.getChannelLogs.apply(this.client, reg(this, arguments));
|
return this.client.getChannelLogs.apply(this.client, reg(this, arguments));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hasRole(role) {
|
||||||
|
return this.client.memberHasRole.apply(this.client, [this, role]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user