mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Added addMemberToRole
This commit is contained in:
@@ -365,6 +365,24 @@ var Client = (function (_EventEmitter) {
|
||||
});
|
||||
};
|
||||
|
||||
//def addMemberToRole
|
||||
|
||||
Client.prototype.addMemberToRole = function addMemberToRole(member, role) {
|
||||
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
|
||||
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
self.internal.addMemberToRole(member, role).then(function () {
|
||||
callback();
|
||||
resolve();
|
||||
})["catch"](function (e) {
|
||||
callback(e);
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
return Client;
|
||||
})(EventEmitter);
|
||||
|
||||
|
||||
@@ -550,6 +550,40 @@ var InternalClient = (function () {
|
||||
});
|
||||
};
|
||||
|
||||
//def addMemberToRole
|
||||
|
||||
InternalClient.prototype.addMemberToRole = function addMemberToRole(member, role) {
|
||||
var self = this;
|
||||
return new Promise(function (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(function (r) {
|
||||
return r.id;
|
||||
}).concat(role.id);
|
||||
|
||||
request.patch(Endpoints.SERVER_MEMBERS(role.server.id) + "/" + member.id).set("authorization", self.token).send({
|
||||
roles: roleIDS
|
||||
}).end(function (err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
reject(new Error("member not in server"));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
InternalClient.prototype.sendWS = function sendWS(object) {
|
||||
if (this.websocket) this.websocket.send(JSON.stringify(object));
|
||||
};
|
||||
|
||||
@@ -20,8 +20,10 @@ a.on("message", function (m) {
|
||||
hoist: true,
|
||||
permissions: ["manageRoles"]
|
||||
}).then(function (role) {
|
||||
a.deleteRole(role).then(function () {
|
||||
a.reply(m, "deleted!");
|
||||
a.addMemberToRole(m.author, role).then(function () {
|
||||
a.reply(m, "added!");
|
||||
})["catch"](function (e) {
|
||||
console.log(e.stack);
|
||||
});
|
||||
})["catch"](function (e) {
|
||||
console.log(e.stack);
|
||||
|
||||
@@ -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;
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user