From 74e97ef91b413300c83f163bc3914eaf8bd45d89 Mon Sep 17 00:00:00 2001 From: SpaceEEC Date: Tue, 11 May 2021 22:22:48 +0200 Subject: [PATCH] fix(Message): editing with MessageEmbed or APIMessage (#5612) --- src/managers/MessageManager.js | 4 ++-- src/structures/Message.js | 7 ++----- typings/index.d.ts | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/managers/MessageManager.js b/src/managers/MessageManager.js index d889695ea415..6e99fa3ba5a8 100644 --- a/src/managers/MessageManager.js +++ b/src/managers/MessageManager.js @@ -117,14 +117,14 @@ class MessageManager extends BaseManager { /** * Edits a message, even if it's not cached. * @param {MessageResolvable} message The message to edit - * @param {MessageEditOptions} [options] The options to provide + * @param {MessageEditOptions|APIMessage} [options] The options to provide * @returns {Promise} */ async edit(message, options) { message = this.resolveID(message); if (!message) throw new TypeError('INVALID_TYPE', 'message', 'MessageResolvable'); - const { data } = APIMessage.create(this, options).resolveData(); + const { data } = (options instanceof APIMessage ? options : APIMessage.create(this, options)).resolveData(); const d = await this.client.api.channels[this.channel.id].messages[message].patch({ data }); if (this.cache.has(message)) { diff --git a/src/structures/Message.js b/src/structures/Message.js index 8d34a2567b10..ba6dc44d70e9 100644 --- a/src/structures/Message.js +++ b/src/structures/Message.js @@ -494,11 +494,8 @@ class Message extends Base { * .catch(console.error); */ edit(content, options) { - if (!options && typeof content === 'object' && !Array.isArray(content)) { - options = content; - content = undefined; - } - return this.channel.messages.edit(this.id, { content, ...options }); + options = content instanceof APIMessage ? content : APIMessage.create(this.channel, content, options); + return this.channel.messages.edit(this.id, options); } /** diff --git a/typings/index.d.ts b/typings/index.d.ts index c0ad9fc31dba..2f20f7e0edca 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -2193,7 +2193,7 @@ declare module 'discord.js' { public cache: Collection; public crosspost(message: MessageResolvable): Promise; public delete(message: MessageResolvable): Promise; - public edit(message: MessageResolvable, options: MessageEditOptions): Promise; + public edit(message: MessageResolvable, options: APIMessage | MessageEditOptions): Promise; public fetch(message: Snowflake, cache?: boolean, force?: boolean): Promise; public fetch( options?: ChannelLogsQueryOptions,