diff --git a/packages/bot/src/transformers.ts b/packages/bot/src/transformers.ts index 26a7777e1..8f5e792d6 100644 --- a/packages/bot/src/transformers.ts +++ b/packages/bot/src/transformers.ts @@ -99,8 +99,12 @@ import type { BotInteractionResponse, DiscordComponent, DiscordInteractionRespon export interface Transformers { customizers: { + channel: (bot: Bot, payload: DiscordChannel, channel: Channel) => any interaction: (bot: Bot, payload: DiscordInteraction, interaction: Interaction) => any message: (bot: Bot, payload: DiscordMessage, message: Message) => any + user: (bot: Bot, payload: DiscordUser, user: User) => any + member: (bot: Bot, payload: DiscordMember, member: Member) => any + role: (bot: Bot, payload: DiscordRole, role: Role) => any } desiredProperties: { attachment: { @@ -421,12 +425,24 @@ export interface Transformers { export function createTransformers(options: Partial): Transformers { return { customizers: { + channel(bot, payload, channel) { + return channel + }, interaction(bot, payload, interaction) { return interaction }, + member(bot, payload, member) { + return member + }, message(bot, payload, message) { return message }, + role(bot, payload, role) { + return role + }, + user(bot, payload, user) { + return user + }, }, desiredProperties: { attachment: { diff --git a/packages/bot/src/transformers/channel.ts b/packages/bot/src/transformers/channel.ts index 123838598..0ee213e1f 100644 --- a/packages/bot/src/transformers/channel.ts +++ b/packages/bot/src/transformers/channel.ts @@ -99,7 +99,7 @@ export function transformChannel(bot: Bot, payload: { channel: DiscordChannel } channel.internalOverwrites = payload.channel.permission_overwrites.map((o) => packOverwrites(o.allow ?? '0', o.deny ?? '0', o.id, o.type)) } - return channel + return bot.transformers.customizers.channel(bot, payload.channel, channel); } export interface BaseChannel { diff --git a/packages/bot/src/transformers/member.ts b/packages/bot/src/transformers/member.ts index f9ef8fe19..462263cfd 100644 --- a/packages/bot/src/transformers/member.ts +++ b/packages/bot/src/transformers/member.ts @@ -36,7 +36,7 @@ export function transformMember(bot: Bot, payload: DiscordMember, guildId: bigin member.toggles = new MemberToggles(payload) } - return member + return bot.transformers.customizers.member(bot, payload, member) } export interface BaseMember { diff --git a/packages/bot/src/transformers/role.ts b/packages/bot/src/transformers/role.ts index 42d06dc04..4701faa6b 100644 --- a/packages/bot/src/transformers/role.ts +++ b/packages/bot/src/transformers/role.ts @@ -63,7 +63,7 @@ export function transformRole(bot: Bot, payload: { role: DiscordRole } & { guild role.toggles = new RoleToggles(payload.role) } - return role + return bot.transformers.customizers.role(bot, payload.role, role) } export interface BaseRole { diff --git a/packages/bot/src/transformers/user.ts b/packages/bot/src/transformers/user.ts index ffe79dbc3..182194919 100644 --- a/packages/bot/src/transformers/user.ts +++ b/packages/bot/src/transformers/user.ts @@ -40,7 +40,7 @@ export function transformUser(bot: Bot, payload: DiscordUser): User { if (payload.banner && props.banner) user.banner = iconHashToBigInt(payload.banner) if (payload.accent_color && props.accentColor) user.accentColor = payload.accent_color - return user + return bot.transformers.customizers.user(bot, payload, user) } export interface BaseUser {