The structures that have a page of their own are listed in the overview. What a message contains when you send one is in Message options.
- A date is a
stringin ISO 8601 ('2026-10-06T12:00:00.000000+00:00'):new Date(value)turns it into aDate. - A user inside plain data is plain data too (
id,username,globalName,avatar…), not aUser. OnlyBanholds a realUser.
Attachment
A file attached to a message. You read them inmessage.attachments.
For a clip of a stream, the application that was streamed, when Discord recognized it (plain data).
Reaction
The reactions of one emoji on a message. You read them inmessage.reactions, one entry per emoji.
To react or read who reacted, see Message: react(), fetchReactionUsers().
Discord documentation
ReactionEmoji
The emoji of a reaction: a standard one has only aname ("👍"), a custom one has an id too. The reaction events give one.
Discord documentation
ForumTag
A tag the posts of a forum can have. You read them inforum.availableTags, and pass them in availableTags when you create or edit a forum channel.
Whether only members with the
ManageThreads permission can add the tag to a post or remove it.emojiId or emojiName, or neither.
Discord documentation
ThreadMember
Someone in a thread, and since when.thread.fetchMembers() returns a list of them.
The settings of the user for the thread, as a bit field; today only about notifications.
guild.fetchMember(threadMember.userId).
Discord documentation
PermissionOverwrite
What a role or a member is allowed or denied in one channel. You read them inchannel.permissionOverwrites.
allow and deny are Permissions sets, so overwrite.allow.has('SendMessages') works. To change an overwrite, use channel.setPermissions() and channel.deletePermissions(); the permissionOverwrites field of ChannelCreateOptions has another shape, the one Discord takes.
Discord documentation
Ban
A ban of a server.guild.fetchBan() returns one, guild.fetchBans() a list.
Discord documentation
AuditLog
What moderators and bots did in a server: its entries, newest first, and what they refer to.guild.fetchAuditLog() returns one.
Discord documentation
AuditLogEntry
One thing a moderator or a bot did in a server: what, by whom, on what, and what changed.auditLogEntryCreate gives one; its fields are the ones of an entry of AuditLog: id, actionType, targetId, userId, reason, changes and options.
Discord documentation
ScheduledEvent
An event scheduled in a server: when it happens, where, and how often.guild.fetchScheduledEvents() returns a list, guild.createScheduledEvent() the one it created.
The id of the channel where the event takes place;
null when it takes place outside Discord.AutoModerationRule
A rule Discord applies by itself to the messages of a server: what triggers it, and what it does then.guild.fetchAutoModerationRules() returns a list.
When the rule is checked:
1 a member sends or edits a message, 2 a member edits their profile.What triggers it:
1 words from a list, 3 spam, 4 words from a preset list of Discord, 5 too many mentions, 6 words from a list in the profile of a member.Sticker
A sticker: one of a server, or a standard one from a pack.guild.fetchStickers() returns the ones of a server.
Whether the sticker of a server can be used;
false when the server lost the boosts it needed.stickers of a message: see Message options.
Discord documentation
VoiceState
Where someone is in voice, and how: muted, deafened, streaming… The voice events give one. Discord documentationUserPresence
Whether someone is online and what they are doing: their status, their activities, and on which devices.presenceUpdate gives one.
Discord documentation