feat(Guild): add rulesChannel and publicUpdatesChannel (#3810)

* add rulesChannel* & publicUpdatesChannel*

* update typings
This commit is contained in:
Sugden
2020-02-22 12:04:41 +00:00
committed by SpaceEEC
parent b0d0b81c61
commit b0aed050e3
2 changed files with 38 additions and 0 deletions

View File

@@ -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
* <info>This is only available on guilds with the `PUBLIC` feature</info>
* @type {?Snowflake}
*/
this.rulesChannelID = data.rules_channel_id;
/**
* The ID of the public updates channel for the guild
* <info>This is only available on guilds with the `PUBLIC` feature</info>
* @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
* <info>This is only available on guilds with the `PUBLIC` feature</info>
* @type {?TextChannel}
* @readonly
*/
get rulesChannel() {
return this.client.channels.get(this.rulesChannelID) || null;
}
/**
* Public updates channel for this guild
* <info>This is only available on guilds with the `PUBLIC` feature</info>
* @type {?TextChannel}
* @readonly
*/
get publicUpdatesChannel() {
return this.client.channels.get(this.publicUpdatesChannelID) || null;
}
/**
* The client user as a GuildMember of this guild
* @type {?GuildMember}

4
typings/index.d.ts vendored
View File

@@ -550,8 +550,12 @@ declare module 'discord.js' {
public premiumTier: PremiumTier;
public readonly position: number;
public presences: Collection<Snowflake, Presence>;
public readonly publicUpdatesChannel: TextChannel | null;
public publicUpdatesChannelID: Snowflake | null;
public region: string;
public roles: Collection<Snowflake, Role>;
public readonly rulesChannel: TextChannel | null;
public rulesChannelID: Snowflake | null;
public splash: string;
public readonly splashURL: string;
public readonly suppressEveryone: boolean;