BaseMessage

Signature

export interface BaseMessage extends DiscordBase, ObjectToLower<Omit<MessageData, 'timestamp' | 'author' | 'mentions' | 'components' | 'poll' | 'embeds'>>

Properties

urlGetter
get url(): `https://discord.com/channels/${string}/${string}/${string}`;
get createdTimestamp(): number;

Create a timestamp for the current object.

get createdAt(): Date;

createdAt gets the creation Date instace of the current object.

nonce?: string | number | undefined;
application?: { id?: string | undefined; name?: string | undefined; icon?: string | null | undefined; description?: string | undefined; rpcOrigins?: string[] | undefined; botPublic?: boolean | undefined; botRequireCodeGrant?: boolean | undefined; bot?: APIUser | undefined; termsOfServiceUrl?: string | undefined; privacyPolicyUrl?: string | undefined; owner?: APIUser | undefined; verifyKey?: string | undefined; team?: APITeam | null | undefined; guildId?: string | undefined; guild?: APIPartialGuild | undefined; primarySkuId?: string | undefined; slug?: string | undefined; coverImage?: string | undefined; flags?: ApplicationFlags | undefined; approximateGuildCount?: number | undefined; approximateUserInstallCount?: number | undefined; redirectUris?: string[] | undefined; interactionsEndpointUrl?: string | null | undefined; roleConnectionsVerificationUrl?: string | null | undefined; tags?: [string, (string | undefined)?, (string | undefined)?, (string | undefined)?, (string | undefined)?] | undefined; installParams?: APIApplicationInstallParams | undefined; integrationTypesConfig?: APIApplicationIntegrationTypesConfigMap | undefined; customInstallUrl?: string | undefined; } | undefined;
attachments: { id: string; filename: string; title?: string | undefined; description?: string | undefined; contentType?: string | undefined; size: number; url: string; proxyUrl: string; height?: number | null | undefined; width?: number | null | undefined; ephemeral?: boolean | undefined; durationSecs?: number | undefined; waveform?: string | undefined; flags?: AttachmentFlags | undefined; }[];
reactions?: { count: number; countDetails: { burst: number; normal: number; }; me: boolean; meBurst: boolean; emoji: { id: string | null; name: string | null; animated?: boolean | undefined; }; burstColors: string[]; }[] | undefined;
referencedMessage?: { id: string; channelId: string; author: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: UserFlags | undefined; premiumType?: UserPremiumType | undefined; publicFlags?: UserFlags | undefined; avatarDecorationData?: { asset: string; skuId: string; } | null | undefined; collectibles?: { nameplate?: APINameplateData | undefined; } | null | undefined; primaryGuild?: { identityGuildId: string | null; identityEnabled: boolean | null; tag: string | null; badge: string | null; } | null | undefined; }; content: string; timestamp: string; editedTimestamp: string | null; tts: boolean; mentionEveryone: boolean; mentions: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: UserFlags | undefined; premiumType?: UserPremiumType | undefined; publicFlags?: UserFlags | undefined; avatarDecorationData?: { asset: string; skuId: string; } | null | undefined; collectibles?: { nameplate?: APINameplateData | undefined; } | null | undefined; primaryGuild?: { identityGuildId: string | null; identityEnabled: boolean | null; tag: string | null; badge: string | null; } | null | undefined; }[]; mentionRoles: string[]; mentionChannels?: APIChannelMention[] | undefined; attachments: { id: string; filename: string; title?: string | undefined; description?: string | undefined; contentType?: string | undefined; size: number; url: string; proxyUrl: string; height?: number | null | undefined; width?: number | null | undefined; ephemeral?: boolean | undefined; durationSecs?: number | undefined; waveform?: string | undefined; flags?: AttachmentFlags | undefined; }[]; embeds: { title?: string | undefined; type?: EmbedType | undefined; description?: string | undefined; url?: string | undefined; timestamp?: string | undefined; color?: number | undefined; footer?: { text: string; iconUrl?: string | undefined; proxyIconUrl?: string | undefined; } | undefined; image?: { url: string; proxyUrl?: string | undefined; height?: number | undefined; width?: number | undefined; } | undefined; thumbnail?: { url: string; proxyUrl?: string | undefined; height?: number | undefined; width?: number | undefined; } | undefined; video?: { url?: string | undefined; proxyUrl?: string | undefined; height?: number | undefined; width?: number | undefined; } | undefined; provider?: { name?: string | undefined; url?: string | undefined; } | undefined; author?: { name: string; url?: string | undefined; iconUrl?: string | undefined; proxyIconUrl?: string | undefined; } | undefined; fields?: { name: string; value: string; inline?: boolean | undefined; }[] | undefined; }[]; reactions?: APIReaction[] | undefined; nonce?: string | number | undefined; pinned: boolean; webhookId?: string | undefined; type: MessageType; activity?: APIMessageActivity | undefined; application?: Partial<APIApplication> | undefined; applicationId?: string | undefined; messageReference?: APIMessageReference | undefined; flags?: MessageFlags | undefined; referencedMessage?: APIMessage | null | undefined; interactionMetadata?: APIMessageInteractionMetadata | undefined; thread?: APIThreadChannel | undefined; components?: APITopLevelComponent[] | undefined; stickerItems?: APIStickerItem[] | undefined; position?: number | undefined; roleSubscriptionData?: APIMessageRoleSubscriptionData | undefined; resolved?: APIInteractionDataResolved | undefined; poll?: APIPoll | undefined; messageSnapshots?: APIMessageSnapshot[] | undefined; call?: APIMessageCall | undefined; } | null | undefined;
interactionMetadata?: { id: string; type: InteractionType; user: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: UserFlags | undefined; premiumType?: UserPremiumType | undefined; publicFlags?: UserFlags | undefined; avatarDecorationData?: { asset: string; skuId: string; } | null | undefined; collectibles?: { nameplate?: APINameplateData | undefined; } | null | undefined; primaryGuild?: { identityGuildId: string | null; identityEnabled: boolean | null; tag: string | null; badge: string | null; } | null | undefined; }; authorizingIntegrationOwners: { 0?: string | undefined; 1?: string | undefined; }; originalResponseMessageId?: string | undefined; interactedMessageId?: string | undefined; triggeringInteractionMetadata?: APIMessageInteractionMetadata | undefined; } | undefined;
thread?: { member?: APIThreadMember | undefined; threadMetadata?: APIThreadMetadata | undefined; messageCount?: number | undefined; memberCount?: number | undefined; ownerId?: string | undefined; totalMessageSent?: number | undefined; appliedTags: string[]; type: ThreadChannelType; id: string; flags?: ChannelFlags | undefined; lastMessageId?: string | null | undefined; lastPinTimestamp?: string | null | undefined; rateLimitPerUser?: number | undefined; guildId?: string | undefined; name: string; position: number; permissionOverwrites?: APIOverwrite[] | undefined; nsfw?: boolean | undefined; parentId?: string | undefined; } | undefined;
roleSubscriptionData?: { roleSubscriptionListingId: string; tierName: string; totalMonthsSubscribed: number; isRenewal: boolean; } | undefined;
messageSnapshots?: { message: { type: MessageType; flags?: MessageFlags | undefined; content: string; components?: ({ id?: number | undefined; components: ({ id?: number | undefined; items: { media: { contentType?: string | undefined; url: string; proxyUrl?: string | undefined; height?: number | null | undefined; width?: number | null | undefined; }; description?: string | undefined; spoiler?: boolean | undefined; }[]; type: ComponentType.MediaGallery; } | { id?: number | undefined; components: { id?: number | undefined; content: string; type: ComponentType.TextDisplay; }[]; accessory: { id?: number | undefined; media: { contentType?: string | undefined; url: string; proxyUrl?: string | undefined; height?: number | null | undefined; width?: number | null | undefined; }; description?: string | undefined; spoiler?: boolean | undefined; type: ComponentType.Thumbnail; } | { customId: string; label?: string | undefined; style: ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success | ButtonStyle.Danger; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; disabled?: boolean | undefined; type: ComponentType.Button; } | { skuId: string; type: ComponentType.Button; style: ButtonStyle.Premium; disabled?: boolean | undefined; } | { url: string; label?: string | undefined; style: ButtonStyle.Link; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; disabled?: boolean | undefined; type: ComponentType.Button; }; type: ComponentType.Section; } | { id?: number | undefined; file: { contentType?: string | undefined; url: string; proxyUrl?: string | undefined; height?: number | null | undefined; width?: number | null | undefined; }; spoiler?: boolean | undefined; type: ComponentType.File; } | { id?: number | undefined; divider?: boolean | undefined; spacing?: Spacing | undefined; type: ComponentType.Separator; } | { id?: number | undefined; content: string; type: ComponentType.TextDisplay; } | { components: ({ customId: string; label?: string | undefined; style: ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success | ButtonStyle.Danger; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; disabled?: boolean | undefined; type: ComponentType.Button; } | { skuId: string; type: ComponentType.Button; style: ButtonStyle.Premium; disabled?: boolean | undefined; } | { url: string; label?: string | undefined; style: ButtonStyle.Link; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; disabled?: boolean | undefined; type: ComponentType.Button; } | { channelTypes?: ChannelType[] | undefined; defaultValues?: { type: SelectMenuDefaultValueType.Channel; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.ChannelSelect; } | { defaultValues?: { type: SelectMenuDefaultValueType; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.MentionableSelect; } | { defaultValues?: { type: SelectMenuDefaultValueType.Role; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.RoleSelect; } | { options: { label: string; value: string; description?: string | undefined; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; default?: boolean | undefined; }[]; required?: boolean | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; type: ComponentType.StringSelect; } | { defaultValues?: { type: SelectMenuDefaultValueType.User; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.UserSelect; } | { id?: number | undefined; style: TextInputStyle; customId: string; placeholder?: string | undefined; value?: string | undefined; minLength?: number | undefined; maxLength?: number | undefined; required?: boolean | undefined; type: ComponentType.TextInput; })[]; type: ComponentType.ActionRow; } | { id?: number | undefined; media: { contentType?: string | undefined; url: string; proxyUrl?: string | undefined; height?: number | null | undefined; width?: number | null | undefined; }; description?: string | undefined; spoiler?: boolean | undefined; type: ComponentType.Thumbnail; })[]; accentColor?: number | undefined; spoiler?: boolean | undefined; type: ComponentType.Container; } | { id?: number | undefined; label: string; description?: string | undefined; component: { channelTypes?: ChannelType[] | undefined; defaultValues?: { type: SelectMenuDefaultValueType.Channel; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.ChannelSelect; } | { defaultValues?: { type: SelectMenuDefaultValueType; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.MentionableSelect; } | { defaultValues?: { type: SelectMenuDefaultValueType.Role; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.RoleSelect; } | { options: { label: string; value: string; description?: string | undefined; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; default?: boolean | undefined; }[]; required?: boolean | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; type: ComponentType.StringSelect; } | { defaultValues?: { type: SelectMenuDefaultValueType.User; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.UserSelect; } | { id?: number | undefined; style: TextInputStyle; customId: string; placeholder?: string | undefined; value?: string | undefined; minLength?: number | undefined; maxLength?: number | undefined; required?: boolean | undefined; type: ComponentType.TextInput; } | { id?: number | undefined; customId: string; options: { value: string; label: string; description?: string | undefined; default?: boolean | undefined; }[]; minValues?: number | undefined; maxValues?: number | undefined; required?: boolean | undefined; type: ComponentType.CheckboxGroup; } | { id?: number | undefined; customId: string; options: { value: string; label: string; description?: string | undefined; default?: boolean | undefined; }[]; required?: boolean | undefined; type: ComponentType.RadioGroup; } | { id?: number | undefined; customId: string; minValues?: number | undefined; maxValues?: number | undefined; required?: boolean | undefined; type: ComponentType.FileUpload; } | { id?: number | undefined; customId: string; default?: boolean | undefined; type: ComponentType.Checkbox; }; type: ComponentType.Label; } | { id?: number | undefined; items: { media: { contentType?: string | undefined; url: string; proxyUrl?: string | undefined; height?: number | null | undefined; width?: number | null | undefined; }; description?: string | undefined; spoiler?: boolean | undefined; }[]; type: ComponentType.MediaGallery; } | { id?: number | undefined; components: { id?: number | undefined; content: string; type: ComponentType.TextDisplay; }[]; accessory: { id?: number | undefined; media: { contentType?: string | undefined; url: string; proxyUrl?: string | undefined; height?: number | null | undefined; width?: number | null | undefined; }; description?: string | undefined; spoiler?: boolean | undefined; type: ComponentType.Thumbnail; } | { customId: string; label?: string | undefined; style: ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success | ButtonStyle.Danger; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; disabled?: boolean | undefined; type: ComponentType.Button; } | { skuId: string; type: ComponentType.Button; style: ButtonStyle.Premium; disabled?: boolean | undefined; } | { url: string; label?: string | undefined; style: ButtonStyle.Link; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; disabled?: boolean | undefined; type: ComponentType.Button; }; type: ComponentType.Section; } | { components: ({ customId: string; label?: string | undefined; style: ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success | ButtonStyle.Danger; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; disabled?: boolean | undefined; type: ComponentType.Button; } | { skuId: string; type: ComponentType.Button; style: ButtonStyle.Premium; disabled?: boolean | undefined; } | { url: string; label?: string | undefined; style: ButtonStyle.Link; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; disabled?: boolean | undefined; type: ComponentType.Button; } | { channelTypes?: ChannelType[] | undefined; defaultValues?: { type: SelectMenuDefaultValueType.Channel; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.ChannelSelect; } | { defaultValues?: { type: SelectMenuDefaultValueType; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.MentionableSelect; } | { defaultValues?: { type: SelectMenuDefaultValueType.Role; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.RoleSelect; } | { options: { label: string; value: string; description?: string | undefined; emoji?: { id?: string | undefined; name?: string | undefined; animated?: boolean | undefined; } | undefined; default?: boolean | undefined; }[]; required?: boolean | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; type: ComponentType.StringSelect; } | { defaultValues?: { type: SelectMenuDefaultValueType.User; id: string; }[] | undefined; customId: string; placeholder?: string | undefined; minValues?: number | undefined; maxValues?: number | undefined; disabled?: boolean | undefined; required?: boolean | undefined; type: ComponentType.UserSelect; } | { id?: number | undefined; style: TextInputStyle; customId: string; placeholder?: string | undefined; value?: string | undefined; minLength?: number | undefined; maxLength?: number | undefined; required?: boolean | undefined; type: ComponentType.TextInput; })[]; type: ComponentType.ActionRow; } | { id?: number | undefined; file: { contentType?: string | undefined; url: string; proxyUrl?: string | undefined; height?: number | null | undefined; width?: number | null | undefined; }; spoiler?: boolean | undefined; type: ComponentType.File; } | { id?: number | undefined; divider?: boolean | undefined; spacing?: Spacing | undefined; type: ComponentType.Separator; } | { id?: number | undefined; content: string; type: ComponentType.TextDisplay; })[] | undefined; mentions: { id: string; username: string; discriminator: string; globalName: string | null; avatar: string | null; bot?: boolean | undefined; system?: boolean | undefined; mfaEnabled?: boolean | undefined; banner?: string | null | undefined; accentColor?: number | null | undefined; locale?: string | undefined; verified?: boolean | undefined; email?: string | null | undefined; flags?: UserFlags | undefined; premiumType?: UserPremiumType | undefined; publicFlags?: UserFlags | undefined; avatarDecorationData?: { asset: string; skuId: string; } | null | undefined; collectibles?: { nameplate?: APINameplateData | undefined; } | null | undefined; primaryGuild?: { identityGuildId: string | null; identityEnabled: boolean | null; tag: string | null; badge: string | null; } | null | undefined; }[]; timestamp: string; editedTimestamp: string | null; mentionRoles: string[]; attachments: { id: string; filename: string; title?: string | undefined; description?: string | undefined; contentType?: string | undefined; size: number; url: string; proxyUrl: string; height?: number | null | undefined; width?: number | null | undefined; ephemeral?: boolean | undefined; durationSecs?: number | undefined; waveform?: string | undefined; flags?: AttachmentFlags | undefined; }[]; embeds: { title?: string | undefined; type?: EmbedType | undefined; description?: string | undefined; url?: string | undefined; timestamp?: string | undefined; color?: number | undefined; footer?: { text: string; iconUrl?: string | undefined; proxyIconUrl?: string | undefined; } | undefined; image?: { url: string; proxyUrl?: string | undefined; height?: number | undefined; width?: number | undefined; } | undefined; thumbnail?: { url: string; proxyUrl?: string | undefined; height?: number | undefined; width?: number | undefined; } | undefined; video?: { url?: string | undefined; proxyUrl?: string | undefined; height?: number | undefined; width?: number | undefined; } | undefined; provider?: { name?: string | undefined; url?: string | undefined; } | undefined; author?: { name: string; url?: string | undefined; iconUrl?: string | undefined; proxyIconUrl?: string | undefined; } | undefined; fields?: { name: string; value: string; inline?: boolean | undefined; }[] | undefined; }[]; stickerItems?: { id: string; name: string; formatType: StickerFormatType; }[] | undefined; }; }[] | undefined;
call?: { participants: string[]; endedTimestamp?: string | null | undefined; } | undefined;

Methods