mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Fixed permission resolution
This commit is contained in:
@@ -83,11 +83,15 @@ var Member = (function (_User) {
|
||||
}
|
||||
|
||||
if (affectingOverwrites.length === 0 && affectingMemberOverwrites.length === 0) {
|
||||
return new EvaluatedPermissions(this.evalPerms.packed);
|
||||
return this.evalPerms;
|
||||
}
|
||||
|
||||
var finalPacked = affectingOverwrites.length !== 0 ? affectingOverwrites[0].packed : affectingMemberOverwrites[0].packed;
|
||||
|
||||
console.log(affectingOverwrites);
|
||||
console.log("\n\n\n");
|
||||
console.log(affectingMemberOverwrites);
|
||||
|
||||
for (var _iterator3 = affectingOverwrites, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
|
||||
var _ref3;
|
||||
|
||||
@@ -103,9 +107,10 @@ var Member = (function (_User) {
|
||||
var overwrite = _ref3;
|
||||
|
||||
finalPacked = finalPacked & ~overwrite.deny;
|
||||
finalPacked = finalPacked | overwrite.allow;
|
||||
}
|
||||
|
||||
for (var _iterator4 = affectingOverwrites, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
|
||||
for (var _iterator4 = affectingMemberOverwrites, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
|
||||
var _ref4;
|
||||
|
||||
if (_isArray4) {
|
||||
@@ -119,40 +124,7 @@ var Member = (function (_User) {
|
||||
|
||||
var overwrite = _ref4;
|
||||
|
||||
finalPacked = finalPacked | overwrite.allow;
|
||||
}
|
||||
|
||||
for (var _iterator5 = affectingMemberOverwrites, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
|
||||
var _ref5;
|
||||
|
||||
if (_isArray5) {
|
||||
if (_i5 >= _iterator5.length) break;
|
||||
_ref5 = _iterator5[_i5++];
|
||||
} else {
|
||||
_i5 = _iterator5.next();
|
||||
if (_i5.done) break;
|
||||
_ref5 = _i5.value;
|
||||
}
|
||||
|
||||
var overwrite = _ref5;
|
||||
|
||||
finalPacked = finalPacked & ~overwrite.deny;
|
||||
}
|
||||
|
||||
for (var _iterator6 = affectingMemberOverwrites, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
|
||||
var _ref6;
|
||||
|
||||
if (_isArray6) {
|
||||
if (_i6 >= _iterator6.length) break;
|
||||
_ref6 = _iterator6[_i6++];
|
||||
} else {
|
||||
_i6 = _iterator6.next();
|
||||
if (_i6.done) break;
|
||||
_ref6 = _i6.value;
|
||||
}
|
||||
|
||||
var overwrite = _ref6;
|
||||
|
||||
finalPacked = finalPacked | overwrite.allow;
|
||||
}
|
||||
|
||||
@@ -170,19 +142,19 @@ var Member = (function (_User) {
|
||||
|
||||
var ufRoles = [this.server.getRole("id", this.server.id)];
|
||||
|
||||
for (var _iterator7 = this.rawRoles, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
|
||||
var _ref7;
|
||||
for (var _iterator5 = this.rawRoles, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
|
||||
var _ref5;
|
||||
|
||||
if (_isArray7) {
|
||||
if (_i7 >= _iterator7.length) break;
|
||||
_ref7 = _iterator7[_i7++];
|
||||
if (_isArray5) {
|
||||
if (_i5 >= _iterator5.length) break;
|
||||
_ref5 = _iterator5[_i5++];
|
||||
} else {
|
||||
_i7 = _iterator7.next();
|
||||
if (_i7.done) break;
|
||||
_ref7 = _i7.value;
|
||||
_i5 = _iterator5.next();
|
||||
if (_i5.done) break;
|
||||
_ref5 = _i5.value;
|
||||
}
|
||||
|
||||
var rawRole = _ref7;
|
||||
var rawRole = _ref5;
|
||||
|
||||
ufRoles.push(this.server.getRole("id", rawRole));
|
||||
}
|
||||
@@ -197,26 +169,25 @@ var Member = (function (_User) {
|
||||
basePerm = basePerms[0].packed;
|
||||
|
||||
basePerms = basePerms || [];
|
||||
for (var _iterator8 = basePerms, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
|
||||
var _ref8;
|
||||
for (var _iterator6 = basePerms, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
|
||||
var _ref6;
|
||||
|
||||
if (_isArray8) {
|
||||
if (_i8 >= _iterator8.length) break;
|
||||
_ref8 = _iterator8[_i8++];
|
||||
if (_isArray6) {
|
||||
if (_i6 >= _iterator6.length) break;
|
||||
_ref6 = _iterator6[_i6++];
|
||||
} else {
|
||||
_i8 = _iterator8.next();
|
||||
if (_i8.done) break;
|
||||
_ref8 = _i8.value;
|
||||
_i6 = _iterator6.next();
|
||||
if (_i6.done) break;
|
||||
_ref6 = _i6.value;
|
||||
}
|
||||
|
||||
var perm = _ref8;
|
||||
var perm = _ref6;
|
||||
|
||||
basePerm = basePerm | perm.packed;
|
||||
console.log(perm.name + " - " + perm.mentionEveryone);
|
||||
}
|
||||
|
||||
return new ServerPermissions({
|
||||
permissions: basePerm
|
||||
});
|
||||
return new EvaluatedPermissions(basePerm);
|
||||
}
|
||||
}]);
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ var ServerPermissions = (function () {
|
||||
this.position = data.position || 1;
|
||||
this.hoist = data.hoist || false;
|
||||
this.color = data.color || 0;
|
||||
this.packed = data.permissions || 36953089;
|
||||
this.packed = data.permissions || (data.name === "@everyone" ? 36953089 : 0);
|
||||
this.name = data.name || "new role";
|
||||
this.id = data.id || null;
|
||||
this.server = server;
|
||||
|
||||
@@ -31,14 +31,14 @@ class Member extends User{
|
||||
var basePerms = this.roles, //cache roles as it can be slightly expensive
|
||||
basePerm = basePerms[0].packed;
|
||||
|
||||
|
||||
basePerms = basePerms || [];
|
||||
for(var perm of basePerms){
|
||||
basePerm = basePerm | perm.packed;
|
||||
console.log(perm.name +" - "+perm.mentionEveryone);
|
||||
}
|
||||
|
||||
return new ServerPermissions({
|
||||
permissions : basePerm
|
||||
});
|
||||
return new EvaluatedPermissions(basePerm);
|
||||
}
|
||||
|
||||
removeRole(role){
|
||||
@@ -78,24 +78,22 @@ class Member extends User{
|
||||
|
||||
|
||||
if(affectingOverwrites.length === 0 && affectingMemberOverwrites.length === 0){
|
||||
return new EvaluatedPermissions(this.evalPerms.packed);
|
||||
return this.evalPerms;
|
||||
}
|
||||
|
||||
var finalPacked = (affectingOverwrites.length !== 0 ? affectingOverwrites[0].packed : affectingMemberOverwrites[0].packed);
|
||||
|
||||
for(var overwrite of affectingOverwrites){
|
||||
finalPacked = finalPacked & ~overwrite.deny;
|
||||
}
|
||||
console.log(affectingOverwrites);
|
||||
console.log("\n\n\n");
|
||||
console.log(affectingMemberOverwrites);
|
||||
|
||||
for(var overwrite of affectingOverwrites){
|
||||
finalPacked = finalPacked & ~overwrite.deny;
|
||||
finalPacked = finalPacked | overwrite.allow;
|
||||
}
|
||||
|
||||
for(var overwrite of affectingMemberOverwrites){
|
||||
finalPacked = finalPacked & ~overwrite.deny;
|
||||
}
|
||||
|
||||
for(var overwrite of affectingMemberOverwrites){
|
||||
finalPacked = finalPacked | overwrite.allow;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ class ServerPermissions {
|
||||
this.position = data.position || 1;
|
||||
this.hoist = data.hoist || false;
|
||||
this.color = data.color || 0;
|
||||
this.packed = data.permissions || 36953089;
|
||||
this.packed = data.permissions || (data.name === "@everyone" ? 36953089 : 0));
|
||||
this.name = data.name || "new role";
|
||||
this.id = data.id || null;
|
||||
this.server = server;
|
||||
|
||||
@@ -26,7 +26,11 @@ mybot.on("message", function (message) {
|
||||
user = message.sender;
|
||||
}
|
||||
|
||||
mybot.reply(message, JSON.stringify(message.sender.permissionsIn(message.channel), null, 4));
|
||||
mybot.getChannelLogs(message.channel, 5000).then((messages)=>{
|
||||
for(var msg of messages){
|
||||
mybot.deleteMessage(msg);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
mybot.once("ready", function () {
|
||||
|
||||
Reference in New Issue
Block a user