|
/// #A#udit |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/audit-log#audit-log-object-audit-log-structure | Audit} |
|
* @typedef {Object} Audit |
|
* @prop {Webhook[]} webhooks |
|
* @prop {User[]} users |
|
* @prop {AuditEntry[]} audit_log_entries |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-entry-structure | Audit Entry} |
|
* @typedef {Object} AuditEntry |
|
* @prop {?String} target_id |
|
* @prop {AuditChange[]} [changes] |
|
* @prop {Snowflake} user_id |
|
* @prop {Snowflake} id |
|
* @prop {AuditEvent} action_type |
|
* @prop {AuditEntryInfo} [options] |
|
* @prop {String} [reason] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-events | Audit Events} |
|
* @typedef {Number} AuditEvent |
|
* @description |
|
* - GUILD_UPDATE: 1 |
|
* - CHANNEL_CREATE: 10 |
|
* - CHANNEL_UPDATE: 11 |
|
* - CHNANEL_DELETE: 12 |
|
* - CHANNEL_OVERWRITE_CREATE: 13 |
|
* - CHANNEL_OVERWRITE_UPDATE: 14 |
|
* - CHANNEL_OVERWRITE_DELETE: 15 |
|
* - MEMBER_KICK: 20 |
|
* - MEMBER_PRUNE: 21 |
|
* - MEMBER_BAN_ADD: 22 |
|
* - MEMBER_BAN_REMOVE: 23 |
|
* - MEMBER_UPDATE: 24 |
|
* - MEMBER_ROLE_UPDATE: 25 |
|
* - ROLE_CREATE: 30 |
|
* - ROLE_UPDATE: 31 |
|
* - ROLE_DELETE: 32 |
|
* - INVITE_CREATE: 40 |
|
* - INVITE_UPDATE: 41 |
|
* - INVITE_DELETE: 42 |
|
* - WEBHOOK_CREATE: 50 |
|
* - WEBHOOK_UPDATE: 51 |
|
* - WEBHOOK_DELETE: 52 |
|
* - EMOJI_CREATE: 60 |
|
* - EMOJI_UPDATE: 61 |
|
* - EMOJI_DELETE: 62 |
|
* - MESSAGE_DELETE: 72 |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/audit-log#audit-log-entry-object-optional-audit-entry-info | Optional Audit Entry Info} |
|
* @typedef {Object} AuditEntryInfo |
|
* @prop {String} delete_member_days (21) |
|
* @prop {String} members_removed (21) |
|
* @prop {Snowflake} channel_id (72) |
|
* @prop {String} count (72) |
|
* @prop {Snowflake} id (13, 14, 15) |
|
* @prop {ChannelOverwriteType} type (13, 14, 15) |
|
* @prop {String} role_name (13, 14, 15) |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/audit-log#audit-log-entry-object-optional-audit-entry-info | Audit Change} |
|
* @typedef {Object} AuditChange |
|
* @prop {?Object} [new_value] |
|
* @prop {?Object} [old_value] |
|
* @prop {AuditChangeKey} key |
|
*/ |
|
|
|
/** {@link | Audit Change Key} |
|
* @typedef {String} AuditChangeKey |
|
* @description |
|
* - name: String (guild) |
|
* - icon_hash: String (guild) |
|
* - splash_hash: String (guild) |
|
* - owner_id: {@see Snowflake} (guild) |
|
* - region: String (guild) |
|
* - afk_channel_id: {@see Snowflake} (guild) |
|
* - afk_timeout: Number (guild) |
|
* - mfa_level: Number (guild) |
|
* - verification_level: Number (guild) |
|
* - explict_content_filter: Number (guild) |
|
* - default_message_notifications: Number (guild) |
|
* - vanity_url_code: String (guild) |
|
* - $add: {@see Role}[] (guild) |
|
* - $remove: {@see Role}[] (guild) |
|
* - prune_delete_days: Number (guild) |
|
* - widget_enabled: Boolean (guild) |
|
* - widget_channel_id: {@see Snowflake} (guild) |
|
* - position: {@see Snowflake} (channel) |
|
* - topic: String (channel) |
|
* - bitrate: Number (channel) |
|
* - permission_overwrites: {@see ChannelOverwrite}[] (channel) |
|
* - nsfw: Boolean (channel) |
|
* - application_id: {@see Snowflake} (channel) |
|
* - permissions: Number (role) |
|
* - color: Number (role) |
|
* - hoist: Boolean (role) |
|
* - mentionable: Boolean (role) |
|
* - allow: Number (role) |
|
* - deny: Number (role) |
|
* - code: String (invite) |
|
* - channel_id: {@see Snowflake} (invite) |
|
* - inviter_id: {@see Snowflake} (invite) |
|
* - max_uses: Number (invite) |
|
* - uses: Number (invite) |
|
* - max_age: Number (invite) |
|
* - temporary: Boolean (invite) |
|
* - deaf: Boolean (user) |
|
* - mute: Boolean (user) |
|
* - nick: Boolean (user) |
|
* - avatar_hash: String (user) |
|
* - id: {@see Snowflake} (*) |
|
* - type: {@see ChannelType} | String (*) |
|
*/ |
|
|
|
/// #C#hannel |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#channel-object-channel-structure | Channel} |
|
* @typedef {Object} Channel |
|
* @prop {String} id |
|
* @prop {ChanneType} type |
|
* @prop {String} [guild_id] |
|
* @prop {Number} [position] |
|
* @prop {RawChannelOverwrite[]} [permission_overwrites] |
|
* @prop {String} [name] |
|
* @prop {String} [topic] |
|
* @prop {Boolean} [nsfw] |
|
* @prop {Snowflake} [last_message_id] |
|
* @prop {Number} [bitrate] |
|
* @prop {Number} [user_limit] |
|
* @prop {UserObject[]} [recipients] |
|
* @prop {String} [icon] |
|
* @prop {Snowflake} [owner_id] |
|
* @prop {Snowflake} [application_id] |
|
* @prop {Snowflake} [parent_id] |
|
* @prop {String} [last_pin_timestamp] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#channel-object-channel-types | Channel Type} |
|
* @typedef {Number} ChannelType |
|
* @description |
|
* - GUILD_TEXT: 0 |
|
* - DM: 1 |
|
* - GUILD_VOICE: 2 |
|
* - GROUP_DM: 3 |
|
* - GUILD_CATEGORY: 4 |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#overwrite-object-overwrite-structure | Channel Overwrite} |
|
* @typedef {Object} ChannelOverwrite |
|
* @prop {Snowflake} id |
|
* @prop {ChannelOverwriteType} type |
|
* @prop {Number} allow |
|
* @prop {Number} deny |
|
*/ |
|
|
|
/** {@link | Channel Overwrite Type} |
|
* @typedef {String} ChannelOverwriteType |
|
* @description |
|
* - role |
|
* - member |
|
*/ |
|
|
|
/// #E#moji |
|
|
|
/** {@link | Emoji} |
|
* @typedef {Object} Emoji |
|
* @prop {?Snowflake} id |
|
* @prop {String} name |
|
* @prop {Role[]} [roles] |
|
* @prop {User} [user] |
|
* @prop {Boolean} [require_colons] |
|
* @prop {Boolean} [managed] |
|
* @prop {Boolean} [animated] |
|
*/ |
|
|
|
/// #G#uild |
|
|
|
/** {@link | Guild} |
|
* @typedef {Object} Guild |
|
* @prop {Snowflake} id |
|
* @prop {String} name |
|
* @prop {?String} icon |
|
* @prop {?String} splash |
|
* @prop {Boolean} [owner] |
|
* @prop {Snowflake} owner_id |
|
* @prop {Number} [permissions] |
|
* @prop {String} region |
|
* @prop {Snowflake} [afk_channel_id] |
|
* @prop {Number} afk_timeout |
|
* @prop {Boolean} [embed_enabled] |
|
* @prop {Snowflake} [embed_channel_id] |
|
* @prop {Number} verification_level |
|
* @prop {Number} default_message_notifications |
|
* @prop {Number} explicit_content_filter |
|
* @prop {Role[]} roles |
|
* @prop {Emoji[]} emojis |
|
* @prop {String[]} features |
|
* @prop {Number} mfa_level |
|
* @prop {Snowflake} [application_id] |
|
* @prop {Boolean} [widget_enabled] |
|
* @prop {Snowflake} [widget_channel_id] |
|
* @prop {?Snowflake} system_channel_id |
|
* @prop {ISO8601} [joined_at] |
|
* @prop {Boolean} [large] |
|
* @prop {Boolean} [unavailable] |
|
* @prop {Number} [member_count] |
|
* @prop {?VoiceState[]} [voice_states] |
|
* @prop {GuildMember[]} [members] |
|
* @prop {Channel[]} [channels] |
|
* @prop {Presence[]} [presences] |
|
*/ |
|
|
|
/** |
|
* @typedef {Object} GuildMember |
|
* @prop {User} user |
|
* @prop {String} nick |
|
* @prop {Snowflake[]} roles |
|
* @prop {ISO8601} joined_at |
|
* @prop {Boolean} deaf |
|
* @prop {Boolean} mute |
|
*/ |
|
|
|
/** |
|
* @typedef {Object} GuildIntegration |
|
* @prop {Snowflake} id |
|
* @prop {String} name |
|
* @prop {GuildIntegrationType} type |
|
* @prop {Boolean} enabled |
|
* @prop {Boolean} syncing |
|
* @prop {Snowflake} role_id |
|
* @prop {Number} expire_behavior |
|
* @prop {Number} expire_grace_period |
|
* @prop {User} user |
|
* @prop {GuildIntegrationAccount} account |
|
*/ |
|
|
|
/** |
|
* @typedef {Object} GuildIntegrationAccount |
|
* @prop {String} id |
|
* @prop {String} name |
|
*/ |
|
|
|
/** |
|
* @typedef {Object} GuildBanObject |
|
* @prop {String} reason |
|
* @prop {User} user |
|
*/ |
|
|
|
/// #M#essage |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#message-object-message-structure | Message} |
|
* @typedef {Object} Message |
|
* @prop {String} id |
|
* @prop {String} channel_id |
|
* @prop {UserObject} author |
|
* @prop {String} content |
|
* @prop {ISO8601} timestamp |
|
* @prop {ISO8601} [edited_timestamp] |
|
* @prop {Boolean} tts |
|
* @prop {Boolean} mention_everyone |
|
* @prop {UserObject[]} mentions |
|
* @prop {RoleObject[]} mention_roles |
|
* @prop {MessageAttachment[]} attachments |
|
* @prop {MessageEmbed[]} embeds |
|
* @prop {MessageReaction[]} [reactions] |
|
* @prop {String} [nonce] |
|
* @prop {Boolean} pinned |
|
* @prop {String} [webhook_id] |
|
* @prop {MessageType} type |
|
* @prop {MessageActivity} [activity] |
|
* @prop {MessageApplication} [application] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#message-object-message-activity-structure | Message Activity Structure} |
|
* @typedef {Object} MessageActivity |
|
* @prop {Number} type |
|
* @prop {String} [party_id] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#message-object-message-activity-types | Message Activity Type} |
|
* @typedef {Number} MessageActivityType |
|
* @description |
|
* - JOIN: 1 |
|
* - SPECTATE: 2 |
|
* - LISTEN: 3 |
|
* - ?: 4 |
|
* - JOIN_REQUEST: 5 |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#message-object-message-application-structure | Message Appliction Structure} |
|
* @typedef {Object} MessageApplication |
|
* @prop {Snowflake} id |
|
* @prop {String} cover_image |
|
* @prop {String} description |
|
* @prop {String} icon |
|
* @prop {String} name |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#attachment-object-attachment-structure | Message Attachment} |
|
* @typedef {Object} MessageAttachment |
|
* @prop {Snowflake} id |
|
* @prop {String} filename |
|
* @prop {Number} size |
|
* @prop {String} url |
|
* @prop {String} proxy_url |
|
* @prop {Number} [height] |
|
* @prop {Number} [width] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#embed-object-embed-structure | Message Embed} |
|
* @typedef {Object} MessageEmbed |
|
* @prop {String} [title] |
|
* @prop {String} [type="rich"] |
|
* @prop {String} [description] |
|
* @prop {String} [url] |
|
* @prop {ISO8601} [timestamp] |
|
* @prop {Number} [color] |
|
* @prop {MessageEmbedFooter} [footer] |
|
* @prop {MessageEmbedImage} [image] |
|
* @prop {MessageEmbedThumbnail} [thumbnail] |
|
* @prop {MessageEmbedVideo} [video] |
|
* @prop {MessageEmbedProvider} [provider] |
|
* @prop {MessageEmbedAuthor} [author] |
|
* @prop {MessageEmbedField[]} [fields] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#embed-object-embed-footer-structure | Message Embed Footer} |
|
* @typedef {Object} MessageEmbedFooter |
|
* @prop {String} [text] |
|
* @prop {String} [icon_url] |
|
* @prop {String} [proxy_icon_url] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#embed-object-embed-image-structure | Message Embed Image} |
|
* @typedef {Object} MessageEmbedImage |
|
* @prop {String} [url] |
|
* @prop {String} [proxy_url] |
|
* @prop {Number} [height] |
|
* @prop {Number} [width] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#embed-object-embed-structure | Message Embed Thumbnail} |
|
* @typedef {Object} MessageEmbedThumbnail |
|
* @prop {String} [url] |
|
* @prop {String} [proxy_url] |
|
* @prop {Number} [height] |
|
* @prop {Number} [width] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#embed-object-embed-video-structure | Message Embed Video} |
|
* @typedef {Object} MessageEmbedVideo |
|
* @prop {String} [url] |
|
* @prop {Number} [height] |
|
* @prop {Number} [width] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#embed-object-embed-provider-structure | Message Embed Provider} |
|
* @typedef {Object} MessageEmbedProvider |
|
* @prop {String} [url] |
|
* @prop {String} [name] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#embed-object-embed-author-structure | Message Embed Author} |
|
* @typedef {Object} MessageEmbedAuthor |
|
* @prop {String} [name] |
|
* @prop {String} [url] |
|
* @prop {String} [icon_url] |
|
* @prop {String} [proxy_icon_url] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#embed-object-embed-field-structure | Message Embed Field} |
|
* @typedef {Object} MessageEmbedField |
|
* @prop {String} name |
|
* @prop {String} value |
|
* @prop {Boolean} [inline] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#reaction-object-reaction-structure | Message Reaction} |
|
* @typedef {Object} MessageReaction |
|
* @prop {Number} count |
|
* @prop {Boolean} me |
|
* @prop {?EmojiObject} emoji |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/channel#message-object-message-types | Message Type} |
|
* @typedef {Number} MessageType |
|
* @description |
|
* - DEFAULT: 0 |
|
* - RECIPIENT_ADD: 1 |
|
* - RECIPIENT_REMOVE: 2 |
|
* - CALL: 3 |
|
* - CHANNEL_NAME_CHANGE: 4 |
|
* - CHANNEL_ICON_CHANGE: 5 |
|
* - CHANNEL_PINNED_MESSAGE: 6 |
|
* - GUILD_MEMBER_JOIN: 7 |
|
*/ |
|
|
|
/// #O#ther |
|
|
|
/** |
|
* {@link https://wikipedia.org/wiki/ISO_8601 | Wikipedia - ISO 8601} |
|
* {@link https://www.iso.org/iso-8601-date-and-time-format.html | ISO.org - ISO 8601} |
|
* @typedef {String} ISO8601 |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/reference#snowflakes | Snowflakes} |
|
* @typedef {Number} Snowflake |
|
*/ |
|
|
|
/// #P#resence |
|
|
|
/** {@link https://discordapp.com/developers/docs/topics/gateway#presence-update-presence-update-event-fields | Presence} |
|
* @typedef {Object} Presence |
|
* @prop {User} user |
|
* @prop {Snowflake[]} roles |
|
* @prop {PresenceActivity} [game] |
|
* @prop {Snowflake} guild_id |
|
* @prop {PresenceStatus} status |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/topics/gateway#activity-object-activity-structure | Presence Activity} |
|
* @typedef {Object} PresenceActivity |
|
* @prop {String} name |
|
* @prop {PresenceType} type |
|
* @prop {String} [url] |
|
* @prop {PresenceTimestamps} [timestamps] |
|
* @prop {Snowflake} [application_id] |
|
* @prop {String} [details] |
|
* @prop {String} [state] |
|
* @prop {PresenceParty} [party] |
|
* @prop {PresenceAssets} [assets] |
|
* @prop {PresenceSecrets} [secrets] |
|
* @prop {Boolean} [instance] |
|
* @prop {PresenceFlags} [flags] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/topics/gateway#presence-update-presence-update-event-fields | Presence Status} |
|
* @typedef {String} PresenceStatus |
|
* @description |
|
* - idle |
|
* - dnd |
|
* - online |
|
* - offline |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/topics/gateway#activity-object-activity-types | Presence Type} |
|
* @typedef {Number} PresenceType |
|
* @description |
|
* - 0: Game (Playing {name}) |
|
* - 1: Streaming (Streaming {name}) |
|
* - 2: Listening (Listening to {name}) |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/topics/gateway#activity-object-activity-timestamps | Presence Timestamps} |
|
* @typedef {Object} PresenceTimestamps |
|
* @prop {Number} [start] |
|
* @prop {Number} [end] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/topics/gateway#activity-object-activity-party | Presency Party} |
|
* @typedef {Object} PresenceParty |
|
* @prop {String} [id] |
|
* @prop {[Number, Number]} [size] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/topics/gateway#activity-object-activity-assets | Presence Assets} |
|
* @typedef {Object} PresenceAssets |
|
* @prop {String} [large_image] |
|
* @prop {String} [large_text] |
|
* @prop {String} [small_image] |
|
* @prop {String} [small_text] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/topics/gateway#activity-object-activity-secrets | Presence Secrets} |
|
* @typedef {Object} PresenceSecrets |
|
* @prop {String} [join] |
|
* @prop {String} [spectate] |
|
* @prop {String} [match] |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/topics/gateway#activity-object-activity-flags | Presence Flags} |
|
* @typedef {Number} PresenceFlags |
|
* @description |
|
* - INSTANCE: 1 << 0 |
|
* - JOIN: 1 << 1 |
|
* - SPECTATE: 1 << 2 |
|
* - JOIN_REQUEST: 1 << 3 |
|
* - SYNC: 1 << 4 |
|
* - PLAY: 1 << 5 |
|
*/ |
|
|
|
/// #R#ole |
|
|
|
/** {@link | Role} |
|
* @typedef {Object} Role |
|
* @prop {Snowflake} id |
|
* @prop {String} name |
|
* @prop {Number} color |
|
* @prop {Boolean} hoist |
|
* @prop {Number} position |
|
* @prop {Number} permissions |
|
* @prop {Boolean} managed |
|
* @prop {Boolean} mentionable |
|
*/ |
|
|
|
/// #U#ser |
|
|
|
/** {@link | User} |
|
* @typedef {Object} User |
|
* @prop {Snowflake} id |
|
* @prop {String} username |
|
* @prop {String} discriminator |
|
* @prop {?String} avatar |
|
* @prop {Boolean} [bot] |
|
* @prop {Boolean} [mfa_enabled] |
|
* @prop {Boolean} [verified] |
|
* @prop {String} [email] |
|
*/ |
|
|
|
/** {@link | User Connection} |
|
* @typedef {Object} UserConnection |
|
* @prop {String} id |
|
* @prop {String} name |
|
* @prop {String} type |
|
* @prop {Boolean} revoked |
|
* @prop {GuildIntegration[]} integrations |
|
*/ |
|
|
|
/// #V#oice |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/voice#voice-state-object | Voice State} |
|
* @typedef {Object} VoiceState |
|
* @prop {Snowflake} [guild_id] |
|
* @prop {?Snowflake} channel_id |
|
* @prop {Snowflake} user_id |
|
* @prop {String} session_id |
|
* @prop {Boolean} deaf |
|
* @prop {Boolean} mute |
|
* @prop {Boolean} self_deaf |
|
* @prop {Boolean} self_mute |
|
* @prop {Boolean} suppress |
|
*/ |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/voice#voice-region-object | Voice Region} |
|
* @typedef {Object} VoiceRegion |
|
* @prop {String} id |
|
* @prop {String} name |
|
* @prop {Boolean} vip |
|
* @prop {Boolean} optimal |
|
* @prop {Boolean} deprecated |
|
* @prop {Boolean} custom |
|
*/ |
|
|
|
/// #W#ebhook |
|
|
|
/** {@link https://discordapp.com/developers/docs/resources/webhook#webhook-object | Webhook} |
|
* @typedef {Object} Webhook |
|
* @prop {Snowflake} id |
|
* @prop {Snowflake} [guild_id] |
|
* @prop {Snowflake} channel_id |
|
* @prop {User} [user] |
|
* @prop {String} [name] |
|
* @prop {String} [avatar] |
|
* @prop {String} token |
|
*/ |