mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 19:13:31 +01:00
fix(Emoji): remove incorrect nullables, add ApplicationEmoji#available (#10913)
* types: remove unintended nullables from app and base guild emojis * feat: add ApplicationEmoji#available * types(BaseGuildEmoji): fix incorrect JSDoc type for BaseGuildEmoji#name Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com> * types(Emoji): switch from # to . for property deprecation links Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com> * fix: remove default nulls in app emoji constructor on non-nullables * types(Emoji): replace raw data type pre78d512c* types(Emoji): switch to ImageURLOptions for imageURL() Re-applies changes from #10613 Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com> * types(Emoji): remove deprecated `url` props types and descriptions Added by mistake in PR that used to target v14 Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> * refactor(Emoji): wording and formatting changes to prop descriptions Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> * refactor(Emoji): missed wording and formatting change to prop descriptions Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> * fix(Emoji)!: remove non present Emoji#url from typings * fix(Emoji): re-apply emoji url types from2c35084--------- Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com> Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
@@ -16,37 +16,42 @@ class ApplicationEmoji extends Emoji {
|
|||||||
*/
|
*/
|
||||||
this.application = application;
|
this.application = application;
|
||||||
|
|
||||||
/**
|
|
||||||
* The user who created this emoji
|
|
||||||
* @type {?User}
|
|
||||||
*/
|
|
||||||
this.author = null;
|
|
||||||
|
|
||||||
this.managed = null;
|
|
||||||
this.requiresColons = null;
|
|
||||||
|
|
||||||
this._patch(data);
|
this._patch(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
_patch(data) {
|
_patch(data) {
|
||||||
if ('name' in data) this.name = data.name;
|
if ('name' in data) this.name = data.name;
|
||||||
if (data.user) this.author = this.client.users._add(data.user);
|
if (data.user) {
|
||||||
|
/**
|
||||||
|
* The user who created this emoji
|
||||||
|
* @type {User}
|
||||||
|
*/
|
||||||
|
this.author = this.client.users._add(data.user);
|
||||||
|
}
|
||||||
|
|
||||||
if ('managed' in data) {
|
if ('managed' in data) {
|
||||||
/**
|
/**
|
||||||
* Whether this emoji is managed by an external service
|
* Whether this emoji is managed by an external service. Always `false` for application emojis
|
||||||
* @type {?boolean}
|
* @type {false}
|
||||||
*/
|
*/
|
||||||
this.managed = data.managed;
|
this.managed = data.managed;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('require_colons' in data) {
|
if ('require_colons' in data) {
|
||||||
/**
|
/**
|
||||||
* Whether or not this emoji requires colons surrounding it
|
* Whether this emoji requires colons surrounding it. Always `true` for application emojis
|
||||||
* @type {?boolean}
|
* @type {true}
|
||||||
*/
|
*/
|
||||||
this.requiresColons = data.require_colons;
|
this.requiresColons = data.require_colons;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ('available' in data) {
|
||||||
|
/**
|
||||||
|
* Whether this emoji is available. Always `true` for application emojis
|
||||||
|
* @type {true}
|
||||||
|
*/
|
||||||
|
this.available = data.available;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -107,7 +112,8 @@ class ApplicationEmoji extends Emoji {
|
|||||||
other.id === this.id &&
|
other.id === this.id &&
|
||||||
other.name === this.name &&
|
other.name === this.name &&
|
||||||
other.managed === this.managed &&
|
other.managed === this.managed &&
|
||||||
other.requiresColons === this.requiresColons
|
other.requiresColons === this.requiresColons &&
|
||||||
|
other.available === this.available
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,4 +121,49 @@ class ApplicationEmoji extends Emoji {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The emoji's name
|
||||||
|
* @name name
|
||||||
|
* @memberof ApplicationEmoji
|
||||||
|
* @instance
|
||||||
|
* @type {string}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether the emoji is animated
|
||||||
|
* @name animated
|
||||||
|
* @memberof ApplicationEmoji
|
||||||
|
* @instance
|
||||||
|
* @type {boolean}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a URL for the emoji.
|
||||||
|
* @method imageURL
|
||||||
|
* @memberof ApplicationEmoji
|
||||||
|
* @instance
|
||||||
|
* @param {EmojiURLOptions} [options] Options for the image URL
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The time the emoji was created at
|
||||||
|
* @name createdAt
|
||||||
|
* @memberof ApplicationEmoji
|
||||||
|
* @instance
|
||||||
|
* @type {Date}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The timestamp the emoji was created at
|
||||||
|
* @name createdTimestamp
|
||||||
|
* @memberof ApplicationEmoji
|
||||||
|
* @instance
|
||||||
|
* @type {number}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
|
||||||
exports.ApplicationEmoji = ApplicationEmoji;
|
exports.ApplicationEmoji = ApplicationEmoji;
|
||||||
|
|||||||
@@ -62,4 +62,40 @@ class BaseGuildEmoji extends Emoji {
|
|||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The emoji's name
|
||||||
|
* @name name
|
||||||
|
* @memberof BaseGuildEmoji
|
||||||
|
* @instance
|
||||||
|
* @type {string}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether or not the emoji is animated
|
||||||
|
* @name animated
|
||||||
|
* @memberof BaseGuildEmoji
|
||||||
|
* @instance
|
||||||
|
* @type {boolean}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The time the emoji was created at.
|
||||||
|
* @name createdAt
|
||||||
|
* @memberof BaseGuildEmoji
|
||||||
|
* @instance
|
||||||
|
* @type {Date}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The timestamp the emoji was created at.
|
||||||
|
* @name createdTimestamp
|
||||||
|
* @memberof BaseGuildEmoji
|
||||||
|
* @instance
|
||||||
|
* @type {number}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
|
||||||
exports.BaseGuildEmoji = BaseGuildEmoji;
|
exports.BaseGuildEmoji = BaseGuildEmoji;
|
||||||
|
|||||||
18
packages/discord.js/typings/index.d.ts
vendored
18
packages/discord.js/typings/index.d.ts
vendored
@@ -591,13 +591,14 @@ export abstract class BaseGuild extends Base {
|
|||||||
export class BaseGuildEmoji extends Emoji {
|
export class BaseGuildEmoji extends Emoji {
|
||||||
protected constructor(client: Client<true>, data: APIEmoji, guild: Guild | GuildPreview);
|
protected constructor(client: Client<true>, data: APIEmoji, guild: Guild | GuildPreview);
|
||||||
public imageURL(options?: EmojiURLOptions): string;
|
public imageURL(options?: EmojiURLOptions): string;
|
||||||
public get url(): string;
|
|
||||||
public available: boolean | null;
|
public available: boolean | null;
|
||||||
public get createdAt(): Date;
|
public get createdAt(): Date;
|
||||||
public get createdTimestamp(): number;
|
public get createdTimestamp(): number;
|
||||||
public guild: Guild | GuildPreview;
|
public guild: Guild | GuildPreview;
|
||||||
public id: Snowflake;
|
public id: Snowflake;
|
||||||
public managed: boolean | null;
|
public name: string;
|
||||||
|
public animated: boolean;
|
||||||
|
public managed: boolean;
|
||||||
public requiresColons: boolean | null;
|
public requiresColons: boolean | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1268,7 +1269,6 @@ export class Emoji extends Base {
|
|||||||
public name: string | null;
|
public name: string | null;
|
||||||
public get identifier(): string;
|
public get identifier(): string;
|
||||||
public imageURL(options?: EmojiURLOptions): string | null;
|
public imageURL(options?: EmojiURLOptions): string | null;
|
||||||
public get url(): string | null;
|
|
||||||
public toJSON(): unknown;
|
public toJSON(): unknown;
|
||||||
public toString(): string;
|
public toString(): string;
|
||||||
}
|
}
|
||||||
@@ -1286,10 +1286,16 @@ export class ApplicationEmoji extends Emoji {
|
|||||||
private constructor(client: Client<true>, data: APIEmoji, application: ClientApplication);
|
private constructor(client: Client<true>, data: APIEmoji, application: ClientApplication);
|
||||||
|
|
||||||
public application: ClientApplication;
|
public application: ClientApplication;
|
||||||
public author: User | null;
|
public author: User;
|
||||||
public id: Snowflake;
|
public id: Snowflake;
|
||||||
public managed: boolean | null;
|
public managed: false;
|
||||||
public requiresColons: boolean | null;
|
public requiresColons: true;
|
||||||
|
public name: string;
|
||||||
|
public animated: boolean;
|
||||||
|
public available: true;
|
||||||
|
public get createdAt(): Date;
|
||||||
|
public get createdTimestamp(): number;
|
||||||
|
public imageURL(options?: EmojiURLOptions): string;
|
||||||
public delete(): Promise<ApplicationEmoji>;
|
public delete(): Promise<ApplicationEmoji>;
|
||||||
public edit(options: ApplicationEmojiEditOptions): Promise<ApplicationEmoji>;
|
public edit(options: ApplicationEmojiEditOptions): Promise<ApplicationEmoji>;
|
||||||
public equals(other: ApplicationEmoji | unknown): boolean;
|
public equals(other: ApplicationEmoji | unknown): boolean;
|
||||||
|
|||||||
Reference in New Issue
Block a user