mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 08:33:30 +01:00
Add Guild#nameAcronym and make avatar/iconURLs into functions (#1144)
* Guild#iconURL(format, size); * OAuth2Application#iconURL(format, size); * User#iconURL(format, size);
This commit is contained in:
@@ -253,13 +253,27 @@ class Guild {
|
||||
}
|
||||
|
||||
/**
|
||||
* The URL to this guild's icon
|
||||
* @type {?string}
|
||||
* Gets the URL to this guild's icon
|
||||
* @param {string} [format='webp'] One of `webp`, `png`, `jpg`, `gif`
|
||||
* @param {number} [size=128] One of `128`, '256', `512`, `1024`, `2048`
|
||||
* @returns {?string}
|
||||
*/
|
||||
iconURL(format, size) {
|
||||
if (!this.icon) return null;
|
||||
if (typeof format === 'number') {
|
||||
size = format;
|
||||
format = 'default';
|
||||
}
|
||||
return Constants.Endpoints.Guild(this).Icon(this.client.options.http.cdn, this.icon, format, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the acronym that shows up in place of a guild icon
|
||||
* @type {string}
|
||||
* @readonly
|
||||
*/
|
||||
get iconURL() {
|
||||
if (!this.icon) return null;
|
||||
return Constants.Endpoints.Guild(this).Icon(this.client.options.http.cdn, this.icon);
|
||||
get nameAcronym() {
|
||||
return this.name.replace(/\w+/g, name => name[0]).replace(/\s/g, '');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const Snowflake = require('../util/Snowflake');
|
||||
const Constants = require('../util/Constants');
|
||||
|
||||
/**
|
||||
* Represents an OAuth2 Application.
|
||||
@@ -41,12 +42,6 @@ class OAuth2Application {
|
||||
*/
|
||||
this.icon = data.icon;
|
||||
|
||||
/**
|
||||
* The app's icon URL
|
||||
* @type {string}
|
||||
*/
|
||||
this.iconURL = `https://cdn.discordapp.com/app-icons/${this.id}/${this.icon}.jpg`;
|
||||
|
||||
/**
|
||||
* The app's RPC origins
|
||||
* @type {?string[]}
|
||||
@@ -122,6 +117,21 @@ class OAuth2Application {
|
||||
return new Date(this.createdTimestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* A link to the application's icon
|
||||
* @param {string} [format='webp'] One of `webp`, `png`, `jpg`, `gif`.
|
||||
* @param {number} [size=128] One of `128`, '256', `512`, `1024`, `2048`
|
||||
* @returns {?string} URL to the icon
|
||||
*/
|
||||
iconURL(format, size) {
|
||||
if (!this.icon) return null;
|
||||
if (typeof format === 'number') {
|
||||
size = format;
|
||||
format = 'default';
|
||||
}
|
||||
return Constants.Endpoints.CDN(this.client.options.http.cdn).AppIcon(this.id, this.icon, format, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the app's secret and bot token.
|
||||
* @returns {OAuth2Application}
|
||||
|
||||
@@ -104,12 +104,18 @@ class User {
|
||||
|
||||
/**
|
||||
* A link to the user's avatar
|
||||
* @type {?string}
|
||||
* @readonly
|
||||
* @param {string} [format='webp'] One of `webp`, `png`, `jpg`, `gif`. If no format is provided, it will be `gif`
|
||||
* for animated avatars or otherwise `webp`
|
||||
* @param {number} [size=128] One of `128`, '256', `512`, `1024`, `2048`
|
||||
* @returns {?string} avatarURL
|
||||
*/
|
||||
get avatarURL() {
|
||||
avatarURL(format, size) {
|
||||
if (!this.avatar) return null;
|
||||
return Constants.Endpoints.User(this).Avatar(this.client.options.http.cdn, this.avatar);
|
||||
if (typeof format === 'number') {
|
||||
size = format;
|
||||
format = 'default';
|
||||
}
|
||||
return Constants.Endpoints.User(this).Avatar(this.client.options.http.cdn, this.avatar, format, size);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -129,7 +135,7 @@ class User {
|
||||
* @readonly
|
||||
*/
|
||||
get displayAvatarURL() {
|
||||
return this.avatarURL || this.defaultAvatarURL;
|
||||
return this.avatarURL() || this.defaultAvatarURL;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user