feat(Guild): add setBanner method and banner to edit (#3708)

This commit is contained in:
SpaceEEC
2020-01-19 13:07:09 +01:00
committed by GitHub
parent 0f49d67e2e
commit 01826aeefe
2 changed files with 14 additions and 0 deletions

View File

@@ -851,6 +851,7 @@ class Guild {
* @property {ChannelResolvable} [systemChannel] The system channel of the guild * @property {ChannelResolvable} [systemChannel] The system channel of the guild
* @property {number} [afkTimeout] The AFK timeout of the guild * @property {number} [afkTimeout] The AFK timeout of the guild
* @property {Base64Resolvable} [icon] The icon of the guild * @property {Base64Resolvable} [icon] The icon of the guild
* @property {Base64Resolvable} [banner] The banner of the guild
* @property {GuildMemberResolvable} [owner] The owner of the guild * @property {GuildMemberResolvable} [owner] The owner of the guild
* @property {Base64Resolvable} [splash] The splash screen of the guild * @property {Base64Resolvable} [splash] The splash screen of the guild
*/ */
@@ -884,6 +885,7 @@ class Guild {
if (typeof data.icon !== 'undefined') _data.icon = data.icon; if (typeof data.icon !== 'undefined') _data.icon = data.icon;
if (data.owner) _data.owner_id = this.client.resolver.resolveUser(data.owner).id; if (data.owner) _data.owner_id = this.client.resolver.resolveUser(data.owner).id;
if (typeof data.splash !== 'undefined') _data.splash = data.splash; if (typeof data.splash !== 'undefined') _data.splash = data.splash;
if (typeof data.banner !== 'undefined') _data.banner = data.banner;
if (typeof data.explicitContentFilter !== 'undefined') { if (typeof data.explicitContentFilter !== 'undefined') {
_data.explicit_content_filter = Number(data.explicitContentFilter); _data.explicit_content_filter = Number(data.explicitContentFilter);
} }
@@ -895,6 +897,16 @@ class Guild {
return this.client.rest.methods.updateGuild(this, _data, reason); return this.client.rest.methods.updateGuild(this, _data, reason);
} }
/**
* Sets a new guild banner.
* @param {BufferResolvable|Base64Resolvable} banner The new banner of the guild
* @param {string} [reason] Reason for changing the guild's banner
* @returns {Guild}
*/
setBanner(banner, reason) {
return this.client.resolver.resolveImage(banner).then(data => this.edit({ banner: data }, reason));
}
/** /**
* Edit the level of the explicit content filter. * Edit the level of the explicit content filter.
* @param {number} explicitContentFilter The new level of the explicit content filter * @param {number} explicitContentFilter The new level of the explicit content filter

2
typings/index.d.ts vendored
View File

@@ -570,6 +570,7 @@ declare module 'discord.js' {
public search(options?: MessageSearchOptions): Promise<MessageSearchResult>; public search(options?: MessageSearchOptions): Promise<MessageSearchResult>;
public setAFKChannel(afkChannel: ChannelResolvable, reason?: string): Promise<Guild>; public setAFKChannel(afkChannel: ChannelResolvable, reason?: string): Promise<Guild>;
public setAFKTimeout(afkTimeout: number, reason?: string): Promise<Guild>; public setAFKTimeout(afkTimeout: number, reason?: string): Promise<Guild>;
public setBanner(banner: Base64Resolvable, reason?: string): Promise<Guild>;
public setChannelPosition(channel: string | GuildChannel, position: number, relative?: boolean): Promise<Guild>; public setChannelPosition(channel: string | GuildChannel, position: number, relative?: boolean): Promise<Guild>;
public setChannelPositions(channelPositions: ChannelPosition[]): Promise<Guild>; public setChannelPositions(channelPositions: ChannelPosition[]): Promise<Guild>;
public setDefaultMessageNotifications(defaultMessageNotifications: DefaultMessageNotifications, reason?: string): Promise<Guild>; public setDefaultMessageNotifications(defaultMessageNotifications: DefaultMessageNotifications, reason?: string): Promise<Guild>;
@@ -1877,6 +1878,7 @@ declare module 'discord.js' {
afkChannel?: ChannelResolvable; afkChannel?: ChannelResolvable;
systemChannel?: ChannelResolvable; systemChannel?: ChannelResolvable;
afkTimeout?: number; afkTimeout?: number;
banner?: Base64Resolvable;
icon?: Base64Resolvable; icon?: Base64Resolvable;
owner?: GuildMemberResolvable; owner?: GuildMemberResolvable;
splash?: Base64Resolvable; splash?: Base64Resolvable;