LogoAntiRaid

@discord-types/gatewayTypes

API reference for @discord-types/gatewayTypes

@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}>

Last updated on

On this page

@discord-types/gatewayTypes
Types
Payload
IdentifyPayload
ResumePayload
HeartbeatPayload
RequestGuildMembersPayload
UpdateVoiceStatePayload
UpdatePresencePayload
HelloPayload
ReadyPayload
ResumedPayload
ReconnectPayload
InvalidSessionPayload
ApplicationCommandPermissionsCreatePayload
ApplicationCommandPermissionsUpdatePayload
ApplicationCommandPermissionsDeletePayload
ApplicationCommandPermissionsExecutionPayload
CreateChannelPayload
UpdateChannelPayload
DeleteChannelPayload
ChannelPinsUpdatePayload
CreateThreadPayload
UpdateThreadPayload
DeleteThreadPayload
ThreadListSyncPayload
ThreadMemberUpdatePayload
ThreadMembersUpdatePayload
EntitlementCreatePayload
EntitlementUpdatePayload
EntitlementDeletePayload
GuildCreatePayload
GuildUpdatePayload
GuildDeletePayload
GuildBanAddPayload
GuildBanRemovePayload
GuildEmojisUpdatePayload
GuildStickersUpdatePayload
GuildIntegrationsUpdatePayload
GuildMemberAddPayload
GuildMemberRemovePayload
GuildMemberUpdatePayload
GuildMembersChunkPayload
GuildRoleCreatePayload
GuildRoleUpdatePayload
GuildRoleDeletePayload
GuildScheduledEventCreatePayload
GuildScheduledEventUpdatePayload
GuildScheduledEventDeletePayload
GuildScheduledEventUserAddPayload
GuildScheduledEventUserRemovePayload
IntegrationCreatePayload
IntegrationUpdatePayload
IntegrationDeletePayload
InteractionCreatePayload
InviteCreatePayload
InviteDeletePayload
MessageCreatePayload
MessageUpdatePayload
MessageDeletePayload
MessageDeleteBulkPayload
MessageReactionAddPayload
MessageReactionRemovePayload
MessageReactionRemoveAllPayload
MessageReactionRemoveEmojiPayload
PresenceUpdatePayload
StageInstanceCreate
StageInstanceUpdate
StageInstanceDelete
TypingStartPayload
UserUpdatePayload
VoiceStateUpdatePayload
VoiceServerUpdatePayload
WebhooksUpdatePayload
MessagePollVoteAdd
MessagePollVoteRemove