feat(Message): allow removing attachments (#5557)

This commit is contained in:
Jan
2021-05-10 10:56:33 +02:00
committed by GitHub
parent 3392eb7de2
commit ca9e5a0ee1
3 changed files with 12 additions and 0 deletions

View File

@@ -196,6 +196,7 @@ class APIMessage {
typeof content === 'undefined' && typeof message_reference === 'undefined' ? undefined : allowedMentions,
flags,
message_reference,
attachments: this.options.attachments,
};
return this;
}

View File

@@ -478,6 +478,7 @@ class Message extends Base {
* @property {string|boolean} [code] Language for optional codeblock formatting to apply
* @property {MessageMentionOptions} [allowedMentions] Which mentions should be parsed from the message content
* @property {MessageFlags} [flags] Which flags to set for the message. Only `SUPPRESS_EMBEDS` can be edited.
* @property {MessageAttachment[]} [attachments] The new attachments of the message (can only be removed, not added)
*/
/**
@@ -656,6 +657,14 @@ class Message extends Base {
return this.edit({ flags });
}
/**
* Removes the attachments from this message.
* @returns {Promise<Message>}
*/
removeAttachments() {
return this.edit({ attachments: [] });
}
/**
* Used mainly internally. Whether two messages are identical in properties. If you want to compare messages
* without checking all the properties, use `message.id === message2.id`, which is much more efficient. This

2
typings/index.d.ts vendored
View File

@@ -1138,6 +1138,7 @@ declare module 'discord.js' {
public fetch(force?: boolean): Promise<Message>;
public pin(options?: { reason?: string }): Promise<Message>;
public react(emoji: EmojiIdentifierResolvable): Promise<MessageReaction>;
public removeAttachments(): Promise<Message>;
public reply(
content: APIMessageContentResolvable | (MessageOptions & { split?: false }) | MessageAdditions,
): Promise<Message>;
@@ -3099,6 +3100,7 @@ declare module 'discord.js' {
code?: string | boolean;
flags?: BitFieldResolvable<MessageFlagsString, number>;
allowedMentions?: MessageMentionOptions;
attachments?: MessageAttachment[];
}
interface MessageEmbedAuthor {