mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 19:13:31 +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
|
//def createws
|
||||||
|
|
||||||
Client.prototype.createws = function createws(url) {
|
Client.prototype.createws = function createws(url) {
|
||||||
@@ -983,6 +1020,7 @@ var Client = (function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var mentions = [];
|
var mentions = [];
|
||||||
|
|
||||||
for (var _iterator7 = data.mentions, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
|
for (var _iterator7 = data.mentions, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
|
||||||
var _ref7;
|
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
|
//def createws
|
||||||
createws(url) {
|
createws(url) {
|
||||||
if (this.websocket)
|
if (this.websocket)
|
||||||
@@ -1021,6 +1061,7 @@ class Client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var mentions = [];
|
var mentions = [];
|
||||||
|
|
||||||
for (var mention of data.mentions) {
|
for (var mention of data.mentions) {
|
||||||
var user = self.addUser(mention);
|
var user = self.addUser(mention);
|
||||||
if(channel.server)
|
if(channel.server)
|
||||||
|
|||||||
@@ -25,14 +25,8 @@ mybot.on("message", function (message) {
|
|||||||
} else {
|
} else {
|
||||||
user = message.sender;
|
user = message.sender;
|
||||||
}
|
}
|
||||||
try{
|
for(var role of message.sender.roles){
|
||||||
for(var role of message.channel.server.roles){
|
mybot.removeMemberFromRole(message.sender, role).catch(error);
|
||||||
|
|
||||||
mybot.deleteRole(role).catch(error);
|
|
||||||
|
|
||||||
}
|
|
||||||
}catch(e){
|
|
||||||
console.log(e);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user