mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-18 20:43:30 +01:00
refactor(MessageEmbed): remove files (#5813)
* refactor(MessageEmbed): remove files * fix: test
This commit is contained in:
@@ -223,26 +223,7 @@ class APIMessage {
|
|||||||
async resolveFiles() {
|
async resolveFiles() {
|
||||||
if (this.files) return this;
|
if (this.files) return this;
|
||||||
|
|
||||||
const embedLikes = [];
|
this.files = await Promise.all(this.options.files?.map(file => this.constructor.resolveFile(file)) ?? []);
|
||||||
if (this.isInteraction || this.isWebhook) {
|
|
||||||
if (this.options.embeds) {
|
|
||||||
embedLikes.push(...this.options.embeds);
|
|
||||||
}
|
|
||||||
} else if (this.options.embed) {
|
|
||||||
embedLikes.push(this.options.embed);
|
|
||||||
}
|
|
||||||
|
|
||||||
const fileLikes = [];
|
|
||||||
if (this.options.files) {
|
|
||||||
fileLikes.push(...this.options.files);
|
|
||||||
}
|
|
||||||
for (const embed of embedLikes) {
|
|
||||||
if (embed.files) {
|
|
||||||
fileLikes.push(...embed.files);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.files = await Promise.all(fileLikes.map(f => this.constructor.resolveFile(f)));
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ class MessageEmbed {
|
|||||||
* @property {Date|number} [timestamp] The timestamp of this embed
|
* @property {Date|number} [timestamp] The timestamp of this embed
|
||||||
* @property {ColorResolvable} [color] The color of this embed
|
* @property {ColorResolvable} [color] The color of this embed
|
||||||
* @property {EmbedFieldData[]} [fields] The fields of this embed
|
* @property {EmbedFieldData[]} [fields] The fields of this embed
|
||||||
* @property {Array<FileOptions|string|MessageAttachment>} [files] The files of this embed
|
|
||||||
* @property {Partial<MessageEmbedAuthor>} [author] The author of this embed
|
* @property {Partial<MessageEmbedAuthor>} [author] The author of this embed
|
||||||
* @property {Partial<MessageEmbedThumbnail>} [thumbnail] The thumbnail of this embed
|
* @property {Partial<MessageEmbedThumbnail>} [thumbnail] The thumbnail of this embed
|
||||||
* @property {Partial<MessageEmbedImage>} [image] The image of this embed
|
* @property {Partial<MessageEmbedImage>} [image] The image of this embed
|
||||||
@@ -222,12 +221,6 @@ class MessageEmbed {
|
|||||||
proxyIconURL: data.footer.proxyIconURL || data.footer.proxy_icon_url,
|
proxyIconURL: data.footer.proxyIconURL || data.footer.proxy_icon_url,
|
||||||
}
|
}
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
/**
|
|
||||||
* The files of this embed
|
|
||||||
* @type {Array<FileOptions|string|MessageAttachment>}
|
|
||||||
*/
|
|
||||||
this.files = data.files || [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -298,17 +291,6 @@ class MessageEmbed {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the file to upload alongside the embed. This file can be accessed via `attachment://fileName.extension` when
|
|
||||||
* setting an embed image or author/footer icons. Multiple files can be attached.
|
|
||||||
* @param {Array<FileOptions|string|MessageAttachment>} files Files to attach
|
|
||||||
* @returns {MessageEmbed}
|
|
||||||
*/
|
|
||||||
attachFiles(files) {
|
|
||||||
this.files = this.files.concat(files);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the author of this embed.
|
* Sets the author of this embed.
|
||||||
* @param {string} name The name of the author
|
* @param {string} name The name of the author
|
||||||
|
|||||||
3
typings/index.d.ts
vendored
3
typings/index.d.ts
vendored
@@ -1366,7 +1366,6 @@ declare module 'discord.js' {
|
|||||||
public readonly createdAt: Date | null;
|
public readonly createdAt: Date | null;
|
||||||
public description: string | null;
|
public description: string | null;
|
||||||
public fields: EmbedField[];
|
public fields: EmbedField[];
|
||||||
public files: (MessageAttachment | string | FileOptions)[];
|
|
||||||
public footer: MessageEmbedFooter | null;
|
public footer: MessageEmbedFooter | null;
|
||||||
public readonly hexColor: string | null;
|
public readonly hexColor: string | null;
|
||||||
public image: MessageEmbedImage | null;
|
public image: MessageEmbedImage | null;
|
||||||
@@ -1381,7 +1380,6 @@ declare module 'discord.js' {
|
|||||||
public readonly video: MessageEmbedVideo | null;
|
public readonly video: MessageEmbedVideo | null;
|
||||||
public addField(name: string, value: string, inline?: boolean): this;
|
public addField(name: string, value: string, inline?: boolean): this;
|
||||||
public addFields(...fields: EmbedFieldData[] | EmbedFieldData[][]): this;
|
public addFields(...fields: EmbedFieldData[] | EmbedFieldData[][]): this;
|
||||||
public attachFiles(file: (MessageAttachment | FileOptions | string)[]): this;
|
|
||||||
public setAuthor(name: string, iconURL?: string, url?: string): this;
|
public setAuthor(name: string, iconURL?: string, url?: string): this;
|
||||||
public setColor(color: ColorResolvable): this;
|
public setColor(color: ColorResolvable): this;
|
||||||
public setDescription(description: string): this;
|
public setDescription(description: string): this;
|
||||||
@@ -3277,7 +3275,6 @@ declare module 'discord.js' {
|
|||||||
timestamp?: Date | number;
|
timestamp?: Date | number;
|
||||||
color?: ColorResolvable;
|
color?: ColorResolvable;
|
||||||
fields?: EmbedFieldData[];
|
fields?: EmbedFieldData[];
|
||||||
files?: (MessageAttachment | string | FileOptions)[];
|
|
||||||
author?: Partial<MessageEmbedAuthor> & { icon_url?: string; proxy_icon_url?: string };
|
author?: Partial<MessageEmbedAuthor> & { icon_url?: string; proxy_icon_url?: string };
|
||||||
thumbnail?: Partial<MessageEmbedThumbnail> & { proxy_url?: string };
|
thumbnail?: Partial<MessageEmbedThumbnail> & { proxy_url?: string };
|
||||||
image?: Partial<MessageEmbedImage> & { proxy_url?: string };
|
image?: Partial<MessageEmbedImage> & { proxy_url?: string };
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ client.on('message', ({ channel }) => {
|
|||||||
const attachment = new MessageAttachment('file.png');
|
const attachment = new MessageAttachment('file.png');
|
||||||
const embed = new MessageEmbed();
|
const embed = new MessageEmbed();
|
||||||
assertIsMessage(channel.send({ files: [attachment] }));
|
assertIsMessage(channel.send({ files: [attachment] }));
|
||||||
assertIsMessage(channel.send(embed));
|
assertIsMessage(channel.send({ embed }));
|
||||||
assertIsMessage(channel.send({ embed, files: [attachment] }));
|
assertIsMessage(channel.send({ embed, files: [attachment] }));
|
||||||
|
|
||||||
assertIsMessageArray(channel.send({ split: true }));
|
assertIsMessageArray(channel.send({ split: true }));
|
||||||
|
|||||||
Reference in New Issue
Block a user