discord-api-docs: Document partial member data in message interaction object (#1958)

* Document partial member data in message interaction object

* Update message transformer following MessageInteraction interface changes

* an attempt to transform partial member

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
This commit is contained in:
LTS20050703
2022-02-04 22:40:08 +01:00
committed by ITOH
co-authored by Skillz4Killz
parent 6bef93c9cb
commit 931673a68d
2 changed files with 36 additions and 6 deletions
+32 -5
View File
@@ -47,11 +47,36 @@ export function transformMessage(bot: Bot, payload: SnakeCasedPropertiesDeep<Mes
flags: payload.flags,
interaction: payload.interaction
? {
id: bot.transformers.snowflake(payload.interaction.id),
type: payload.interaction.type,
name: payload.interaction.name,
user: bot.transformers.user(bot, payload.interaction.user),
}
id: bot.transformers.snowflake(payload.interaction.id),
type: payload.interaction.type,
name: payload.interaction.name,
user: bot.transformers.user(bot, payload.interaction.user),
member: payload.interaction.member
? {
id: userId,
guildId,
nick: payload.interaction.member.nick ?? undefined,
roles: payload.interaction.member.roles?.map((id) => 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<DiscordenoMember>;
};
/** The thread that was started from this message, includes thread member object */
thread?: DiscordenoChannel;
+4 -1
View File
@@ -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<GuildMember>;
}