Skip to content

Commit dc8fc61

Browse files
authored
Expose components and stickers inside message snapshots (#277)
* Expose components inside message snapshots * Add stickerItems to message snapshot messages For completeness.
1 parent 7bfdcf2 commit dc8fc61

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

lib/structures/Message.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,7 @@ export default class Message<T extends AnyTextableChannel | Uncached = AnyTextab
299299
this.messageSnapshots = data.message_snapshots.map(s => ({
300300
message: {
301301
attachments: s.message.attachments.map(a => new Attachment(a, this.client)),
302+
components: s.message.components ? this.client.util.componentsToParsed(s.message.components) : [],
302303
content: s.message.content,
303304
editedTimestamp: s.message.edited_timestamp ? new Date(s.message.edited_timestamp) : null,
304305
embeds: this.client.util.embedsToParsed(s.message.embeds),
@@ -308,8 +309,9 @@ export default class Message<T extends AnyTextableChannel | Uncached = AnyTextab
308309
roles: s.message.mention_roles,
309310
users: s.message.mentions.map(u => this.client.users.update(u))
310311
},
311-
timestamp: new Date(s.message.timestamp),
312-
type: s.message.type
312+
stickerItems: s.message.sticker_items ?? [],
313+
timestamp: new Date(s.message.timestamp),
314+
type: s.message.type
313315
}
314316
}));
315317
}

lib/types/channels.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1163,18 +1163,20 @@ export interface EventReaction {
11631163
type: ReactionType;
11641164
}
11651165

1166-
export interface RawMessageSnapshotMessage extends Pick<RawMessage, "type" | "content" | "embeds" | "attachments" | "timestamp" | "edited_timestamp" | "flags" | "mentions" | "mention_roles"> {}
1166+
export interface RawMessageSnapshotMessage extends Pick<RawMessage, "type" | "content" | "embeds" | "attachments" | "timestamp" | "edited_timestamp" | "flags" | "mentions" | "mention_roles" | "sticker_items" | "components"> {}
11671167

11681168
export interface RawMessageSnapshot {
11691169
message: RawMessageSnapshotMessage;
11701170
}
11711171
export interface MessageSnapshotMessage {
11721172
attachments: Array<Attachment>;
1173+
components: Array<MessageComponent>;
11731174
content: string;
11741175
editedTimestamp: Date | null;
11751176
embeds: Array<Embed>;
11761177
flags: number;
11771178
mentions: Omit<MessageMentions, "everyone" | "members">;
1179+
stickerItems: Array<StickerItem>;
11781180
timestamp: Date;
11791181
type: MessageTypes;
11801182
}

0 commit comments

Comments
 (0)