Added adding to roles

This commit is contained in:
hydrabolt
2015-10-26 13:50:17 +00:00
parent 1de2c5e5be
commit 6a18740927
5 changed files with 95 additions and 3 deletions

View File

@@ -765,6 +765,35 @@ var Client = (function () {
});
};
Client.prototype.addMemberToRole = function addMemberToRole(server, role, member) {
var callback = arguments.length <= 3 || arguments[3] === undefined ? function (err) {} : arguments[3];
var self = this;
return new Promise(function (resolve, reject) {
var serverId = self.resolveServerID(server);
var memberId = self.resolveUserID(member);
var acServer = self.getServer("id", serverId);
var acMember = acServer.getMember("id", memberId);
request.patch("https://discordapp.com/api/guilds/" + serverId + "/members/" + memberId).set("authorization", self.token).send({
roles: acMember.rawRoles.concat(role.id)
}).end(function (err) {
if (err) {
reject(err);
callback(err);
} else {
acMember.addRole(role);
resolve();
callback();
}
});
});
};
//def createws
Client.prototype.createws = function createws(url) {
@@ -1428,6 +1457,15 @@ var Client = (function () {
}
};
Client.prototype.resolveUserID = function resolveUserID(resource) {
if (resource instanceof User) {
// also accounts for Member
return resource.id;
} else if (!isNaN(resource) && resource.length && resource.length === 17) {
return resource;
}
};
Client.prototype.resolveDestination = function resolveDestination(destination) {
var channId = false;
var self = this;