From b57f90e75918c4cd1e34b97dd4c6ddd2f8b93449 Mon Sep 17 00:00:00 2001 From: Qjuh <76154676+Qjuh@users.noreply.github.com> Date: Sun, 25 May 2025 13:12:04 +0200 Subject: [PATCH] fix: use resolvePartialEmoji on MessagePayload#components again --- packages/discord.js/src/util/Transformers.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/discord.js/src/util/Transformers.js b/packages/discord.js/src/util/Transformers.js index 8e47777310a0..4b47e18e179e 100644 --- a/packages/discord.js/src/util/Transformers.js +++ b/packages/discord.js/src/util/Transformers.js @@ -2,6 +2,7 @@ const { isJSONEncodable } = require('@discordjs/util'); const snakeCase = require('lodash.snakecase'); +const { resolvePartialEmoji } = require('./Util'); /** * Transforms camel-cased keys into snake cased keys @@ -13,7 +14,14 @@ function toSnakeCase(obj) { if (obj instanceof Date) return obj; if (isJSONEncodable(obj)) return toSnakeCase(obj.toJSON()); if (Array.isArray(obj)) return obj.map(toSnakeCase); - return Object.fromEntries(Object.entries(obj).map(([key, value]) => [snakeCase(key), toSnakeCase(value)])); + return Object.fromEntries( + Object.entries(obj).map(([key, value]) => [ + snakeCase(key), + // TODO: The special handling of 'emoji' is just a temporary fix for v14, will be dropped in v15. + // See https://github.com/discordjs/discord.js/issues/10909 + key === 'emoji' && typeof value === 'string' ? resolvePartialEmoji(value) : toSnakeCase(value), + ]), + ); } /**