Fix permission checking for Administrator channel overwrites (#2756)

This commit is contained in:
bdistin
2018-08-17 02:46:09 -05:00
committed by Amish Shah
parent 3f81b613d8
commit d437cecb3f
3 changed files with 9 additions and 9 deletions

View File

@@ -290,7 +290,7 @@ class GuildChannel extends Channel {
get members() {
const members = new Collection();
for (const member of this.guild.members.values()) {
if (this.permissionsFor(member).has('VIEW_CHANNEL')) {
if (this.permissionsFor(member).has('VIEW_CHANNEL', false)) {
members.set(member.id, member);
}
}
@@ -537,7 +537,7 @@ class GuildChannel extends Channel {
* @readonly
*/
get deletable() {
return this.permissionsFor(this.client.user).has(Permissions.FLAGS.MANAGE_CHANNELS);
return this.permissionsFor(this.client.user).has(Permissions.FLAGS.MANAGE_CHANNELS, false);
}
/**
@@ -549,7 +549,7 @@ class GuildChannel extends Channel {
if (this.client.user.id === this.guild.ownerID) return true;
const permissions = this.permissionsFor(this.client.user);
if (!permissions) return false;
return permissions.has([Permissions.FLAGS.MANAGE_CHANNELS, Permissions.FLAGS.VIEW_CHANNEL]);
return permissions.has([Permissions.FLAGS.MANAGE_CHANNELS, Permissions.FLAGS.VIEW_CHANNEL], false);
}
/**

View File

@@ -335,7 +335,7 @@ class Message extends Base {
*/
get deletable() {
return !this.deleted && (this.author.id === this.client.user.id || (this.guild &&
this.channel.permissionsFor(this.client.user).has(Permissions.FLAGS.MANAGE_MESSAGES)
this.channel.permissionsFor(this.client.user).has(Permissions.FLAGS.MANAGE_MESSAGES, false)
));
}
@@ -346,7 +346,7 @@ class Message extends Base {
*/
get pinnable() {
return !this.guild ||
this.channel.permissionsFor(this.client.user).has(Permissions.FLAGS.MANAGE_MESSAGES);
this.channel.permissionsFor(this.client.user).has(Permissions.FLAGS.MANAGE_MESSAGES, false);
}
/**

View File

@@ -65,7 +65,7 @@ class VoiceChannel extends GuildChannel {
* @readonly
*/
get deletable() {
return super.deletable && this.permissionsFor(this.client.user).has(Permissions.FLAGS.CONNECT);
return super.deletable && this.permissionsFor(this.client.user).has(Permissions.FLAGS.CONNECT, false);
}
/**
@@ -75,8 +75,8 @@ class VoiceChannel extends GuildChannel {
*/
get joinable() {
if (browser) return false;
if (!this.permissionsFor(this.client.user).has('CONNECT')) return false;
if (this.full && !this.permissionsFor(this.client.user).has('MOVE_MEMBERS')) return false;
if (!this.permissionsFor(this.client.user).has('CONNECT', false)) return false;
if (this.full && !this.permissionsFor(this.client.user).has('MOVE_MEMBERS', false)) return false;
return true;
}
@@ -86,7 +86,7 @@ class VoiceChannel extends GuildChannel {
* @readonly
*/
get speakable() {
return this.permissionsFor(this.client.user).has('SPEAK');
return this.permissionsFor(this.client.user).has('SPEAK', false);
}
/**