fix(types)!: Fix nullability for DiscordEmoji (#4285)

* Fix nullability for DiscordEmoji

* Fix type errors, use actual DiscordEmoji for partial emojis

* Apply code review suggestions
This commit is contained in:
Fleny
2025-08-11 18:41:50 +02:00
committed by GitHub
parent 3e6bf86db0
commit d713d09064
10 changed files with 23 additions and 26 deletions
@@ -15,6 +15,7 @@ export async function handleMessageReactionAdd(bot: Bot, data: DiscordGatewayPay
guildId,
member: payload.member && guildId ? bot.transformers.member(bot, payload.member, guildId, userId) : undefined,
user: payload.member ? bot.transformers.user(bot, payload.member.user) : undefined,
// @ts-expect-error TODO: Deal with partials
emoji: bot.transformers.emoji(bot, payload.emoji),
messageAuthorId: payload.message_author_id ? bot.transformers.snowflake(payload.message_author_id) : undefined,
burst: payload.burst,
@@ -11,6 +11,7 @@ export async function handleMessageReactionRemove(bot: Bot, data: DiscordGateway
channelId: bot.transformers.snowflake(payload.channel_id),
messageId: bot.transformers.snowflake(payload.message_id),
guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined,
// @ts-expect-error TODO: Deal with partials
emoji: bot.transformers.emoji(bot, payload.emoji),
burst: payload.burst,
})
@@ -10,6 +10,7 @@ export async function handleMessageReactionRemoveEmoji(bot: Bot, data: DiscordGa
channelId: bot.transformers.snowflake(payload.channel_id),
messageId: bot.transformers.snowflake(payload.message_id),
guildId: payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined,
// @ts-expect-error TODO: Deal with partials
emoji: bot.transformers.emoji(bot, payload.emoji),
})
}
+1 -1
View File
@@ -177,7 +177,7 @@ function transformSelectMenuComponent(bot: Bot, payload: DiscordSelectMenuCompon
emoji: option.emoji
? {
id: option.emoji.id ? bot.transformers.snowflake(option.emoji.id) : undefined,
name: option.emoji.name,
name: option.emoji.name ?? undefined,
animated: option.emoji.animated,
}
: undefined,
+1
View File
@@ -244,6 +244,7 @@ export function transformMessage(
burst: reaction.count_details.burst,
normal: reaction.count_details.normal,
},
// @ts-expect-error TODO: Deal with partials
emoji: bot.transformers.emoji(bot, reaction.emoji),
burstColors: reaction.burst_colors,
}))
@@ -99,8 +99,8 @@ function transformButtonComponent(bot: Bot, payload: Component): DiscordButtonCo
disabled: payload.disabled,
emoji: payload.emoji
? {
id: payload.emoji.id ? bot.transformers.reverse.snowflake(payload.emoji.id) : undefined,
name: payload.emoji.name,
id: payload.emoji.id ? bot.transformers.reverse.snowflake(payload.emoji.id) : null,
name: payload.emoji.name ?? null,
animated: payload.emoji.animated,
}
: undefined,
@@ -145,8 +145,8 @@ function transformSelectMenuComponent(bot: Bot, payload: Component): DiscordSele
description: option.description,
emoji: option.emoji
? {
id: option.emoji.id ? bot.transformers.reverse.snowflake(option.emoji.id) : undefined,
name: option.emoji.name,
id: option.emoji.id ? bot.transformers.reverse.snowflake(option.emoji.id) : null,
name: option.emoji.name ?? null,
animated: option.emoji.animated,
}
: undefined,
@@ -3,8 +3,8 @@ import type { Emoji, InternalBot } from '../../index.js'
export function transformEmojiToDiscordEmoji(bot: InternalBot, payload: Emoji): DiscordEmoji {
return {
id: payload.id ? bot.transformers.reverse.snowflake(payload.id) : undefined,
name: payload.name ?? undefined,
id: payload.id ? bot.transformers.reverse.snowflake(payload.id) : null,
name: payload.name ?? null,
roles: payload.roles?.map((id) => bot.transformers.reverse.snowflake(id)),
user: payload.user ? bot.transformers.reverse.user(bot, payload.user) : undefined,
require_colons: payload.toggles.requireColons,