mirror of
https://github.com/discordjs/discord.js.git
synced 2026-06-04 18:10:08 +00:00
* feat: message structures * fix: docs * chore: components and more * feat: embed and more * feat: more substructures and code review suggestions * chore: tests and date conversions * chore: jsdoc strings * fix: tests * fix: tests * feat: hexColor getters * chore: remove getters for nested data * chore: apply suggestions from code review * fix: burst_colors in toJSON * docs: rephrase SectionBuilder remark * chore: add LabelComponent * fix: add name and size to file component * chore: move resolved interaction data to interactions dir * fix: code review * chore: bump discord-api-types * chore: apply code review suggestions * fix: lockfile * chore: update remark * fix: missing export * chore: code review and tests * build: fix file * fix: typo * fix: missing toJSON * fix: remove redundant patch overrides * chore: missing component suffix * chore: better name * chore: add comment explaining timestamp conversion --------- Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
import { MessageReferenceType, type APIMessageReference } from 'discord-api-types/v10';
|
|
import { Structure } from '../Structure.js';
|
|
import { kData } from '../utils/symbols.js';
|
|
import type { Partialize } from '../utils/types.js';
|
|
|
|
/**
|
|
* Represents the reference to another message on a message on Discord.
|
|
*
|
|
* @typeParam Omitted - Specify the properties that will not be stored in the raw data field as a union, implement via `DataTemplate`
|
|
*/
|
|
export class MessageReference<Omitted extends keyof APIMessageReference | '' = ''> extends Structure<
|
|
APIMessageReference,
|
|
Omitted
|
|
> {
|
|
/**
|
|
* The template used for removing data from the raw data stored for each MessageReference.
|
|
*/
|
|
public static override DataTemplate: Partial<APIMessageReference> = {};
|
|
|
|
/**
|
|
* @param data - The raw data received from the API for the message reference
|
|
*/
|
|
public constructor(data: Partialize<APIMessageReference, Omitted>) {
|
|
super(data);
|
|
}
|
|
|
|
/**
|
|
* The type of this reference
|
|
*/
|
|
public get type() {
|
|
return 'type' in this[kData] ? (this[kData].type as MessageReferenceType) : MessageReferenceType.Default;
|
|
}
|
|
|
|
/**
|
|
* The id of the referenced message
|
|
*/
|
|
public get messageId() {
|
|
return this[kData].message_id;
|
|
}
|
|
|
|
/**
|
|
* The id of the channel the referenced message was sent in
|
|
*/
|
|
public get channelId() {
|
|
return this[kData].channel_id;
|
|
}
|
|
|
|
/**
|
|
* The id of the guild the referenced message was sent in
|
|
*/
|
|
public get guildId() {
|
|
return this[kData].guild_id;
|
|
}
|
|
}
|