AntiRaidAntiRaid

@discord-types/gatewayTypes

API reference for @discord-types/gatewayTypes

Updated April 11, 2026

@discord-types/gatewayTypes

Types

Payload

[[ Base ]] --

Raw Type
-- [[ Base ]] --
type Payload<DATA> = DATA

DATA

IdentifyPayload

[[ Send Events - https://discord.com/developers/docs/topics/gateway-events#send-events ]] --

https://discord.com/developers/docs/topics/gateway-events#identify

Raw Type
-- [[ Send Events - https://discord.com/developers/docs/topics/gateway-events#send-events ]] --
-- https://discord.com/developers/docs/topics/gateway-events#identify
type IdentifyPayload = Payload<{
	token: string,

	-- Authentication token
	properties: objects.IdentifyPropertiesObject,

	-- Connection properties
	compress: boolean?,

	-- Whether this connection supports compression of packets
	large_threshold: number?,

	-- Value between 50 and 250, total number of members where the gateway will stop sending offline members in the guild member list
	shard: {number}?,

	-- Used for Guild Sharding
	presence: objects.ActivityObject?,

	-- Presence structure for initial presence information
	intents: number
}>

Payload<{token: string, properties: objects.IdentifyPropertiesObject, compress: boolean?, large_threshold: number?, shard: {number}?, presence: objects.ActivityObject?, intents: number}>

ResumePayload

https://discord.com/developers/docs/topics/gateway-events#resume

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#resume
type ResumePayload = Payload<{
	token: string,

	-- Session token
	session_id: string,

	-- Session ID
	seq: number
}>

Payload<{token: string, session_id: string, seq: number}>

HeartbeatPayload

https://discord.com/developers/docs/topics/gateway-events#heartbeat

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#heartbeat
type HeartbeatPayload = Payload<number>

Payload<number>

RequestGuildMembersPayload

https://discord.com/developers/docs/topics/gateway-events#request-guild-members

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#request-guild-members
type RequestGuildMembersPayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild to get members for
	query: string?,

	-- string that username starts with, or an empty string to return all members
	limit: number,

	-- maximum number of members to send matching the query; a limit of 0 can be used with an empty string query to return all members
	presences: boolean?,

	-- used to specify if we want the presences of the matched members
	user_ids: {objects.Snowflake}?,

	-- used to specify which users you wish to fetch
	nonce: string?
}>

Payload<{guild_id: objects.Snowflake, query: string?, limit: number, presences: boolean?, user_ids: {objects.Snowflake}?, nonce: string?}>

UpdateVoiceStatePayload

https://discord.com/developers/docs/topics/gateway-events#update-voice-state

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#update-voice-state
type UpdateVoiceStatePayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	channel_id: string?,

	-- ID of the voice channel client wants to join (null if disconnecting)
	self_mute: boolean,

	-- Whether the client is muted
	self_deaf: boolean
}>

Payload<{guild_id: objects.Snowflake, channel_id: string?, self_mute: boolean, self_deaf: boolean}>

UpdatePresencePayload

https://discord.com/developers/docs/topics/gateway-events#update-presence

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#update-presence
type UpdatePresencePayload = Payload<objects.PresenceObject>

Payload<objects.PresenceObject>

HelloPayload

[[ Receive Events - https://discord.com/developers/docs/topics/gateway-events#receive-events ]] --

https://discord.com/developers/docs/topics/gateway-events#hello

Raw Type
-- [[ Receive Events - https://discord.com/developers/docs/topics/gateway-events#receive-events ]] --
-- https://discord.com/developers/docs/topics/gateway-events#hello
type HelloPayload = Payload<{
	heartbeat_interval: number
}>

Payload<{heartbeat_interval: number}>

ReadyPayload

https://discord.com/developers/docs/topics/gateway-events#ready

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#ready
type ReadyPayload = Payload<{
	v: number,

	user: objects.UserObject,

	guilds: {objects.UnavailableGuildObject},

	session_id: string,

	resume_gateway_url: string,

	shard: {number}?,

	application: objects.ApplicationObject
}>

Payload<{v: number, user: objects.UserObject, guilds: {objects.UnavailableGuildObject}, session_id: string, resume_gateway_url: string, shard: {number}?, application: objects.ApplicationObject}>

ResumedPayload

https://discord.com/developers/docs/topics/gateway-events#resumed

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#resumed
type ResumedPayload = Payload<nil>

Payload<nil>

ReconnectPayload

https://discord.com/developers/docs/topics/gateway-events#reconnect

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#reconnect
type ReconnectPayload = Payload<boolean>

Payload<boolean>

InvalidSessionPayload

https://discord.com/developers/docs/topics/gateway-events#invalid-session

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#invalid-session
type InvalidSessionPayload = Payload<boolean?>

Payload<boolean?>

ApplicationCommandPermissionsCreatePayload

https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create
type ApplicationCommandPermissionsCreatePayload = Payload<objects.AutomoderationRuleObject>

Payload<objects.AutomoderationRuleObject>

ApplicationCommandPermissionsUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#application-command-permissions-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#application-command-permissions-update
type ApplicationCommandPermissionsUpdatePayload = Payload<objects.AutomoderationRuleObject>

Payload<objects.AutomoderationRuleObject>

ApplicationCommandPermissionsDeletePayload

https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete
type ApplicationCommandPermissionsDeletePayload = Payload<objects.AutomoderationRuleObject>

Payload<objects.AutomoderationRuleObject>

ApplicationCommandPermissionsExecutionPayload

https://discord.com/developers/docs/topics/gateway-events#auto-moderation-action-execution

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#auto-moderation-action-execution
type ApplicationCommandPermissionsExecutionPayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild in which action was executed
	action: objects.AutomoderationActionObject,

	-- Action which was executed
	rule_id: objects.Snowflake,

	-- ID of the rule which action belongs to
	rule_trigger_type: objects.AutomoderationRuleTriggerType,

	-- Trigger type of rule which was triggered
	user_id: objects.Snowflake,

	-- ID of the user which generated the content which triggered the rule
	channel_id: objects.Snowflake?,

	-- ID of the channel in which user content was posted
	message_id: objects.Snowflake?,

	-- ID of any user message which content belongs to *
	alert_system_message_id: objects.Snowflake?,

	-- ID of any system auto moderation messages posted as a result of this action **
	content: string,

	-- User-generated text content
	matched_keyword: string?,

	-- Word or phrase configured in the rule that triggered the rule
	matched_content: string?
}>

Payload<{guild_id: objects.Snowflake, action: objects.AutomoderationActionObject, rule_id: objects.Snowflake, rule_trigger_type: objects.AutomoderationRuleTriggerType, user_id: objects.Snowflake, channel_id: objects.Snowflake?, message_id: objects.Snowflake?, alert_system_message_id: objects.Snowflake?, content: string, matched_keyword: string?, matched_content: string?}>

CreateChannelPayload

https://discord.com/developers/docs/topics/gateway-events#channel-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#channel-create
type CreateChannelPayload = Payload<objects.ChannelObject>

Payload<objects.ChannelObject>

UpdateChannelPayload

https://discord.com/developers/docs/topics/gateway-events#channel-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#channel-update
type UpdateChannelPayload = Payload<objects.ChannelObject>

Payload<objects.ChannelObject>

DeleteChannelPayload

https://discord.com/developers/docs/topics/gateway-events#channel-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#channel-delete
type DeleteChannelPayload = Payload<objects.ChannelObject>

Payload<objects.ChannelObject>

ChannelPinsUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#channel-pins-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#channel-pins-update
type ChannelPinsUpdatePayload = Payload<{
	guild_id: objects.Snowflake?,

	channel_id: objects.Snowflake,

	last_pin_timestamp: string?
}>

Payload<{guild_id: objects.Snowflake?, channel_id: objects.Snowflake, last_pin_timestamp: string?}>

CreateThreadPayload

https://discord.com/developers/docs/topics/gateway-events#thread-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#thread-create
type CreateThreadPayload = Payload<objects.ChannelObject & {
	newly_created: boolean?
}>

Payload<(objects.ChannelObject & {newly_created: boolean?})>

UpdateThreadPayload

https://discord.com/developers/docs/topics/gateway-events#thread-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#thread-update
type UpdateThreadPayload = Payload<objects.ChannelObject>

Payload<objects.ChannelObject>

DeleteThreadPayload

https://discord.com/developers/docs/topics/gateway-events#thread-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#thread-delete
type DeleteThreadPayload = Payload<{
	id: objects.Snowflake,

	-- ID of the thread
	guild_id: objects.Snowflake?,

	-- ID of the guild
	parent_id: objects.Snowflake?,

	-- ID of the parent channel
	type: objects.ChannelType
}>

Payload<{id: objects.Snowflake, guild_id: objects.Snowflake?, parent_id: objects.Snowflake?, type: objects.ChannelType}>

ThreadListSyncPayload

https://discord.com/developers/docs/topics/gateway-events#thread-list-sync

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#thread-list-sync
type ThreadListSyncPayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	channel_ids: {objects.Snowflake}?,

	-- Parent channel IDs whose threads are being synced. If omitted, then threads were synced for the entire guild. This array may contain channel_ids that have no active threads as well, so you know to clear that data.
	threads: {objects.ChannelObject},

	-- All active threads in the given channels that the current user can access
	members: {objects.ThreadMemberObject}
}>

Payload<{guild_id: objects.Snowflake, channel_ids: {objects.Snowflake}?, threads: {objects.ChannelObject}, members: {objects.ThreadMemberObject}}>

ThreadMemberUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#thread-member-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#thread-member-update
type ThreadMemberUpdatePayload = Payload<{
	guild_id: objects.Snowflake
}>

Payload<{guild_id: objects.Snowflake}>

ThreadMembersUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#thread-member-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#thread-member-update
type ThreadMembersUpdatePayload = Payload<{
	id: objects.Snowflake,

	-- ID of the thread
	guild_id: objects.Snowflake,

	-- ID of the guild
	member_count: number,

	-- Approximate number of members in the thread, capped at 50
	added_members: {objects.ThreadMemberObject}?,

	-- Users who were added to the thread
	removed_member_ids: {objects.Snowflake}?
}>

Payload<{id: objects.Snowflake, guild_id: objects.Snowflake, member_count: number, added_members: {objects.ThreadMemberObject}?, removed_member_ids: {objects.Snowflake}?}>

EntitlementCreatePayload

https://discord.com/developers/docs/topics/gateway-events#entitlement-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#entitlement-create
type EntitlementCreatePayload = Payload<objects.EntitlementObject>

Payload<objects.EntitlementObject>

EntitlementUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#entitlement-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#entitlement-update
type EntitlementUpdatePayload = Payload<objects.EntitlementObject>

Payload<objects.EntitlementObject>

EntitlementDeletePayload

https://discord.com/developers/docs/topics/gateway-events#entitlement-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#entitlement-delete
type EntitlementDeletePayload = Payload<objects.EntitlementObject>

Payload<objects.EntitlementObject>

GuildCreatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-create
type GuildCreatePayload = Payload<objects.UnavailableGuildObject | (objects.GuildObject & {
	joined_at: string,

	-- When this guild was joined at
	large: boolean,

	-- true if this is considered a large guild
	unavailable: boolean?,

	-- true if this guild is unavailable due to an outage
	member_count: number,

	-- Total number of members in this guild
	voice_states: {objects.VoiceStateObject},

	-- States of members currently in voice channels; lacks the guild_id key
	members: {objects.GuildMemberObject},

	-- Users in the guild
	channels: {objects.ChannelObject},

	-- Channels in the guild
	threads: {objects.ChannelObject},

	-- All active threads in the guild that current user has permission to view
	presences: {objects.PresenceUpdateObject},

	-- Presences of the members in the guild, will only include non-offline members if the size is greater than large threshold
	stage_instances: {objects.StageInstanceObject},

	-- Stage instances in the guild
	guild_scheduled_events: {objects.GuildScheduledEventObject}
})>

Payload<(objects.UnavailableGuildObject | (objects.GuildObject & {joined_at: string, large: boolean, unavailable: boolean?, member_count: number, voice_states: {objects.VoiceStateObject}, members: {objects.GuildMemberObject}, channels: {objects.ChannelObject}, threads: {objects.ChannelObject}, presences: {objects.PresenceUpdateObject}, stage_instances: {objects.StageInstanceObject}, guild_scheduled_events: {objects.GuildScheduledEventObject}}))>

GuildUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-update
type GuildUpdatePayload = Payload<objects.GuildObject>

Payload<objects.GuildObject>

GuildDeletePayload

https://discord.com/developers/docs/topics/gateway-events#guild-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-delete
type GuildDeletePayload = Payload<objects.UnavailableGuildObject>

Payload<objects.UnavailableGuildObject>

GuildBanAddPayload

https://discord.com/developers/docs/topics/gateway-events#guild-ban-add

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-ban-add
type GuildBanAddPayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	user: objects.UserObject
}>

Payload<{guild_id: objects.Snowflake, user: objects.UserObject}>

GuildBanRemovePayload

https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove
type GuildBanRemovePayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	user: objects.UserObject
}>

Payload<{guild_id: objects.Snowflake, user: objects.UserObject}>

GuildEmojisUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-emojis-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-emojis-update
type GuildEmojisUpdatePayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	emojis: {objects.EmojiObject}
}>

Payload<{guild_id: objects.Snowflake, emojis: {objects.EmojiObject}}>

GuildStickersUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-stickers-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-stickers-update
type GuildStickersUpdatePayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	stickers: {objects.StickerObject}
}>

Payload<{guild_id: objects.Snowflake, stickers: {objects.StickerObject}}>

GuildIntegrationsUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-integrations-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-integrations-update
type GuildIntegrationsUpdatePayload = Payload<{
	guild_id: objects.Snowflake
}>

Payload<{guild_id: objects.Snowflake}>

GuildMemberAddPayload

https://discord.com/developers/docs/topics/gateway-events#guild-member-add

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-member-add
type GuildMemberAddPayload = Payload<objects.GuildMemberObject & {
	guild_id: objects.Snowflake
}>

Payload<(objects.GuildMemberObject & {guild_id: objects.Snowflake})>

GuildMemberRemovePayload

https://discord.com/developers/docs/topics/gateway-events#guild-member-remove

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-member-remove
type GuildMemberRemovePayload = Payload<{
	guild_id: objects.Snowflake,

	--ID of the guild
	user: objects.UserObject
}>

Payload<{guild_id: objects.Snowflake, user: objects.UserObject}>

GuildMemberUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-member-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-member-update
type GuildMemberUpdatePayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	roles: {objects.Snowflake},

	-- User role ids
	user: objects.UserObject,

	-- The user effected
	nick: string?,

	-- Nickname of the user in the guild
	avatar: string?,

	-- Member's guild avatar hash
	joined_at: string?,

	-- When the user joined the guild
	premium_since: string?,

	-- When the user starting boosting the guild
	deaf: boolean?,

	-- Whether the user is deafened in voice channels
	mute: boolean?,

	-- Whether the user is muted in voice channels
	pending: boolean?,

	-- Whether the user has not yet passed the guild's Membership Screening requirements
	communication_disabled_until: string?,

	-- When the user's timeout will expire and the user will be able to communicate in the guild again, null or a time in the past if the user is not timed out
	flags: number?,

	-- Guild member flags represented as a bit set, defaults to 0
	avatar_decoration_data: objects.AvatarDecorationDataObject?
}>

Payload<{guild_id: objects.Snowflake, roles: {objects.Snowflake}, user: objects.UserObject, nick: string?, avatar: string?, joined_at: string?, premium_since: string?, deaf: boolean?, mute: boolean?, pending: boolean?, communication_disabled_until: string?, flags: number?, avatar_decoration_data: objects.AvatarDecorationDataObject?}>

GuildMembersChunkPayload

https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk
type GuildMembersChunkPayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	members: {objects.GuildMemberObject},

	-- Set of guild members
	chunk_index: number,

	-- Chunk index in the expected chunks for this response (0 <= chunk_index < chunk_count)
	chunk_count: number,

	-- Total number of expected chunks for this response
	not_found: {unknown}?,

	-- When passing an invalid ID to REQUEST_GUILD_MEMBERS, it will be returned here
	presences: {objects.PresenceObject}?,

	-- When passing true to REQUEST_GUILD_MEMBERS, presences of the returned members will be here
	nonce: string?
}>

Payload<{guild_id: objects.Snowflake, members: {objects.GuildMemberObject}, chunk_index: number, chunk_count: number, not_found: {unknown}?, presences: {objects.PresenceObject}?, nonce: string?}>

GuildRoleCreatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-role-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-role-create
type GuildRoleCreatePayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	role: objects.GuildRoleObject
}>

Payload<{guild_id: objects.Snowflake, role: objects.GuildRoleObject}>

GuildRoleUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-role-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-role-update
type GuildRoleUpdatePayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	role: objects.GuildRoleObject
}>

Payload<{guild_id: objects.Snowflake, role: objects.GuildRoleObject}>

GuildRoleDeletePayload

https://discord.com/developers/docs/topics/gateway-events#guild-role-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-role-delete
type GuildRoleDeletePayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	role_id: objects.Snowflake
}>

Payload<{guild_id: objects.Snowflake, role_id: objects.Snowflake}>

GuildScheduledEventCreatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create
type GuildScheduledEventCreatePayload = Payload<objects.GuildScheduledEventObject>

Payload<objects.GuildScheduledEventObject>

GuildScheduledEventUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create
type GuildScheduledEventUpdatePayload = Payload<objects.GuildScheduledEventObject>

Payload<objects.GuildScheduledEventObject>

GuildScheduledEventDeletePayload

https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create
type GuildScheduledEventDeletePayload = Payload<objects.GuildScheduledEventObject>

Payload<objects.GuildScheduledEventObject>

GuildScheduledEventUserAddPayload

https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create
type GuildScheduledEventUserAddPayload = Payload<{
	guild_scheduled_event_id: objects.Snowflake,

	-- ID of the guild scheduled event
	user_id: objects.Snowflake,

	-- ID of the user
	guild_id: objects.Snowflake
}>

Payload<{guild_scheduled_event_id: objects.Snowflake, user_id: objects.Snowflake, guild_id: objects.Snowflake}>

GuildScheduledEventUserRemovePayload

https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create
type GuildScheduledEventUserRemovePayload = Payload<{
	guild_scheduled_event_id: objects.Snowflake,

	-- ID of the guild scheduled event
	user_id: objects.Snowflake,

	-- ID of the user
	guild_id: objects.Snowflake
}>

Payload<{guild_scheduled_event_id: objects.Snowflake, user_id: objects.Snowflake, guild_id: objects.Snowflake}>

IntegrationCreatePayload

https://discord.com/developers/docs/topics/gateway-events#integration-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#integration-create
type IntegrationCreatePayload = Payload<objects.IntegrationObject & {
	guild_id: objects.Snowflake?
}>

Payload<(objects.IntegrationObject & {guild_id: objects.Snowflake?})>

IntegrationUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#integration-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#integration-update
type IntegrationUpdatePayload = Payload<objects.IntegrationObject & {
	guild_id: objects.Snowflake?
}>

Payload<(objects.IntegrationObject & {guild_id: objects.Snowflake?})>

IntegrationDeletePayload

https://discord.com/developers/docs/topics/gateway-events#integration-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#integration-delete
type IntegrationDeletePayload = Payload<objects.IntegrationObject & {
	id: objects.Snowflake?,

	-- Integration ID
	guild_id: objects.Snowflake,

	-- ID of the guild
	application_id: objects.Snowflake?
}>

Payload<(objects.IntegrationObject & {id: objects.Snowflake?, guild_id: objects.Snowflake, application_id: objects.Snowflake?})>

InteractionCreatePayload

https://discord.com/developers/docs/topics/gateway-events#interaction-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#interaction-create
type InteractionCreatePayload = Payload<objects.InteractionObject>

Payload<objects.InteractionObject>

InviteCreatePayload

https://discord.com/developers/docs/topics/gateway-events#invite-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#invite-create
type InviteCreatePayload = Payload<{
	channel_id: objects.Snowflake,

	-- Channel the invite is for
	code: string,

	-- Unique invite code
	created_at: string,

	-- Time at which the invite was created
	guild_id: objects.Snowflake?,

	-- Guild of the invite
	inviter: objects.UserObject?,

	-- User that created the invite
	max_age: number,

	-- How long the invite is valid for (in seconds)
	max_uses: number,

	-- Maximum number of times the invite can be used
	target_type: objects.InviteTargetTypes?,

	-- Type of target for this voice channel invite
	target_user: objects.UserObject?,

	-- User whose stream to display for this voice channel stream invite
	target_application: objects.ApplicationObject?,

	-- Embedded application to open for this voice channel embedded application invite
	temporary: boolean,

	-- Whether or not the invite is temporary (invited users will be kicked on disconnect unless they're assigned a role)
	uses: number
}>

Payload<{channel_id: objects.Snowflake, code: string, created_at: string, guild_id: objects.Snowflake?, inviter: objects.UserObject?, max_age: number, max_uses: number, target_type: objects.InviteTargetTypes?, target_user: objects.UserObject?, target_application: objects.ApplicationObject?, temporary: boolean, uses: number}>

InviteDeletePayload

https://discord.com/developers/docs/topics/gateway-events#invite-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#invite-delete
type InviteDeletePayload = Payload<{
	channel_id: objects.Snowflake,

	-- Channel of the invite
	code: string,

	-- Unique invite code
	guild_id: objects.Snowflake?
}>

Payload<{channel_id: objects.Snowflake, code: string, guild_id: objects.Snowflake?}>

MessageCreatePayload

https://discord.com/developers/docs/topics/gateway-events#message-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-create
type MessageCreatePayload = Payload<objects.MessageObject & {
	mentions: {objects.UserObject & {
		member: objects.GuildMemberObject
	}},

	-- Users specifically mentioned in the message
	member: objects.GuildMemberObject?,

	-- Member properties for this message's author. Missing for ephemeral messages and messages from webhooks
	guild_id: objects.Snowflake?
}>

Payload<(objects.MessageObject & {mentions: {(objects.UserObject & {member: objects.GuildMemberObject})}, member: objects.GuildMemberObject?, guild_id: objects.Snowflake?})>

MessageUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#message-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-update
type MessageUpdatePayload = Payload<objects.MessageObject & {
	mentions: {objects.UserObject & {
		member: objects.GuildMemberObject
	}},

	-- Users specifically mentioned in the message
	member: objects.GuildMemberObject?,

	-- Member properties for this message's author. Missing for ephemeral messages and messages from webhooks
	guild_id: objects.Snowflake?
}>

Payload<(objects.MessageObject & {mentions: {(objects.UserObject & {member: objects.GuildMemberObject})}, member: objects.GuildMemberObject?, guild_id: objects.Snowflake?})>

MessageDeletePayload

https://discord.com/developers/docs/topics/gateway-events#message-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-delete
type MessageDeletePayload = Payload<{
	id: objects.Snowflake,

	-- ID of the messages
	channel_id: objects.Snowflake,

	-- ID of the channel
	guild_id: objects.Snowflake?
}>

Payload<{id: objects.Snowflake, channel_id: objects.Snowflake, guild_id: objects.Snowflake?}>

MessageDeleteBulkPayload

https://discord.com/developers/docs/topics/gateway-events#message-delete-bulk

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-delete-bulk
type MessageDeleteBulkPayload = Payload<{
	ids: {objects.Snowflake},

	-- IDs of the messages
	channel_id: objects.Snowflake,

	-- ID of the channel
	guild_id: objects.Snowflake?
}>

Payload<{ids: {objects.Snowflake}, channel_id: objects.Snowflake, guild_id: objects.Snowflake?}>

MessageReactionAddPayload

https://discord.com/developers/docs/topics/gateway-events#message-reaction-add

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-reaction-add
type MessageReactionAddPayload = Payload<{
	user_id: objects.Snowflake,

	-- ID of the user
	channel_id: objects.Snowflake,

	-- ID of the channel
	message_id: objects.Snowflake,

	-- ID of the message
	guild_id: objects.Snowflake?,

	-- ID of the guild
	member: objects.GuildMemberObject?,

	-- Member who reacted if this happened in a guild
	emoji: objects.EmojiObject,

	-- Emoji used to react - example
	message_author_id: objects.Snowflake?,

	-- ID of the user who authored the message which was reacted to
	burst: boolean,

	-- true if this is a super-reaction
	burst_colors: {string},

	-- Colors used for super-reaction animation in "#rrggbb" format
	type: objects.ReactionType
}>

Payload<{user_id: objects.Snowflake, channel_id: objects.Snowflake, message_id: objects.Snowflake, guild_id: objects.Snowflake?, member: objects.GuildMemberObject?, emoji: objects.EmojiObject, message_author_id: objects.Snowflake?, burst: boolean, burst_colors: {string}, type: objects.ReactionType}>

MessageReactionRemovePayload

https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove
type MessageReactionRemovePayload = Payload<{
	user_id: objects.Snowflake,

	-- ID of the user
	channel_id: objects.Snowflake,

	-- ID of the channel
	message_id: objects.Snowflake,

	-- ID of the message
	guild_id: objects.Snowflake?,

	-- ID of the guild
	emoji: objects.EmojiObject,

	-- Emoji used to react - example
	burst: boolean,

	-- true if this was a super-reaction
	type: objects.ReactionType
}>

Payload<{user_id: objects.Snowflake, channel_id: objects.Snowflake, message_id: objects.Snowflake, guild_id: objects.Snowflake?, emoji: objects.EmojiObject, burst: boolean, type: objects.ReactionType}>

MessageReactionRemoveAllPayload

https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-all

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-all
type MessageReactionRemoveAllPayload = Payload<{
	channel_id: objects.Snowflake,

	-- ID of the channel
	message_id: objects.Snowflake,

	-- ID of the guild
	guild_id: objects.Snowflake?
}>

Payload<{channel_id: objects.Snowflake, message_id: objects.Snowflake, guild_id: objects.Snowflake?}>

MessageReactionRemoveEmojiPayload

https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-emoji

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-emoji
type MessageReactionRemoveEmojiPayload = Payload<{
	channel_id: objects.Snowflake,

	-- ID of the channel
	message_id: objects.Snowflake,

	-- ID of the guild
	guild_id: objects.Snowflake?,

	-- ID of the message
	emoji: objects.EmojiObject
}>

Payload<{channel_id: objects.Snowflake, message_id: objects.Snowflake, guild_id: objects.Snowflake?, emoji: objects.EmojiObject}>

PresenceUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#presence-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#presence-update
type PresenceUpdatePayload = Payload<{
	user: objects.UserObject,

	-- User whose presence is being updated
	guild_id: objects.Snowflake,

	-- ID of the guild
	status: string,

	-- Either "idle", "dnd", "online", or "offline"
	activities: {objects.ActivityObject},

	-- User's current activities
	client_status: objects.ClientStatusObject
}>

Payload<{user: objects.UserObject, guild_id: objects.Snowflake, status: string, activities: {objects.ActivityObject}, client_status: objects.ClientStatusObject}>

StageInstanceCreate

https://discord.com/developers/docs/topics/gateway-events#stage-instance-create

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#stage-instance-create
type StageInstanceCreate = Payload<objects.StageInstanceObject>

Payload<objects.StageInstanceObject>

StageInstanceUpdate

https://discord.com/developers/docs/topics/gateway-events#stage-instance-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#stage-instance-update
type StageInstanceUpdate = Payload<objects.StageInstanceObject>

Payload<objects.StageInstanceObject>

StageInstanceDelete

https://discord.com/developers/docs/topics/gateway-events#stage-instance-delete

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#stage-instance-delete
type StageInstanceDelete = Payload<objects.StageInstanceObject>

Payload<objects.StageInstanceObject>

TypingStartPayload

https://discord.com/developers/docs/topics/gateway-events#typing-start

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#typing-start
type TypingStartPayload = Payload<{
	channel_id: objects.Snowflake,

	-- ID of the channel
	guild_id: objects.Snowflake?,

	-- ID of the guild
	user_id: objects.Snowflake,

	-- ID of the user
	timestamp: number,

	-- Unix time (in seconds) of when the user started typing
	member: objects.GuildMemberObject?
}>

Payload<{channel_id: objects.Snowflake, guild_id: objects.Snowflake?, user_id: objects.Snowflake, timestamp: number, member: objects.GuildMemberObject?}>

UserUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#user-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#user-update
type UserUpdatePayload = Payload<objects.UserObject>

Payload<objects.UserObject>

VoiceStateUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#voice-state-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#voice-state-update
type VoiceStateUpdatePayload = Payload<{
	token: string,

	-- Voice connection token
	guild_id: objects.Snowflake,

	-- Guild this voice server update is for
	endpoint: string?
}>

Payload<{token: string, guild_id: objects.Snowflake, endpoint: string?}>

VoiceServerUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#voice-server-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#voice-server-update
type VoiceServerUpdatePayload = Payload<{
	token: string,

	-- Voice connection token
	guild_id: objects.Snowflake,

	-- Guild this voice server update is for
	endpoint: string?
}>

Payload<{token: string, guild_id: objects.Snowflake, endpoint: string?}>

WebhooksUpdatePayload

https://discord.com/developers/docs/topics/gateway-events#webhooks-update

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#webhooks-update
type WebhooksUpdatePayload = Payload<{
	guild_id: objects.Snowflake,

	-- ID of the guild
	channel_id: objects.Snowflake
}>

Payload<{guild_id: objects.Snowflake, channel_id: objects.Snowflake}>

MessagePollVoteAdd

https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-add

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-add
type MessagePollVoteAdd = Payload<{
	user_id: objects.Snowflake,

	-- ID of the user
	channel_id: objects.Snowflake,

	-- ID of the channel
	message_id: objects.Snowflake,

	-- ID of the message
	guild_id: objects.Snowflake?,

	-- ID of the guild
	answer_id: number
}>

Payload<{user_id: objects.Snowflake, channel_id: objects.Snowflake, message_id: objects.Snowflake, guild_id: objects.Snowflake?, answer_id: number}>

MessagePollVoteRemove

https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-remove

Raw Type
-- https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-remove
type MessagePollVoteRemove = Payload<{
	user_id: objects.Snowflake,

	-- ID of the user
	channel_id: objects.Snowflake,

	-- ID of the channel
	message_id: objects.Snowflake,

	-- ID of the message
	guild_id: objects.Snowflake?,

	-- ID of the guild
	answer_id: number
}>

Payload<{user_id: objects.Snowflake, channel_id: objects.Snowflake, message_id: objects.Snowflake, guild_id: objects.Snowflake?, answer_id: number}>