diff --git a/src/transformers/message.ts b/src/transformers/message.ts index c02e6bd33..e8ed83bd0 100644 --- a/src/transformers/message.ts +++ b/src/transformers/message.ts @@ -47,11 +47,36 @@ export function transformMessage(bot: Bot, payload: SnakeCasedPropertiesDeep BigInt(id)), + joinedAt: payload.interaction.member.joined_at + ? Date.parse(payload.interaction.member.joined_at) + : undefined, + premiumSince: payload.interaction.member.premium_since + ? Date.parse(payload.interaction.member.premium_since) + : undefined, + deaf: payload.interaction.member.deaf, + mute: payload.interaction.member.mute, + pending: payload.interaction.member.pending, + cachedAt: Date.now(), + avatar: payload.interaction.member.avatar + ? bot.utils.iconHashToBigInt(payload.interaction.member.avatar) + : undefined, + permissions: payload.interaction.member.permissions + ? bot.transformers.snowflake(payload.interaction.member.permissions) + : undefined, + communicationDisabledUntil: payload.interaction.member.communication_disabled_until, + } + : undefined, + } : undefined, thread: payload.thread ? bot.transformers.channel(bot, { channel: payload.thread, guildId }) : undefined, components: payload.components?.map((component) => bot.transformers.component(bot, component)), @@ -193,6 +218,8 @@ export interface DiscordenoMessage { name: string; /** The user who invoked the interaction */ user: DiscordenoUser; + /** The member who invoked the interaction in the guild */ + member?: Partial; }; /** The thread that was started from this message, includes thread member object */ thread?: DiscordenoChannel; diff --git a/src/types/interactions/messageInteraction.ts b/src/types/interactions/messageInteraction.ts index 3da2a7ff7..8804c4cf5 100644 --- a/src/types/interactions/messageInteraction.ts +++ b/src/types/interactions/messageInteraction.ts @@ -1,7 +1,8 @@ import { User } from "../users/user.ts"; +import { GuildMember } from "../members/guildMember.ts"; import { InteractionTypes } from "./interactionTypes.ts"; -/** https://discord.com/developers/docs/interactions/slash-commands#messageinteraction */ +/** https://discord.com/developers/docs/interactions/receiving-and-responding#message-interaction-object-message-interaction-structure */ export interface MessageInteraction { /** Id of the interaction */ id: string; @@ -11,4 +12,6 @@ export interface MessageInteraction { name: string; /** The user who invoked the interaction */ user: User; + /** The member who invoked the interaction in the guild */ + member?: Partial; }