From 6e5f088e447548f0b4ef7d16680b877e14bc93aa Mon Sep 17 00:00:00 2001 From: SpaceEEC Date: Wed, 10 Oct 2018 10:25:00 +0200 Subject: [PATCH] refactor: consistently use permissionOverwrites over overwrites (#2886) --- src/stores/GuildChannelStore.js | 14 +++++++++----- src/structures/GuildChannel.js | 17 ++++++++--------- typings/index.d.ts | 4 ++-- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/stores/GuildChannelStore.js b/src/stores/GuildChannelStore.js index 411734bd0..e67bcc1c3 100644 --- a/src/stores/GuildChannelStore.js +++ b/src/stores/GuildChannelStore.js @@ -31,7 +31,7 @@ class GuildChannelStore extends DataStore { * @param {number} [options.bitrate] Bitrate of the new channel in bits (only voice) * @param {number} [options.userLimit] Maximum amount of users allowed in the new channel (only voice) * @param {ChannelResolvable} [options.parent] Parent of the new channel - * @param {OverwriteResolvable[]|Collection} [options.overwrites] + * @param {OverwriteResolvable[]|Collection} [options.permissionOverwrites] * Permission overwrites of the new channel * @param {number} [options.rateLimitPerUser] The ratelimit per user for the channel * @param {string} [options.reason] Reason for creating the channel @@ -42,10 +42,10 @@ class GuildChannelStore extends DataStore { * .then(console.log) * .catch(console.error); * @example - * // Create a new channel with overwrites + * // Create a new channel with permission overwrites * guild.channels.create('new-voice', { * type: 'voice', - * overwrites: [ + * permissionOverwrites: [ * { * id: message.author.id, * deny: ['VIEW_CHANNEL'], @@ -53,8 +53,12 @@ class GuildChannelStore extends DataStore { * ], * }) */ - async create(name, { type, topic, nsfw, bitrate, userLimit, parent, overwrites, rateLimitPerUser, reason } = {}) { + async create(name, options = {}) { + let { type, topic, nsfw, bitrate, userLimit, parent, permissionOverwrites, rateLimitPerUser, reason } = options; if (parent) parent = this.client.channels.resolveID(parent); + if (permissionOverwrites) { + permissionOverwrites = permissionOverwrites.map(o => PermissionOverwrites.resolve(o, this.guild)); + } const data = await this.client.api.guilds(this.guild.id).channels.post({ data: { @@ -65,7 +69,7 @@ class GuildChannelStore extends DataStore { bitrate, user_limit: userLimit, parent_id: parent, - permission_overwrites: overwrites && overwrites.map(o => PermissionOverwrites.resolve(o, this.guild)), + permission_overwrites: permissionOverwrites, rate_limit_per_user: rateLimitPerUser, }, reason, diff --git a/src/structures/GuildChannel.js b/src/structures/GuildChannel.js index 242b6f048..3567ea4f9 100644 --- a/src/structures/GuildChannel.js +++ b/src/structures/GuildChannel.js @@ -178,13 +178,13 @@ class GuildChannel extends Channel { /** * Replaces the permission overwrites in this channel. * @param {Object} [options] Options - * @param {OverwriteResolvable[]|Collection} [options.overwrites] + * @param {OverwriteResolvable[]|Collection} [options.permissionOverwrites] * Permission overwrites the channel gets updated with * @param {string} [options.reason] Reason for updating the channel overwrites * @returns {Promise} * @example * channel.overwritePermissions({ - * overwrites: [ + * permissionOverwrites: [ * { * id: message.author.id, * deny: ['VIEW_CHANNEL'], @@ -193,9 +193,8 @@ class GuildChannel extends Channel { * reason: 'Needed to change permissions' * }); */ - overwritePermissions({ overwrites, reason } = {}) { - return this.edit({ permissionOverwrites: overwrites, reason }) - .then(() => this); + overwritePermissions(options = {}) { + return this.edit(options).then(() => this); } /** @@ -465,10 +464,11 @@ class GuildChannel extends Channel { */ clone(options = {}) { if (typeof options.withPermissions === 'undefined') options.withPermissions = true; + if (typeof options.withTopic === 'undefined') options.withTopic = true; Util.mergeDefault({ name: this.name, - overwrites: options.withPermissions ? this.permissionOverwrites : [], - withTopic: true, + permissionOverwrites: options.withPermissions ? this.permissionOverwrites : [], + topic: options.withTopic ? this.topic : undefined, nsfw: this.nsfw, parent: this.parent, bitrate: this.bitrate, @@ -476,8 +476,7 @@ class GuildChannel extends Channel { reason: null, }, options); options.type = this.type; - return this.guild.channels.create(options.name, options) - .then(channel => options.withTopic ? channel.setTopic(this.topic) : channel); + return this.guild.channels.create(options.name, options); } /** diff --git a/typings/index.d.ts b/typings/index.d.ts index ca77f6438..1163c61c4 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -533,7 +533,7 @@ declare module 'discord.js' { public equals(channel: GuildChannel): boolean; public fetchInvites(): Promise>; public lockPermissions(): Promise; - public overwritePermissions(options?: { overwrites?: OverwriteResolvable[] | Collection, reason?: string }): Promise; + public overwritePermissions(options?: { permissionOverwrites?: OverwriteResolvable[] | Collection, reason?: string }): Promise; public permissionsFor(memberOrRole: GuildMemberResolvable | RoleResolvable): Readonly | null; public setName(name: string, reason?: string): Promise; public setParent(channel: GuildChannel | Snowflake, options?: { lockPermissions?: boolean, reason?: string }): Promise; @@ -1757,7 +1757,7 @@ declare module 'discord.js' { bitrate?: number; userLimit?: number; parent?: ChannelResolvable; - overwrites?: OverwriteResolvable[] | Collection; + permissionOverwrites?: OverwriteResolvable[] | Collection; rateLimitPerUser?: number; reason?: string };