From ddc927fabdc4d79a00a89652fb7d6310a40e6397 Mon Sep 17 00:00:00 2001 From: Danial Raza Date: Sun, 24 Mar 2024 14:45:56 +0000 Subject: [PATCH] fix(Embed): address `equals` method issue (#10152) Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- packages/discord.js/src/structures/Embed.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/discord.js/src/structures/Embed.js b/packages/discord.js/src/structures/Embed.js index dd68120d9..8c5f20bb7 100644 --- a/packages/discord.js/src/structures/Embed.js +++ b/packages/discord.js/src/structures/Embed.js @@ -211,9 +211,26 @@ class Embed { */ equals(other) { if (other instanceof Embed) { - return isEqual(other.data, this.data); + return isEqual(this.data, other.data); } - return isEqual(other, this.data); + + return ( + this.author?.iconURL === other.author?.icon_url && + this.author?.name === other.author?.name && + this.author?.url === other.author?.url && + this.color === (other.color ?? null) && + this.description === (other.description ?? null) && + this.footer?.iconURL === other.footer?.icon_url && + this.footer?.text === other.footer?.text && + this.image?.url === other.image?.url && + this.thumbnail?.url === other.thumbnail?.url && + (this.timestamp && Date.parse(this.timestamp)) === (other.timestamp ? Date.parse(other.timestamp) : null) && + this.title === (other.title ?? null) && + this.url === (other.url ?? null) && + this.video?.url === other.video?.url && + isEqual(this.fields, other.fields?.map(field => ({ ...field, inline: field.inline ?? false })) ?? []) && + isEqual(this.provider, other.provider ?? null) + ); } }