Added addMemberToRole

This commit is contained in:
hydrabolt
2015-11-05 17:52:21 +00:00
parent e54da00282
commit 164e6b1b7e
6 changed files with 116 additions and 5 deletions

View File

@@ -339,6 +339,24 @@ class Client extends EventEmitter {
});
}
//def addMemberToRole
addMemberToRole(member, role, callback=function(err){}){
var self = this;
return new Promise((resolve, reject) => {
self.internal.addMemberToRole(member, role)
.then(() => {
callback();
resolve();
})
.catch(e => {
callback(e);
reject(e);
});
});
}
}
module.exports = Client;

View File

@@ -584,6 +584,43 @@ class InternalClient {
});
}
//def addMemberToRole
addMemberToRole(member, role){
var self = this;
return new Promise((resolve, reject) => {
member = self.resolver.resolveUser(member);
if(!member || !role){
reject(new Error("member/role not in server"));
return;
}
if(role.server.memberMap[member.id]){
var roleIDS = role.server.memberMap[member.id].roles.map(r => r.id).concat(role.id);
request
.patch(Endpoints.SERVER_MEMBERS(role.server.id)+"/"+member.id)
.set("authorization", self.token)
.send({
roles : roleIDS
})
.end((err) => {
if(err){
reject(err);
}else{
resolve();
}
});
}else{
reject(new Error("member not in server"));
}
});
}
sendWS(object) {
if (this.websocket)

View File

@@ -16,9 +16,11 @@ a.on("message", m => {
"manageRoles"
]
}).then( role => {
a.deleteRole(role).then(() => {
a.reply(m, "deleted!");
})
a.addMemberToRole(m.author, role).then(() => {
a.reply(m, "added!");
}).catch( e => {
console.log(e.stack)
});
}).catch( e => {
console.log(e.stack)
});