mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
Added ability to remove members from roles
This commit is contained in:
@@ -832,6 +832,43 @@ var Client = (function () {
|
||||
});
|
||||
};
|
||||
|
||||
Client.prototype.removeMemberFromRole = function removeMemberFromRole(member, role) {
|
||||
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
|
||||
|
||||
var self = this;
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
try {
|
||||
var serverId = self.resolveServerID(member.server);
|
||||
var memberId = self.resolveUserID(member);
|
||||
|
||||
var acServer = self.getServer("id", serverId);
|
||||
var acMember = acServer.getMember("id", memberId);
|
||||
|
||||
for (var safeRole in acMember.rawRoles) {
|
||||
if (acMember.rawRoles[safeRole] == role.id) {
|
||||
acMember.rawRoles.splice(safeRole, 1);
|
||||
}
|
||||
}
|
||||
|
||||
request.patch("https://discordapp.com/api/guilds/" + serverId + "/members/" + memberId).set("authorization", self.token).send({
|
||||
roles: acMember.rawRoles
|
||||
}).end(function (err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
callback(err);
|
||||
} else {
|
||||
acMember.addRole(role);
|
||||
resolve();
|
||||
callback();
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//def createws
|
||||
|
||||
Client.prototype.createws = function createws(url) {
|
||||
@@ -983,6 +1020,7 @@ var Client = (function () {
|
||||
}
|
||||
|
||||
var mentions = [];
|
||||
|
||||
for (var _iterator7 = data.mentions, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
|
||||
var _ref7;
|
||||
|
||||
|
||||
@@ -905,6 +905,46 @@ class Client {
|
||||
});
|
||||
}
|
||||
|
||||
removeMemberFromRole(member, role, callback = function (err) { }) {
|
||||
var self = this;
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
try{
|
||||
var serverId = self.resolveServerID(member.server);
|
||||
var memberId = self.resolveUserID(member);
|
||||
|
||||
var acServer = self.getServer("id", serverId);
|
||||
var acMember = acServer.getMember("id", memberId);
|
||||
|
||||
for(var safeRole in acMember.rawRoles){
|
||||
if(acMember.rawRoles[safeRole] == role.id){
|
||||
acMember.rawRoles.splice(safeRole, 1);
|
||||
}
|
||||
}
|
||||
|
||||
request
|
||||
.patch(`https://discordapp.com/api/guilds/${serverId}/members/${memberId}`)
|
||||
.set("authorization", self.token)
|
||||
.send({
|
||||
roles: acMember.rawRoles
|
||||
})
|
||||
.end(function (err) {
|
||||
if (err) {
|
||||
reject(err);
|
||||
callback(err);
|
||||
} else {
|
||||
acMember.addRole(role);
|
||||
resolve();
|
||||
callback();
|
||||
}
|
||||
|
||||
});
|
||||
}catch(e){
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//def createws
|
||||
createws(url) {
|
||||
if (this.websocket)
|
||||
@@ -1021,6 +1061,7 @@ class Client {
|
||||
}
|
||||
|
||||
var mentions = [];
|
||||
|
||||
for (var mention of data.mentions) {
|
||||
var user = self.addUser(mention);
|
||||
if(channel.server)
|
||||
|
||||
@@ -25,14 +25,8 @@ mybot.on("message", function (message) {
|
||||
} else {
|
||||
user = message.sender;
|
||||
}
|
||||
try{
|
||||
for(var role of message.channel.server.roles){
|
||||
|
||||
mybot.deleteRole(role).catch(error);
|
||||
|
||||
}
|
||||
}catch(e){
|
||||
console.log(e);
|
||||
for(var role of message.sender.roles){
|
||||
mybot.removeMemberFromRole(message.sender, role).catch(error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user