diff --git a/src/structures/CategoryChannel.js b/src/structures/CategoryChannel.js
index d7121a32b..b9d3ceff2 100644
--- a/src/structures/CategoryChannel.js
+++ b/src/structures/CategoryChannel.js
@@ -13,6 +13,19 @@ class CategoryChannel extends GuildChannel {
get children() {
return this.guild.channels.filter(c => c.parentID === this.id);
}
+
+ /**
+ * Sets the category parent of this channel.
+ * It is not currently possible to set the parent of a CategoryChannel.
+ * @method setParent
+ * @memberof CategoryChannel
+ * @instance
+ * @param {?GuildChannel|Snowflake} channel Parent channel
+ * @param {Object} [options={}] Options to pass
+ * @param {boolean} [options.lockPermissions=true] Lock the permissions to what the parent's permissions are
+ * @param {string} [options.reason] Reason for modifying the parent of this channel
+ * @returns {Promise}
+ */
}
module.exports = CategoryChannel;
diff --git a/src/structures/GuildChannel.js b/src/structures/GuildChannel.js
index 316bdbefe..0862f1455 100644
--- a/src/structures/GuildChannel.js
+++ b/src/structures/GuildChannel.js
@@ -323,14 +323,15 @@ class GuildChannel extends Channel {
/**
* Sets the category parent of this channel.
- * @param {GuildChannel|Snowflake} channel Parent channel
- * @param {boolean} [options.lockPermissions] Lock the permissions to what the parent's permissions are
+ * @param {?GuildChannel|Snowflake} channel Parent channel
+ * @param {Object} [options={}] Options to pass
+ * @param {boolean} [options.lockPermissions=true] Lock the permissions to what the parent's permissions are
* @param {string} [options.reason] Reason for modifying the parent of this channel
* @returns {Promise}
*/
setParent(channel, { lockPermissions = true, reason } = {}) {
return this.edit({
- parentID: channel.id ? channel.id : channel,
+ parentID: channel !== null ? channel.id ? channel.id : channel : null,
lockPermissions,
}, reason);
}