diff --git a/src/structures/Guild.js b/src/structures/Guild.js
index 7ad241f89..69acfe1fb 100644
--- a/src/structures/Guild.js
+++ b/src/structures/Guild.js
@@ -275,6 +275,20 @@ class Guild {
this.available = !data.unavailable;
this.features = data.features || this.features || [];
+ /**
+ * The ID of the rules channel for the guild
+ * This is only available on guilds with the `PUBLIC` feature
+ * @type {?Snowflake}
+ */
+ this.rulesChannelID = data.rules_channel_id;
+
+ /**
+ * The ID of the public updates channel for the guild
+ * This is only available on guilds with the `PUBLIC` feature
+ * @type {?Snowflake}
+ */
+ this.publicUpdatesChannelID = data.public_updates_channel_id;
+
if (data.members) {
this.members.clear();
for (const guildUser of data.members) this._addMember(guildUser, false);
@@ -558,6 +572,26 @@ class Guild {
return this.roles.get(this.id);
}
+ /**
+ * Rules channel for this guild
+ * This is only available on guilds with the `PUBLIC` feature
+ * @type {?TextChannel}
+ * @readonly
+ */
+ get rulesChannel() {
+ return this.client.channels.get(this.rulesChannelID) || null;
+ }
+
+ /**
+ * Public updates channel for this guild
+ * This is only available on guilds with the `PUBLIC` feature
+ * @type {?TextChannel}
+ * @readonly
+ */
+ get publicUpdatesChannel() {
+ return this.client.channels.get(this.publicUpdatesChannelID) || null;
+ }
+
/**
* The client user as a GuildMember of this guild
* @type {?GuildMember}
diff --git a/typings/index.d.ts b/typings/index.d.ts
index de12e4f77..eae697b5c 100644
--- a/typings/index.d.ts
+++ b/typings/index.d.ts
@@ -550,8 +550,12 @@ declare module 'discord.js' {
public premiumTier: PremiumTier;
public readonly position: number;
public presences: Collection;
+ public readonly publicUpdatesChannel: TextChannel | null;
+ public publicUpdatesChannelID: Snowflake | null;
public region: string;
public roles: Collection;
+ public readonly rulesChannel: TextChannel | null;
+ public rulesChannelID: Snowflake | null;
public splash: string;
public readonly splashURL: string;
public readonly suppressEveryone: boolean;