From 86d8fbc023e3925e8f86799d6ebf2d423f7bf2ec Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Mon, 6 Jun 2022 14:47:13 +0100 Subject: [PATCH] fix(DirectoryChannel): Type `name` and handle `url` (#8023) --- packages/discord.js/src/structures/Channel.js | 2 +- .../src/structures/DirectoryChannel.js | 16 ++++++++++++++++ packages/discord.js/typings/index.d.ts | 6 +++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/discord.js/src/structures/Channel.js b/packages/discord.js/src/structures/Channel.js index fb889a758..cdf6074b9 100644 --- a/packages/discord.js/src/structures/Channel.js +++ b/packages/discord.js/src/structures/Channel.js @@ -193,7 +193,7 @@ class Channel extends Base { break; } case ChannelType.GuildDirectory: - channel = new DirectoryChannel(client, data); + channel = new DirectoryChannel(guild, data, client); break; } if (channel && !allowUnknownGuild) guild.channels?.cache.set(channel.id, channel); diff --git a/packages/discord.js/src/structures/DirectoryChannel.js b/packages/discord.js/src/structures/DirectoryChannel.js index ba13f85e0..f024400f1 100644 --- a/packages/discord.js/src/structures/DirectoryChannel.js +++ b/packages/discord.js/src/structures/DirectoryChannel.js @@ -7,6 +7,22 @@ const { Channel } = require('./Channel'); * @extends {Channel} */ class DirectoryChannel extends Channel { + constructor(guild, data, client) { + super(client, data); + + /** + * The guild the channel is in + * @type {InviteGuild} + */ + this.guild = guild; + + /** + * The id of the guild the channel is in + * @type {Snowflake} + */ + this.guildId = guild.id; + } + _patch(data) { super._patch(data); /** diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index d74208d8c..18a64c51b 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -2269,7 +2269,11 @@ export class StageChannel extends BaseGuildVoiceChannel { public setTopic(topic: string): Promise; } -export class DirectoryChannel extends Channel {} +export class DirectoryChannel extends Channel { + public guild: InviteGuild; + public guildId: Snowflake; + public name: string; +} export class StageInstance extends Base { private constructor(client: Client, data: RawStageInstanceData, channel: StageChannel);