dfx 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/.babel.cjs.json +11 -0
  2. package/.babel.mjs.json +10 -0
  3. package/.envrc +1 -0
  4. package/.gitmodules +3 -0
  5. package/.husky/pre-commit +2 -0
  6. package/.oxlintrc.json +72 -0
  7. package/.prettierignore +0 -0
  8. package/.prettierrc.json +5 -0
  9. package/.tool-versions +1 -0
  10. package/.vscode/debug.cjs +8 -0
  11. package/.vscode/launch.json +23 -0
  12. package/.vscode/settings.json +29 -0
  13. package/.vscode/tasks.json +44 -0
  14. package/AGENTS.md +15 -0
  15. package/CHANGELOG.md +1566 -0
  16. package/examples/.env.example +5 -0
  17. package/examples/interactions.ts +79 -0
  18. package/examples/readme.ts +56 -0
  19. package/examples/registry.ts +66 -0
  20. package/flake.lock +27 -0
  21. package/flake.nix +21 -0
  22. package/lerna.json +12 -0
  23. package/package.json +79 -35
  24. package/pnpm-workspace.yaml +7 -0
  25. package/scripts/generate-client.sh +10 -0
  26. package/scripts/worktree-setup.sh +8 -0
  27. package/test/index.test.ts +5 -0
  28. package/vitest.config.ts +22 -0
  29. package/Cache/driver.d.ts +0 -24
  30. package/Cache/driver.d.ts.map +0 -1
  31. package/Cache/driver.js +0 -11
  32. package/Cache/driver.js.map +0 -1
  33. package/Cache/memory.d.ts +0 -5
  34. package/Cache/memory.d.ts.map +0 -1
  35. package/Cache/memory.js +0 -57
  36. package/Cache/memory.js.map +0 -1
  37. package/Cache/memoryTTL.d.ts +0 -23
  38. package/Cache/memoryTTL.d.ts.map +0 -1
  39. package/Cache/memoryTTL.js +0 -128
  40. package/Cache/memoryTTL.js.map +0 -1
  41. package/Cache/prelude.d.ts +0 -32
  42. package/Cache/prelude.d.ts.map +0 -1
  43. package/Cache/prelude.js +0 -143
  44. package/Cache/prelude.js.map +0 -1
  45. package/Cache.d.ts +0 -81
  46. package/Cache.d.ts.map +0 -1
  47. package/Cache.js +0 -145
  48. package/Cache.js.map +0 -1
  49. package/DiscordConfig.d.ts +0 -35
  50. package/DiscordConfig.d.ts.map +0 -1
  51. package/DiscordConfig.js +0 -43
  52. package/DiscordConfig.js.map +0 -1
  53. package/DiscordGateway/DiscordWS.d.ts +0 -37
  54. package/DiscordGateway/DiscordWS.d.ts.map +0 -1
  55. package/DiscordGateway/DiscordWS.js +0 -86
  56. package/DiscordGateway/DiscordWS.js.map +0 -1
  57. package/DiscordGateway/Messaging.d.ts +0 -587
  58. package/DiscordGateway/Messaging.d.ts.map +0 -1
  59. package/DiscordGateway/Messaging.js +0 -43
  60. package/DiscordGateway/Messaging.js.map +0 -1
  61. package/DiscordGateway/Shard/StateStore.d.ts +0 -24
  62. package/DiscordGateway/Shard/StateStore.d.ts.map +0 -1
  63. package/DiscordGateway/Shard/StateStore.js +0 -49
  64. package/DiscordGateway/Shard/StateStore.js.map +0 -1
  65. package/DiscordGateway/Shard/heartbeats.d.ts +0 -8
  66. package/DiscordGateway/Shard/heartbeats.d.ts.map +0 -1
  67. package/DiscordGateway/Shard/heartbeats.js +0 -33
  68. package/DiscordGateway/Shard/heartbeats.js.map +0 -1
  69. package/DiscordGateway/Shard/identify.d.ts +0 -12
  70. package/DiscordGateway/Shard/identify.d.ts.map +0 -1
  71. package/DiscordGateway/Shard/identify.js +0 -37
  72. package/DiscordGateway/Shard/identify.js.map +0 -1
  73. package/DiscordGateway/Shard/sendEvents.d.ts +0 -8
  74. package/DiscordGateway/Shard/sendEvents.d.ts.map +0 -1
  75. package/DiscordGateway/Shard/sendEvents.js +0 -39
  76. package/DiscordGateway/Shard/sendEvents.js.map +0 -1
  77. package/DiscordGateway/Shard/utils.d.ts +0 -6
  78. package/DiscordGateway/Shard/utils.d.ts.map +0 -1
  79. package/DiscordGateway/Shard/utils.js +0 -11
  80. package/DiscordGateway/Shard/utils.js.map +0 -1
  81. package/DiscordGateway/Shard.d.ts +0 -29
  82. package/DiscordGateway/Shard.d.ts.map +0 -1
  83. package/DiscordGateway/Shard.js +0 -155
  84. package/DiscordGateway/Shard.js.map +0 -1
  85. package/DiscordGateway/ShardStore.d.ts +0 -19
  86. package/DiscordGateway/ShardStore.d.ts.map +0 -1
  87. package/DiscordGateway/ShardStore.js +0 -32
  88. package/DiscordGateway/ShardStore.js.map +0 -1
  89. package/DiscordGateway/Sharder.d.ts +0 -14
  90. package/DiscordGateway/Sharder.d.ts.map +0 -1
  91. package/DiscordGateway/Sharder.js +0 -75
  92. package/DiscordGateway/Sharder.js.map +0 -1
  93. package/DiscordGateway.d.ts +0 -33
  94. package/DiscordGateway.d.ts.map +0 -1
  95. package/DiscordGateway.js +0 -28
  96. package/DiscordGateway.js.map +0 -1
  97. package/DiscordREST/Generated.d.ts +0 -5577
  98. package/DiscordREST/Generated.d.ts.map +0 -1
  99. package/DiscordREST/Generated.js +0 -2480
  100. package/DiscordREST/Generated.js.map +0 -1
  101. package/DiscordREST/utils.d.ts +0 -14
  102. package/DiscordREST/utils.d.ts.map +0 -1
  103. package/DiscordREST/utils.js +0 -32
  104. package/DiscordREST/utils.js.map +0 -1
  105. package/DiscordREST.d.ts +0 -22
  106. package/DiscordREST.d.ts.map +0 -1
  107. package/DiscordREST.js +0 -128
  108. package/DiscordREST.js.map +0 -1
  109. package/Helpers/flags.d.ts +0 -28
  110. package/Helpers/flags.d.ts.map +0 -1
  111. package/Helpers/flags.js +0 -57
  112. package/Helpers/flags.js.map +0 -1
  113. package/Helpers/intents.d.ts +0 -25
  114. package/Helpers/intents.d.ts.map +0 -1
  115. package/Helpers/intents.js +0 -34
  116. package/Helpers/intents.js.map +0 -1
  117. package/Helpers/interactions.d.ts +0 -116
  118. package/Helpers/interactions.d.ts.map +0 -1
  119. package/Helpers/interactions.js +0 -143
  120. package/Helpers/interactions.js.map +0 -1
  121. package/Helpers/members.d.ts +0 -10
  122. package/Helpers/members.d.ts.map +0 -1
  123. package/Helpers/members.js +0 -17
  124. package/Helpers/members.js.map +0 -1
  125. package/Helpers/permissions.d.ts +0 -42
  126. package/Helpers/permissions.d.ts.map +0 -1
  127. package/Helpers/permissions.js +0 -97
  128. package/Helpers/permissions.js.map +0 -1
  129. package/Helpers/ui.d.ts +0 -105
  130. package/Helpers/ui.d.ts.map +0 -1
  131. package/Helpers/ui.js +0 -162
  132. package/Helpers/ui.js.map +0 -1
  133. package/Interactions/builder.d.ts +0 -48
  134. package/Interactions/builder.d.ts.map +0 -1
  135. package/Interactions/builder.js +0 -64
  136. package/Interactions/builder.js.map +0 -1
  137. package/Interactions/commandHelper.d.ts +0 -83
  138. package/Interactions/commandHelper.d.ts.map +0 -1
  139. package/Interactions/commandHelper.js +0 -57
  140. package/Interactions/commandHelper.js.map +0 -1
  141. package/Interactions/context.d.ts +0 -53
  142. package/Interactions/context.d.ts.map +0 -1
  143. package/Interactions/context.js +0 -47
  144. package/Interactions/context.js.map +0 -1
  145. package/Interactions/definitions.d.ts +0 -43
  146. package/Interactions/definitions.d.ts.map +0 -1
  147. package/Interactions/definitions.js +0 -67
  148. package/Interactions/definitions.js.map +0 -1
  149. package/Interactions/error.d.ts +0 -2
  150. package/Interactions/error.d.ts.map +0 -1
  151. package/Interactions/error.js +0 -8
  152. package/Interactions/error.js.map +0 -1
  153. package/Interactions/gateway.d.ts +0 -20
  154. package/Interactions/gateway.d.ts.map +0 -1
  155. package/Interactions/gateway.js +0 -92
  156. package/Interactions/gateway.js.map +0 -1
  157. package/Interactions/handlers.d.ts +0 -15
  158. package/Interactions/handlers.d.ts.map +0 -1
  159. package/Interactions/handlers.js +0 -73
  160. package/Interactions/handlers.js.map +0 -1
  161. package/Interactions/index.d.ts +0 -17
  162. package/Interactions/index.d.ts.map +0 -1
  163. package/Interactions/index.js +0 -94
  164. package/Interactions/index.js.map +0 -1
  165. package/Interactions/utils.d.ts +0 -61
  166. package/Interactions/utils.d.ts.map +0 -1
  167. package/Interactions/utils.js +0 -35
  168. package/Interactions/utils.js.map +0 -1
  169. package/Interactions/webhook.d.ts +0 -71
  170. package/Interactions/webhook.d.ts.map +0 -1
  171. package/Interactions/webhook.js +0 -89
  172. package/Interactions/webhook.js.map +0 -1
  173. package/RateLimit/memory.d.ts +0 -3
  174. package/RateLimit/memory.d.ts.map +0 -1
  175. package/RateLimit/memory.js +0 -47
  176. package/RateLimit/memory.js.map +0 -1
  177. package/RateLimit/utils.d.ts +0 -3
  178. package/RateLimit/utils.d.ts.map +0 -1
  179. package/RateLimit/utils.js +0 -25
  180. package/RateLimit/utils.js.map +0 -1
  181. package/RateLimit.d.ts +0 -30
  182. package/RateLimit.d.ts.map +0 -1
  183. package/RateLimit.js +0 -37
  184. package/RateLimit.js.map +0 -1
  185. package/gateway.d.ts +0 -19
  186. package/gateway.d.ts.map +0 -1
  187. package/gateway.js +0 -72
  188. package/gateway.js.map +0 -1
  189. package/index.d.ts +0 -18
  190. package/index.d.ts.map +0 -1
  191. package/index.js +0 -71
  192. package/index.js.map +0 -1
  193. package/mjs/Cache/driver.mjs +0 -3
  194. package/mjs/Cache/driver.mjs.map +0 -1
  195. package/mjs/Cache/memory.mjs +0 -48
  196. package/mjs/Cache/memory.mjs.map +0 -1
  197. package/mjs/Cache/memoryTTL.mjs +0 -119
  198. package/mjs/Cache/memoryTTL.mjs.map +0 -1
  199. package/mjs/Cache/prelude.mjs +0 -131
  200. package/mjs/Cache/prelude.mjs.map +0 -1
  201. package/mjs/Cache.mjs +0 -90
  202. package/mjs/Cache.mjs.map +0 -1
  203. package/mjs/DiscordConfig.mjs +0 -32
  204. package/mjs/DiscordConfig.mjs.map +0 -1
  205. package/mjs/DiscordGateway/DiscordWS.mjs +0 -77
  206. package/mjs/DiscordGateway/DiscordWS.mjs.map +0 -1
  207. package/mjs/DiscordGateway/Messaging.mjs +0 -35
  208. package/mjs/DiscordGateway/Messaging.mjs.map +0 -1
  209. package/mjs/DiscordGateway/Shard/StateStore.mjs +0 -41
  210. package/mjs/DiscordGateway/Shard/StateStore.mjs.map +0 -1
  211. package/mjs/DiscordGateway/Shard/heartbeats.mjs +0 -25
  212. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +0 -1
  213. package/mjs/DiscordGateway/Shard/identify.mjs +0 -29
  214. package/mjs/DiscordGateway/Shard/identify.mjs.map +0 -1
  215. package/mjs/DiscordGateway/Shard/sendEvents.mjs +0 -26
  216. package/mjs/DiscordGateway/Shard/sendEvents.mjs.map +0 -1
  217. package/mjs/DiscordGateway/Shard/utils.mjs +0 -3
  218. package/mjs/DiscordGateway/Shard/utils.mjs.map +0 -1
  219. package/mjs/DiscordGateway/Shard.mjs +0 -147
  220. package/mjs/DiscordGateway/Shard.mjs.map +0 -1
  221. package/mjs/DiscordGateway/ShardStore.mjs +0 -24
  222. package/mjs/DiscordGateway/ShardStore.mjs.map +0 -1
  223. package/mjs/DiscordGateway/Sharder.mjs +0 -67
  224. package/mjs/DiscordGateway/Sharder.mjs.map +0 -1
  225. package/mjs/DiscordGateway.mjs +0 -21
  226. package/mjs/DiscordGateway.mjs.map +0 -1
  227. package/mjs/DiscordREST/Generated.mjs +0 -2471
  228. package/mjs/DiscordREST/Generated.mjs.map +0 -1
  229. package/mjs/DiscordREST/utils.mjs +0 -21
  230. package/mjs/DiscordREST/utils.mjs.map +0 -1
  231. package/mjs/DiscordREST.mjs +0 -119
  232. package/mjs/DiscordREST.mjs.map +0 -1
  233. package/mjs/Helpers/flags.mjs +0 -45
  234. package/mjs/Helpers/flags.mjs.map +0 -1
  235. package/mjs/Helpers/intents.mjs +0 -27
  236. package/mjs/Helpers/intents.mjs.map +0 -1
  237. package/mjs/Helpers/interactions.mjs +0 -115
  238. package/mjs/Helpers/interactions.mjs.map +0 -1
  239. package/mjs/Helpers/members.mjs +0 -9
  240. package/mjs/Helpers/members.mjs.map +0 -1
  241. package/mjs/Helpers/permissions.mjs +0 -84
  242. package/mjs/Helpers/permissions.mjs.map +0 -1
  243. package/mjs/Helpers/ui.mjs +0 -137
  244. package/mjs/Helpers/ui.mjs.map +0 -1
  245. package/mjs/Interactions/builder.mjs +0 -56
  246. package/mjs/Interactions/builder.mjs.map +0 -1
  247. package/mjs/Interactions/commandHelper.mjs +0 -49
  248. package/mjs/Interactions/commandHelper.mjs.map +0 -1
  249. package/mjs/Interactions/context.mjs +0 -28
  250. package/mjs/Interactions/context.mjs.map +0 -1
  251. package/mjs/Interactions/definitions.mjs +0 -51
  252. package/mjs/Interactions/definitions.mjs.map +0 -1
  253. package/mjs/Interactions/error.mjs +0 -2
  254. package/mjs/Interactions/error.mjs.map +0 -1
  255. package/mjs/Interactions/gateway.mjs +0 -82
  256. package/mjs/Interactions/gateway.mjs.map +0 -1
  257. package/mjs/Interactions/handlers.mjs +0 -64
  258. package/mjs/Interactions/handlers.mjs.map +0 -1
  259. package/mjs/Interactions/index.mjs +0 -11
  260. package/mjs/Interactions/index.mjs.map +0 -1
  261. package/mjs/Interactions/utils.mjs +0 -26
  262. package/mjs/Interactions/utils.mjs.map +0 -1
  263. package/mjs/Interactions/webhook.mjs +0 -75
  264. package/mjs/Interactions/webhook.mjs.map +0 -1
  265. package/mjs/RateLimit/memory.mjs +0 -39
  266. package/mjs/RateLimit/memory.mjs.map +0 -1
  267. package/mjs/RateLimit/utils.mjs +0 -18
  268. package/mjs/RateLimit/utils.mjs.map +0 -1
  269. package/mjs/RateLimit.mjs +0 -28
  270. package/mjs/RateLimit.mjs.map +0 -1
  271. package/mjs/gateway.mjs +0 -19
  272. package/mjs/gateway.mjs.map +0 -1
  273. package/mjs/index.mjs +0 -18
  274. package/mjs/index.mjs.map +0 -1
  275. package/mjs/types.mjs +0 -356
  276. package/mjs/types.mjs.map +0 -1
  277. package/mjs/utils/Effect.mjs +0 -44
  278. package/mjs/utils/Effect.mjs.map +0 -1
  279. package/mjs/version.mjs +0 -2
  280. package/mjs/version.mjs.map +0 -1
  281. package/mjs/webhooks.mjs +0 -6
  282. package/mjs/webhooks.mjs.map +0 -1
  283. package/src/version.ts +0 -1
  284. package/types.d.ts +0 -2458
  285. package/types.d.ts.map +0 -1
  286. package/types.js +0 -408
  287. package/types.js.map +0 -1
  288. package/utils/Effect.d.ts +0 -5
  289. package/utils/Effect.d.ts.map +0 -1
  290. package/utils/Effect.js +0 -53
  291. package/utils/Effect.js.map +0 -1
  292. package/version.d.ts +0 -2
  293. package/version.d.ts.map +0 -1
  294. package/version.js +0 -8
  295. package/version.js.map +0 -1
  296. package/webhooks.d.ts +0 -8
  297. package/webhooks.d.ts.map +0 -1
  298. package/webhooks.js +0 -55
  299. package/webhooks.js.map +0 -1
package/types.d.ts DELETED
@@ -1,2458 +0,0 @@
1
- import type * as Rest from "./DiscordREST/Generated.ts";
2
- import type { APIInteraction } from "discord-api-types/v10";
3
- export * from "./DiscordREST/Generated.ts";
4
- export type { APIInteraction, APIBaseApplicationCommandInteractionData, APIApplicationCommandAutocompleteInteraction, APIAutocompleteApplicationCommandInteractionData, APIApplicationCommandInteractionDataOption, APIApplicationCommandInteraction, APIApplicationCommandSubcommandOption, APIApplicationCommandInteractionDataSubcommandOption, APIChatInputApplicationCommandInteraction, APIChatInputApplicationCommandInteractionData, APIChatInputApplicationCommandDMInteraction, APIChatInputApplicationCommandGuildInteraction, APIMessageApplicationCommandInteraction, APIMessageComponentInteraction, APIMessageComponentInteractionData, APIModalSubmitInteraction, APIModalSubmission, APIPingInteraction, } from "discord-api-types/v10";
5
- export { MessageFlags, PermissionFlagsBits as Permissions, EmbedType, } from "discord-api-types/v10";
6
- export type Snowflake = Rest.SnowflakeType;
7
- export type APIApplication = Rest.ApplicationResponse;
8
- export type APIApplicationCommandPermission = Rest.ApplicationCommandPermission;
9
- export type APIAutoModerationRule = Rest.GetAutoModerationRule200;
10
- export type APIAutoModerationActionMetadata = Rest.BlockMessageActionMetadata | Rest.QuarantineUserActionMetadata | Rest.FlagToChannelActionMetadata | Rest.UserCommunicationDisabledActionMetadata;
11
- interface APIAutoModerationAction {
12
- readonly type: Rest.AutomodActionType;
13
- readonly metadata?: APIAutoModerationActionMetadata;
14
- }
15
- export type APIChannel = Rest.GetChannel200;
16
- export type APIEmoji = Rest.EmojiResponse;
17
- export type APIGuild = Rest.GuildResponse;
18
- export type APIGuildIntegration = Rest.ListGuildIntegrations200[number];
19
- export type APIGuildMember = Rest.GuildMemberResponse;
20
- export type APIGuildScheduledEvent = Rest.ScheduledEventResponse;
21
- export type APIMessage = Rest.MessageResponse;
22
- export type APIRole = Rest.GuildRoleResponse;
23
- export type APIStageInstance = Rest.StageInstanceResponse;
24
- export type APISticker = Rest.GuildStickerResponse;
25
- export type APIThreadChannel = Rest.ThreadResponse;
26
- export type APIThreadMember = Rest.ThreadMemberResponse;
27
- export interface APIUnavailableGuild {
28
- readonly id: Snowflake;
29
- readonly unavailable: boolean;
30
- }
31
- export type APIUser = Rest.UserResponse;
32
- export type APIVoiceState = Rest.VoiceStateResponse;
33
- export type InviteTargetType = Rest.InviteTargetTypes;
34
- export type AutoModerationRuleTriggerType = Rest.AutomodTriggerType;
35
- export type GatewayAuditLogEntry = Rest.AuditLogEntryResponse;
36
- export type APIAuditLogEntry = Rest.AuditLogEntryResponse;
37
- export type APIEntitlement = Rest.EntitlementResponse;
38
- export type ChannelType = Rest.ChannelTypes;
39
- export interface APISubscription {
40
- /**
41
- * ID of the subscription
42
- */
43
- id: Snowflake;
44
- /**
45
- * ID of the user who is subscribed
46
- */
47
- user_id: Snowflake;
48
- /**
49
- * List of SKUs subscribed to
50
- */
51
- sku_ids: Array<Snowflake>;
52
- /**
53
- * List of entitlements granted for this subscription
54
- */
55
- entitlement_ids: Array<Snowflake>;
56
- /**
57
- * List of SKUs that this user will be subscribed to at renewal
58
- */
59
- renewal_sku_ids: Array<Snowflake> | null;
60
- /**
61
- * Start of the current subscription period
62
- */
63
- current_period_start: string;
64
- /**
65
- * End of the current subscription period
66
- */
67
- current_period_end: string;
68
- /**
69
- * Current status of the subscription
70
- */
71
- status: SubscriptionStatus;
72
- /**
73
- * When the subscription was canceled
74
- */
75
- canceled_at: string | null;
76
- /**
77
- * ISO3166-1 alpha-2 country code of the payment source used to purchase the subscription. Missing unless queried with a private OAuth scope.
78
- */
79
- country?: string;
80
- }
81
- export declare enum SubscriptionStatus {
82
- /**
83
- * Subscription is active and scheduled to renew.
84
- */
85
- Active = 0,
86
- /**
87
- * Subscription is active but will not renew.
88
- */
89
- Ending = 1,
90
- /**
91
- * Subscription is inactive and not being charged.
92
- */
93
- Inactive = 2
94
- }
95
- export type APISoundboardSound = Rest.SoundboardSoundResponse;
96
- export type GuildChannelType = Rest.GuildChannelResponse["type"];
97
- export type ThreadChannelType = Rest.ThreadResponse["type"];
98
- export type ReactionType = Rest.ReactionTypes;
99
- type RawGatewayPresenceUpdate = GatewayPresenceUpdate;
100
- type RawGatewayThreadListSync = GatewayThreadListSync;
101
- type RawGatewayThreadMembersUpdate = GatewayThreadMembersUpdate;
102
- type _Nullable<T> = {
103
- [P in keyof T]: T[P] | null;
104
- };
105
- export interface InteractionDataResolved {
106
- readonly users?: Record<Snowflake, Rest.UserResponse>;
107
- readonly roles?: Record<Snowflake, Rest.GuildRoleResponse>;
108
- readonly members?: Record<Snowflake, Rest.GuildMemberResponse>;
109
- readonly channels?: Record<Snowflake, Rest.GuildChannelResponse>;
110
- readonly messages?: Record<Snowflake, Rest.MessageResponse>;
111
- readonly attachments?: Record<Snowflake, Rest.AttachmentResponse>;
112
- }
113
- export type MessageComponent = Rest.MessageResponse["components"][number];
114
- export type AllComponents = MessageComponent | (Rest.ActionRowComponentResponse["components"] & {})[number];
115
- export type DistributedGatewayDispatchPayload = GatewayDispatchPayload extends infer Payload ? Payload extends _DataPayload<infer Event, infer D> ? Event extends Event ? _DataPayload<Event, D> : never : Payload : never;
116
- /**
117
- * The following types have been taken from the discord-api-types package under
118
- * the MIT license.
119
- */
120
- /**
121
- * @see {@link https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-opcodes}
122
- */
123
- export declare enum GatewayOpcodes {
124
- /**
125
- * An event was dispatched
126
- */
127
- Dispatch = 0,
128
- /**
129
- * A bidirectional opcode to maintain an active gateway connection.
130
- * Fired periodically by the client, or fired by the gateway to request an immediate heartbeat from the client.
131
- */
132
- Heartbeat = 1,
133
- /**
134
- * Starts a new session during the initial handshake
135
- */
136
- Identify = 2,
137
- /**
138
- * Update the client's presence
139
- */
140
- PresenceUpdate = 3,
141
- /**
142
- * Used to join/leave or move between voice channels
143
- */
144
- VoiceStateUpdate = 4,
145
- /**
146
- * Resume a previous session that was disconnected
147
- */
148
- Resume = 6,
149
- /**
150
- * You should attempt to reconnect and resume immediately
151
- */
152
- Reconnect = 7,
153
- /**
154
- * Request information about offline guild members in a large guild
155
- */
156
- RequestGuildMembers = 8,
157
- /**
158
- * The session has been invalidated. You should reconnect and identify/resume accordingly
159
- */
160
- InvalidSession = 9,
161
- /**
162
- * Sent immediately after connecting, contains the `heartbeat_interval` to use
163
- */
164
- Hello = 10,
165
- /**
166
- * Sent in response to receiving a heartbeat to acknowledge that it has been received
167
- */
168
- HeartbeatAck = 11,
169
- /**
170
- * Request information about soundboard sounds in a set of guilds
171
- */
172
- RequestSoundboardSounds = 31
173
- }
174
- /**
175
- * @see {@link https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-close-event-codes}
176
- */
177
- export declare enum GatewayCloseCodes {
178
- /**
179
- * We're not sure what went wrong. Try reconnecting?
180
- */
181
- UnknownError = 4000,
182
- /**
183
- * You sent an invalid Gateway opcode or an invalid payload for an opcode. Don't do that!
184
- *
185
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#payload-structure}
186
- */
187
- UnknownOpcode = 4001,
188
- /**
189
- * You sent an invalid payload to us. Don't do that!
190
- *
191
- * @see {@link https://discord.com/developers/docs/topics/gateway#sending-events}
192
- */
193
- DecodeError = 4002,
194
- /**
195
- * You sent us a payload prior to identifying
196
- *
197
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#identify}
198
- */
199
- NotAuthenticated = 4003,
200
- /**
201
- * The account token sent with your identify payload is incorrect
202
- *
203
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#identify}
204
- */
205
- AuthenticationFailed = 4004,
206
- /**
207
- * You sent more than one identify payload. Don't do that!
208
- */
209
- AlreadyAuthenticated = 4005,
210
- /**
211
- * The sequence sent when resuming the session was invalid. Reconnect and start a new session
212
- *
213
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#resume}
214
- */
215
- InvalidSeq = 4007,
216
- /**
217
- * Woah nelly! You're sending payloads to us too quickly. Slow it down! You will be disconnected on receiving this
218
- */
219
- RateLimited = 4008,
220
- /**
221
- * Your session timed out. Reconnect and start a new one
222
- */
223
- SessionTimedOut = 4009,
224
- /**
225
- * You sent us an invalid shard when identifying
226
- *
227
- * @see {@link https://discord.com/developers/docs/topics/gateway#sharding}
228
- */
229
- InvalidShard = 4010,
230
- /**
231
- * The session would have handled too many guilds - you are required to shard your connection in order to connect
232
- *
233
- * @see {@link https://discord.com/developers/docs/topics/gateway#sharding}
234
- */
235
- ShardingRequired = 4011,
236
- /**
237
- * You sent an invalid version for the gateway
238
- */
239
- InvalidAPIVersion = 4012,
240
- /**
241
- * You sent an invalid intent for a Gateway Intent. You may have incorrectly calculated the bitwise value
242
- *
243
- * @see {@link https://discord.com/developers/docs/topics/gateway#gateway-intents}
244
- */
245
- InvalidIntents = 4013,
246
- /**
247
- * You sent a disallowed intent for a Gateway Intent. You may have tried to specify an intent that you have not
248
- * enabled or are not whitelisted for
249
- *
250
- * @see {@link https://discord.com/developers/docs/topics/gateway#gateway-intents}
251
- * @see {@link https://discord.com/developers/docs/topics/gateway#privileged-intents}
252
- */
253
- DisallowedIntents = 4014
254
- }
255
- /**
256
- * @see {@link https://discord.com/developers/docs/topics/gateway#list-of-intents}
257
- */
258
- export declare const GatewayIntentBits: {
259
- readonly Guilds: number;
260
- readonly GuildMembers: number;
261
- readonly GuildModeration: number;
262
- readonly GuildExpressions: number;
263
- readonly GuildIntegrations: number;
264
- readonly GuildWebhooks: number;
265
- readonly GuildInvites: number;
266
- readonly GuildVoiceStates: number;
267
- readonly GuildPresences: number;
268
- readonly GuildMessages: number;
269
- readonly GuildMessageReactions: number;
270
- readonly GuildMessageTyping: number;
271
- readonly DirectMessages: number;
272
- readonly DirectMessageReactions: number;
273
- readonly DirectMessageTyping: number;
274
- readonly MessageContent: number;
275
- readonly GuildScheduledEvents: number;
276
- readonly AutoModerationConfiguration: number;
277
- readonly AutoModerationExecution: number;
278
- readonly GuildMessagePolls: number;
279
- readonly DirectMessagePolls: number;
280
- };
281
- export type GatewayIntentBits = (typeof GatewayIntentBits)[keyof typeof GatewayIntentBits];
282
- /**
283
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#receive-events}
284
- */
285
- export declare enum GatewayDispatchEvents {
286
- ApplicationCommandPermissionsUpdate = "APPLICATION_COMMAND_PERMISSIONS_UPDATE",
287
- AutoModerationActionExecution = "AUTO_MODERATION_ACTION_EXECUTION",
288
- AutoModerationRuleCreate = "AUTO_MODERATION_RULE_CREATE",
289
- AutoModerationRuleDelete = "AUTO_MODERATION_RULE_DELETE",
290
- AutoModerationRuleUpdate = "AUTO_MODERATION_RULE_UPDATE",
291
- ChannelCreate = "CHANNEL_CREATE",
292
- ChannelDelete = "CHANNEL_DELETE",
293
- ChannelPinsUpdate = "CHANNEL_PINS_UPDATE",
294
- ChannelUpdate = "CHANNEL_UPDATE",
295
- EntitlementCreate = "ENTITLEMENT_CREATE",
296
- EntitlementDelete = "ENTITLEMENT_DELETE",
297
- EntitlementUpdate = "ENTITLEMENT_UPDATE",
298
- GuildAuditLogEntryCreate = "GUILD_AUDIT_LOG_ENTRY_CREATE",
299
- GuildBanAdd = "GUILD_BAN_ADD",
300
- GuildBanRemove = "GUILD_BAN_REMOVE",
301
- GuildCreate = "GUILD_CREATE",
302
- GuildDelete = "GUILD_DELETE",
303
- GuildEmojisUpdate = "GUILD_EMOJIS_UPDATE",
304
- GuildIntegrationsUpdate = "GUILD_INTEGRATIONS_UPDATE",
305
- GuildMemberAdd = "GUILD_MEMBER_ADD",
306
- GuildMemberRemove = "GUILD_MEMBER_REMOVE",
307
- GuildMembersChunk = "GUILD_MEMBERS_CHUNK",
308
- GuildMemberUpdate = "GUILD_MEMBER_UPDATE",
309
- GuildRoleCreate = "GUILD_ROLE_CREATE",
310
- GuildRoleDelete = "GUILD_ROLE_DELETE",
311
- GuildRoleUpdate = "GUILD_ROLE_UPDATE",
312
- GuildScheduledEventCreate = "GUILD_SCHEDULED_EVENT_CREATE",
313
- GuildScheduledEventDelete = "GUILD_SCHEDULED_EVENT_DELETE",
314
- GuildScheduledEventUpdate = "GUILD_SCHEDULED_EVENT_UPDATE",
315
- GuildScheduledEventUserAdd = "GUILD_SCHEDULED_EVENT_USER_ADD",
316
- GuildScheduledEventUserRemove = "GUILD_SCHEDULED_EVENT_USER_REMOVE",
317
- GuildSoundboardSoundCreate = "GUILD_SOUNDBOARD_SOUND_CREATE",
318
- GuildSoundboardSoundDelete = "GUILD_SOUNDBOARD_SOUND_DELETE",
319
- GuildSoundboardSoundsUpdate = "GUILD_SOUNDBOARD_SOUNDS_UPDATE",
320
- GuildSoundboardSoundUpdate = "GUILD_SOUNDBOARD_SOUND_UPDATE",
321
- SoundboardSounds = "SOUNDBOARD_SOUNDS",
322
- GuildStickersUpdate = "GUILD_STICKERS_UPDATE",
323
- GuildUpdate = "GUILD_UPDATE",
324
- IntegrationCreate = "INTEGRATION_CREATE",
325
- IntegrationDelete = "INTEGRATION_DELETE",
326
- IntegrationUpdate = "INTEGRATION_UPDATE",
327
- InteractionCreate = "INTERACTION_CREATE",
328
- InviteCreate = "INVITE_CREATE",
329
- InviteDelete = "INVITE_DELETE",
330
- MessageCreate = "MESSAGE_CREATE",
331
- MessageDelete = "MESSAGE_DELETE",
332
- MessageDeleteBulk = "MESSAGE_DELETE_BULK",
333
- MessagePollVoteAdd = "MESSAGE_POLL_VOTE_ADD",
334
- MessagePollVoteRemove = "MESSAGE_POLL_VOTE_REMOVE",
335
- MessageReactionAdd = "MESSAGE_REACTION_ADD",
336
- MessageReactionRemove = "MESSAGE_REACTION_REMOVE",
337
- MessageReactionRemoveAll = "MESSAGE_REACTION_REMOVE_ALL",
338
- MessageReactionRemoveEmoji = "MESSAGE_REACTION_REMOVE_EMOJI",
339
- MessageUpdate = "MESSAGE_UPDATE",
340
- PresenceUpdate = "PRESENCE_UPDATE",
341
- Ready = "READY",
342
- Resumed = "RESUMED",
343
- StageInstanceCreate = "STAGE_INSTANCE_CREATE",
344
- StageInstanceDelete = "STAGE_INSTANCE_DELETE",
345
- StageInstanceUpdate = "STAGE_INSTANCE_UPDATE",
346
- SubscriptionCreate = "SUBSCRIPTION_CREATE",
347
- SubscriptionDelete = "SUBSCRIPTION_DELETE",
348
- SubscriptionUpdate = "SUBSCRIPTION_UPDATE",
349
- ThreadCreate = "THREAD_CREATE",
350
- ThreadDelete = "THREAD_DELETE",
351
- ThreadListSync = "THREAD_LIST_SYNC",
352
- ThreadMembersUpdate = "THREAD_MEMBERS_UPDATE",
353
- ThreadMemberUpdate = "THREAD_MEMBER_UPDATE",
354
- ThreadUpdate = "THREAD_UPDATE",
355
- TypingStart = "TYPING_START",
356
- UserUpdate = "USER_UPDATE",
357
- VoiceChannelEffectSend = "VOICE_CHANNEL_EFFECT_SEND",
358
- VoiceServerUpdate = "VOICE_SERVER_UPDATE",
359
- VoiceStateUpdate = "VOICE_STATE_UPDATE",
360
- WebhooksUpdate = "WEBHOOKS_UPDATE"
361
- }
362
- export type GatewaySendPayload = GatewayHeartbeat | GatewayIdentify | GatewayRequestGuildMembers | GatewayRequestSoundboardSounds | GatewayResume | GatewayUpdatePresence | GatewayVoiceStateUpdate;
363
- export type GatewayReceivePayload = GatewayDispatchPayload | GatewayHeartbeatAck | GatewayHeartbeatRequest | GatewayHello | GatewayInvalidSession | GatewayReconnect;
364
- export type GatewayDispatchPayload = GatewayApplicationCommandPermissionsUpdateDispatch | GatewayAutoModerationActionExecutionDispatch | GatewayAutoModerationRuleCreateDispatch | GatewayAutoModerationRuleDeleteDispatch | GatewayAutoModerationRuleModifyDispatch | GatewayChannelModifyDispatch | GatewayChannelPinsUpdateDispatch | GatewayEntitlementModifyDispatch | GatewayGuildAuditLogEntryCreateDispatch | GatewayGuildBanModifyDispatch | GatewayGuildCreateDispatch | GatewayGuildDeleteDispatch | GatewayGuildEmojisUpdateDispatch | GatewayGuildIntegrationsUpdateDispatch | GatewayGuildMemberAddDispatch | GatewayGuildMemberRemoveDispatch | GatewayGuildMembersChunkDispatch | GatewayGuildMemberUpdateDispatch | GatewayGuildModifyDispatch | GatewayGuildRoleCreateDispatch | GatewayGuildRoleDeleteDispatch | GatewayGuildRoleModifyDispatch | GatewayGuildScheduledEventCreateDispatch | GatewayGuildScheduledEventDeleteDispatch | GatewayGuildScheduledEventUpdateDispatch | GatewayGuildScheduledEventUserAddDispatch | GatewayGuildScheduledEventUserRemoveDispatch | GatewayGuildSoundboardSoundCreateDispatch | GatewayGuildSoundboardSoundDeleteDispatch | GatewayGuildSoundboardSoundsUpdateDispatch | GatewayGuildSoundboardSoundUpdateDispatch | GatewayGuildStickersUpdateDispatch | GatewayIntegrationCreateDispatch | GatewayIntegrationDeleteDispatch | GatewayIntegrationUpdateDispatch | GatewayInteractionCreateDispatch | GatewayInviteCreateDispatch | GatewayInviteDeleteDispatch | GatewayMessageCreateDispatch | GatewayMessageDeleteBulkDispatch | GatewayMessageDeleteDispatch | GatewayMessagePollVoteAddDispatch | GatewayMessagePollVoteRemoveDispatch | GatewayMessageReactionAddDispatch | GatewayMessageReactionRemoveAllDispatch | GatewayMessageReactionRemoveDispatch | GatewayMessageReactionRemoveEmojiDispatch | GatewayMessageUpdateDispatch | GatewayPresenceUpdateDispatch | GatewayReadyDispatch | GatewayResumedDispatch | GatewaySoundboardSoundsDispatch | GatewayStageInstanceCreateDispatch | GatewayStageInstanceDeleteDispatch | GatewayStageInstanceUpdateDispatch | GatewaySubscriptionModifyDispatch | GatewayThreadCreateDispatch | GatewayThreadDeleteDispatch | GatewayThreadListSyncDispatch | GatewayThreadMembersUpdateDispatch | GatewayThreadMemberUpdateDispatch | GatewayThreadUpdateDispatch | GatewayTypingStartDispatch | GatewayUserUpdateDispatch | GatewayVoiceChannelEffectSendDispatch | GatewayVoiceServerUpdateDispatch | GatewayVoiceStateUpdateDispatch | GatewayWebhooksUpdateDispatch;
365
- /**
366
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#hello}
367
- */
368
- export interface GatewayHello extends _NonDispatchPayload {
369
- op: GatewayOpcodes.Hello;
370
- d: GatewayHelloData;
371
- }
372
- /**
373
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#hello}
374
- */
375
- export interface GatewayHelloData {
376
- /**
377
- * The interval (in milliseconds) the client should heartbeat with
378
- */
379
- heartbeat_interval: number;
380
- }
381
- /**
382
- * @see {@link https://discord.com/developers/docs/topics/gateway#sending-heartbeats}
383
- */
384
- export interface GatewayHeartbeatRequest extends _NonDispatchPayload {
385
- op: GatewayOpcodes.Heartbeat;
386
- d: never;
387
- }
388
- /**
389
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#heartbeat}
390
- */
391
- export interface GatewayHeartbeatAck extends _NonDispatchPayload {
392
- op: GatewayOpcodes.HeartbeatAck;
393
- d: never;
394
- }
395
- /**
396
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#invalid-session}
397
- */
398
- export interface GatewayInvalidSession extends _NonDispatchPayload {
399
- op: GatewayOpcodes.InvalidSession;
400
- d: GatewayInvalidSessionData;
401
- }
402
- /**
403
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#invalid-session}
404
- */
405
- export type GatewayInvalidSessionData = boolean;
406
- /**
407
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#reconnect}
408
- */
409
- export interface GatewayReconnect extends _NonDispatchPayload {
410
- op: GatewayOpcodes.Reconnect;
411
- d: never;
412
- }
413
- /**
414
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#ready}
415
- */
416
- export type GatewayReadyDispatch = _DataPayload<GatewayDispatchEvents.Ready, GatewayReadyDispatchData>;
417
- /**
418
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#ready}
419
- */
420
- export interface GatewayReadyDispatchData {
421
- /**
422
- * Gateway version
423
- *
424
- * @see {@link https://discord.com/developers/docs/reference#api-versioning}
425
- */
426
- v: number;
427
- /**
428
- * Information about the user including email
429
- *
430
- * @see {@link https://discord.com/developers/docs/resources/user#user-object}
431
- */
432
- user: APIUser;
433
- /**
434
- * The guilds the user is in
435
- *
436
- * @see {@link https://discord.com/developers/docs/resources/guild#unavailable-guild-object}
437
- */
438
- guilds: Array<APIUnavailableGuild>;
439
- /**
440
- * Used for resuming connections
441
- */
442
- session_id: string;
443
- /**
444
- * Gateway url for resuming connections
445
- */
446
- resume_gateway_url: string;
447
- /**
448
- * The shard information associated with this session, if sent when identifying
449
- *
450
- * @see {@link https://discord.com/developers/docs/topics/gateway#sharding}
451
- */
452
- shard?: [shard_id: number, shard_count: number];
453
- /**
454
- * Contains `id` and `flags`
455
- *
456
- * @see {@link https://discord.com/developers/docs/resources/application#application-object}
457
- */
458
- application: Pick<APIApplication, "flags" | "id">;
459
- }
460
- /**
461
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#resumed}
462
- */
463
- export type GatewayResumedDispatch = _DataPayload<GatewayDispatchEvents.Resumed, never>;
464
- /**
465
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
466
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
467
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
468
- */
469
- export type GatewayAutoModerationRuleModifyDispatch = _DataPayload<GatewayDispatchEvents.AutoModerationRuleCreate | GatewayDispatchEvents.AutoModerationRuleDelete | GatewayDispatchEvents.AutoModerationRuleUpdate, GatewayAutoModerationRuleModifyDispatchData>;
470
- /**
471
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
472
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
473
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
474
- */
475
- export type GatewayAutoModerationRuleModifyDispatchData = APIAutoModerationRule;
476
- /**
477
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
478
- */
479
- export type GatewayAutoModerationRuleCreateDispatch = GatewayAutoModerationRuleModifyDispatch;
480
- /**
481
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
482
- */
483
- export type GatewayAutoModerationRuleCreateDispatchData = GatewayAutoModerationRuleModifyDispatchData;
484
- /**
485
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
486
- */
487
- export type GatewayAutoModerationRuleUpdateDispatch = GatewayAutoModerationRuleModifyDispatch;
488
- /**
489
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
490
- */
491
- export type GatewayAutoModerationRuleUpdateDispatchData = GatewayAutoModerationRuleModifyDispatchData;
492
- /**
493
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
494
- */
495
- export type GatewayAutoModerationRuleDeleteDispatch = GatewayAutoModerationRuleModifyDispatch;
496
- /**
497
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
498
- */
499
- export type GatewayAutoModerationRuleDeleteDispatchData = GatewayAutoModerationRuleModifyDispatchData;
500
- /**
501
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-action-execution}
502
- */
503
- export type GatewayAutoModerationActionExecutionDispatch = _DataPayload<GatewayDispatchEvents.AutoModerationActionExecution, GatewayAutoModerationActionExecutionDispatchData>;
504
- /**
505
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-action-execution}
506
- */
507
- export interface GatewayAutoModerationActionExecutionDispatchData {
508
- /**
509
- * The id of the guild in which action was executed
510
- */
511
- guild_id: Snowflake;
512
- /**
513
- * The action which was executed
514
- */
515
- action: APIAutoModerationAction;
516
- /**
517
- * The id of the rule which action belongs to
518
- */
519
- rule_id: Snowflake;
520
- /**
521
- * The trigger type of rule which was triggered
522
- */
523
- rule_trigger_type: AutoModerationRuleTriggerType;
524
- /**
525
- * The id of the user which generated the content which triggered the rule
526
- */
527
- user_id: Snowflake;
528
- /**
529
- * The id of the channel in which user content was posted
530
- */
531
- channel_id?: Snowflake;
532
- /**
533
- * The id of any user message which content belongs to
534
- *
535
- * This field will not be present if message was blocked by AutoMod or content was not part of any message
536
- */
537
- message_id?: Snowflake;
538
- /**
539
- * The id of any system auto moderation messages posted as a result of this action
540
- *
541
- * This field will not be present if this event does not correspond to an action with type {@link AutoModerationActionType.SendAlertMessage}
542
- */
543
- alert_system_message_id?: Snowflake;
544
- /**
545
- * The user generated text content
546
- *
547
- * `MESSAGE_CONTENT` (`1 << 15`) gateway intent is required to receive non-empty values from this field
548
- */
549
- content: string;
550
- /**
551
- * The word or phrase configured in the rule that triggered the rule
552
- */
553
- matched_keyword: string | null;
554
- /**
555
- * The substring in content that triggered the rule
556
- *
557
- * `MESSAGE_CONTENT` (`1 << 15`) gateway intent is required to receive non-empty values from this field
558
- */
559
- matched_content: string | null;
560
- }
561
- /**
562
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#application-command-permissions-update}
563
- */
564
- export type GatewayApplicationCommandPermissionsUpdateDispatch = _DataPayload<GatewayDispatchEvents.ApplicationCommandPermissionsUpdate, GatewayApplicationCommandPermissionsUpdateDispatchData>;
565
- /**
566
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#application-command-permissions-update}
567
- */
568
- export interface GatewayApplicationCommandPermissionsUpdateDispatchData {
569
- /**
570
- * ID of the command or the application ID
571
- */
572
- id: Snowflake;
573
- /**
574
- * ID of the application the command belongs to
575
- */
576
- application_id: Snowflake;
577
- /**
578
- * ID of the guild
579
- */
580
- guild_id: Snowflake;
581
- /**
582
- * Permissions for the command in the guild, max of 100
583
- */
584
- permissions: Array<APIApplicationCommandPermission>;
585
- }
586
- /**
587
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
588
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
589
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
590
- */
591
- export type GatewaySubscriptionModifyDispatch = _DataPayload<GatewayDispatchEvents.SubscriptionCreate | GatewayDispatchEvents.SubscriptionDelete | GatewayDispatchEvents.SubscriptionUpdate, GatewaySubscriptionModifyDispatchData>;
592
- /**
593
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
594
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
595
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
596
- */
597
- export type GatewaySubscriptionModifyDispatchData = APISubscription;
598
- /**
599
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
600
- */
601
- export type GatewaySubscriptionCreateDispatch = GatewaySubscriptionModifyDispatch;
602
- /**
603
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
604
- */
605
- export type GatewaySubscriptionCreateDispatchData = GatewaySubscriptionModifyDispatchData;
606
- /**
607
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
608
- */
609
- export type GatewaySubscriptionUpdateDispatch = GatewaySubscriptionModifyDispatch;
610
- /**
611
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
612
- */
613
- export type GatewaySubscriptionUpdateDispatchData = GatewaySubscriptionModifyDispatchData;
614
- /**
615
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
616
- */
617
- export type GatewaySubscriptionDeleteDispatch = GatewaySubscriptionModifyDispatch;
618
- /**
619
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
620
- */
621
- export type GatewaySubscriptionDeleteDispatchData = GatewaySubscriptionModifyDispatchData;
622
- /**
623
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
624
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
625
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
626
- */
627
- export type GatewayChannelModifyDispatch = _DataPayload<GatewayDispatchEvents.ChannelCreate | GatewayDispatchEvents.ChannelDelete | GatewayDispatchEvents.ChannelUpdate, GatewayChannelModifyDispatchData>;
628
- /**
629
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
630
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
631
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
632
- */
633
- export type GatewayChannelModifyDispatchData = APIChannel & {
634
- type: Exclude<GuildChannelType, ThreadChannelType>;
635
- guild_id: Snowflake;
636
- };
637
- /**
638
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
639
- */
640
- export type GatewayChannelCreateDispatch = GatewayChannelModifyDispatch;
641
- /**
642
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
643
- */
644
- export type GatewayChannelCreateDispatchData = GatewayChannelModifyDispatchData;
645
- /**
646
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
647
- */
648
- export type GatewayChannelUpdateDispatch = GatewayChannelModifyDispatch;
649
- /**
650
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
651
- */
652
- export type GatewayChannelUpdateDispatchData = GatewayChannelModifyDispatchData;
653
- /**
654
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
655
- */
656
- export type GatewayChannelDeleteDispatch = GatewayChannelModifyDispatch;
657
- /**
658
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
659
- */
660
- export type GatewayChannelDeleteDispatchData = GatewayChannelModifyDispatchData;
661
- /**
662
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-pins-update}
663
- */
664
- export type GatewayChannelPinsUpdateDispatch = _DataPayload<GatewayDispatchEvents.ChannelPinsUpdate, GatewayChannelPinsUpdateDispatchData>;
665
- /**
666
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-pins-update}
667
- */
668
- export interface GatewayChannelPinsUpdateDispatchData {
669
- /**
670
- * The id of the guild
671
- */
672
- guild_id?: Snowflake;
673
- /**
674
- * The id of the channel
675
- */
676
- channel_id: Snowflake;
677
- /**
678
- * The time at which the most recent pinned message was pinned
679
- */
680
- last_pin_timestamp?: string | null;
681
- }
682
- /**
683
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-create}
684
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
685
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
686
- */
687
- export type GatewayEntitlementModifyDispatchData = APIEntitlement;
688
- /**
689
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-create}
690
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
691
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
692
- */
693
- export type GatewayEntitlementModifyDispatch = _DataPayload<GatewayDispatchEvents.EntitlementCreate | GatewayDispatchEvents.EntitlementDelete | GatewayDispatchEvents.EntitlementUpdate, GatewayEntitlementModifyDispatchData>;
694
- /**
695
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-create}
696
- */
697
- export type GatewayEntitlementCreateDispatchData = Omit<GatewayEntitlementModifyDispatchData, "ends_at"> & {
698
- ends_at: GatewayEntitlementModifyDispatchData["ends_at"] | null;
699
- };
700
- /**
701
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-create}
702
- */
703
- export type GatewayEntitlementCreateDispatch = GatewayEntitlementModifyDispatch;
704
- /**
705
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
706
- */
707
- export type GatewayEntitlementUpdateDispatchData = GatewayEntitlementModifyDispatchData;
708
- /**
709
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
710
- */
711
- export type GatewayEntitlementUpdateDispatch = GatewayEntitlementModifyDispatch;
712
- /**
713
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
714
- */
715
- export type GatewayEntitlementDeleteDispatchData = GatewayEntitlementModifyDispatchData;
716
- /**
717
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
718
- */
719
- export type GatewayEntitlementDeleteDispatch = GatewayEntitlementModifyDispatch;
720
- /**
721
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-update}
722
- */
723
- export type GatewayGuildModifyDispatch = _DataPayload<GatewayDispatchEvents.GuildUpdate, GatewayGuildModifyDispatchData>;
724
- /**
725
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-update}
726
- */
727
- export type GatewayGuildModifyDispatchData = APIGuild;
728
- /**
729
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-create}
730
- */
731
- export type GatewayGuildCreateDispatch = _DataPayload<GatewayDispatchEvents.GuildCreate, GatewayGuildCreateDispatchData>;
732
- /**
733
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-create}
734
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-create-guild-create-extra-fields}
735
- */
736
- export interface GatewayGuildCreateDispatchData extends APIGuild {
737
- /**
738
- * When this guild was joined at
739
- *
740
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
741
- */
742
- joined_at: string;
743
- /**
744
- * `true` if this is considered a large guild
745
- *
746
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
747
- */
748
- large: boolean;
749
- /**
750
- * `true` if this guild is unavailable due to an outage
751
- */
752
- unavailable?: boolean;
753
- /**
754
- * Total number of members in this guild
755
- *
756
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
757
- */
758
- member_count: number;
759
- /**
760
- * States of members currently in voice channels; lacks the `guild_id` key
761
- *
762
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
763
- *
764
- * @see {@link https://discord.com/developers/docs/resources/voice#voice-state-object}
765
- */
766
- voice_states: Array<Omit<APIVoiceState, "guild_id">>;
767
- /**
768
- * Users in the guild
769
- *
770
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
771
- *
772
- * @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
773
- */
774
- members: Array<APIGuildMember>;
775
- /**
776
- * Channels in the guild
777
- *
778
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
779
- *
780
- * @see {@link https://discord.com/developers/docs/resources/channel#channel-object}
781
- */
782
- channels: Array<APIChannel & {
783
- type: Exclude<GuildChannelType, ThreadChannelType>;
784
- }>;
785
- /**
786
- * Threads in the guild
787
- *
788
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
789
- *
790
- * @see {@link https://discord.com/developers/docs/resources/channel#channel-object}
791
- */
792
- threads: Array<APIChannel & {
793
- type: ThreadChannelType;
794
- }>;
795
- /**
796
- * Presences of the members in the guild, will only include non-offline members if the size is greater than `large_threshold`
797
- *
798
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
799
- *
800
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#presence-update}
801
- */
802
- presences: Array<GatewayPresenceUpdate>;
803
- /**
804
- * The stage instances in the guild
805
- *
806
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
807
- *
808
- * @see {@link https://discord.com/developers/docs/resources/stage-instance#stage-instance-object-stage-instance-structure}
809
- */
810
- stage_instances: Array<APIStageInstance>;
811
- /**
812
- * The scheduled events in the guild
813
- *
814
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
815
- *
816
- * @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object}
817
- */
818
- guild_scheduled_events: Array<APIGuildScheduledEvent>;
819
- /**
820
- * The soundboard sounds in the guild
821
- *
822
- * **This field is only sent within the {@link https://discord.com/developers/docs/topics/gateway-events#guild-create | GUILD_CREATE} event**
823
- *
824
- * @see {@link https://discord.com/developers/docs/resources/soundboard#soundboard-sound-object}
825
- */
826
- soundboard_sounds: Array<APISoundboardSound>;
827
- }
828
- /**
829
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-update}
830
- */
831
- export type GatewayGuildUpdateDispatch = GatewayGuildModifyDispatch;
832
- /**
833
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-update}
834
- */
835
- export type GatewayGuildUpdateDispatchData = GatewayGuildModifyDispatchData;
836
- /**
837
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-delete}
838
- */
839
- export type GatewayGuildDeleteDispatch = _DataPayload<GatewayDispatchEvents.GuildDelete, GatewayGuildDeleteDispatchData>;
840
- /**
841
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-delete}
842
- */
843
- export interface GatewayGuildDeleteDispatchData extends Omit<APIUnavailableGuild, "unavailable"> {
844
- /**
845
- * `true` if this guild is unavailable due to an outage
846
- *
847
- * If the field is not set, the user was removed from the guild.
848
- */
849
- unavailable?: true;
850
- }
851
- /**
852
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
853
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
854
- */
855
- export type GatewayGuildBanModifyDispatch = _DataPayload<GatewayDispatchEvents.GuildBanAdd | GatewayDispatchEvents.GuildBanRemove, GatewayGuildBanModifyDispatchData>;
856
- /**
857
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
858
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
859
- */
860
- export interface GatewayGuildBanModifyDispatchData {
861
- /**
862
- * ID of the guild
863
- */
864
- guild_id: Snowflake;
865
- /**
866
- * The banned user
867
- *
868
- * @see {@link https://discord.com/developers/docs/resources/user#user-object}
869
- */
870
- user: APIUser;
871
- }
872
- /**
873
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
874
- */
875
- export type GatewayGuildBanAddDispatch = GatewayGuildBanModifyDispatch;
876
- /**
877
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
878
- */
879
- export type GatewayGuildBanAddDispatchData = GatewayGuildBanModifyDispatchData;
880
- /**
881
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
882
- */
883
- export type GatewayGuildBanRemoveDispatch = GatewayGuildBanModifyDispatch;
884
- /**
885
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
886
- */
887
- export type GatewayGuildBanRemoveDispatchData = GatewayGuildBanModifyDispatchData;
888
- /**
889
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-emojis-update}
890
- */
891
- export type GatewayGuildEmojisUpdateDispatch = _DataPayload<GatewayDispatchEvents.GuildEmojisUpdate, GatewayGuildEmojisUpdateDispatchData>;
892
- /**
893
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-emojis-update}
894
- */
895
- export interface GatewayGuildEmojisUpdateDispatchData {
896
- /**
897
- * ID of the guild
898
- */
899
- guild_id: Snowflake;
900
- /**
901
- * Array of emojis
902
- *
903
- * @see {@link https://discord.com/developers/docs/resources/emoji#emoji-object}
904
- */
905
- emojis: Array<APIEmoji>;
906
- }
907
- /**
908
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-stickers-update}
909
- */
910
- export type GatewayGuildStickersUpdateDispatch = _DataPayload<GatewayDispatchEvents.GuildStickersUpdate, GatewayGuildStickersUpdateDispatchData>;
911
- /**
912
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-stickers-update}
913
- */
914
- export interface GatewayGuildStickersUpdateDispatchData {
915
- /**
916
- * ID of the guild
917
- */
918
- guild_id: Snowflake;
919
- /**
920
- * Array of stickers
921
- *
922
- * @see {@link https://discord.com/developers/docs/resources/sticker#sticker-object}
923
- */
924
- stickers: Array<APISticker>;
925
- }
926
- /**
927
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-integrations-update}
928
- */
929
- export type GatewayGuildIntegrationsUpdateDispatch = _DataPayload<GatewayDispatchEvents.GuildIntegrationsUpdate, GatewayGuildIntegrationsUpdateDispatchData>;
930
- /**
931
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-integrations-update}
932
- */
933
- export interface GatewayGuildIntegrationsUpdateDispatchData {
934
- /**
935
- * ID of the guild whose integrations were updated
936
- */
937
- guild_id: Snowflake;
938
- }
939
- /**
940
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-add}
941
- */
942
- export type GatewayGuildMemberAddDispatch = _DataPayload<GatewayDispatchEvents.GuildMemberAdd, GatewayGuildMemberAddDispatchData>;
943
- /**
944
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-add}
945
- */
946
- export interface GatewayGuildMemberAddDispatchData extends APIGuildMember {
947
- /**
948
- * The id of the guild
949
- */
950
- guild_id: Snowflake;
951
- }
952
- /**
953
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-remove}
954
- */
955
- export type GatewayGuildMemberRemoveDispatch = _DataPayload<GatewayDispatchEvents.GuildMemberRemove, GatewayGuildMemberRemoveDispatchData>;
956
- /**
957
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-remove}
958
- */
959
- export interface GatewayGuildMemberRemoveDispatchData {
960
- /**
961
- * The id of the guild
962
- */
963
- guild_id: Snowflake;
964
- /**
965
- * The user who was removed
966
- *
967
- * @see {@link https://discord.com/developers/docs/resources/user#user-object}
968
- */
969
- user: APIUser;
970
- }
971
- /**
972
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-update}
973
- */
974
- export type GatewayGuildMemberUpdateDispatch = _DataPayload<GatewayDispatchEvents.GuildMemberUpdate, GatewayGuildMemberUpdateDispatchData>;
975
- /**
976
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-update}
977
- */
978
- export type GatewayGuildMemberUpdateDispatchData = _Nullable<Pick<APIGuildMember, "joined_at">> & Omit<APIGuildMember, "deaf" | "flags" | "joined_at" | "mute" | "user"> & Partial<Pick<APIGuildMember, "deaf" | "flags" | "mute">> & Required<Pick<APIGuildMember, "avatar" | "banner" | "user">> & {
979
- /**
980
- * The id of the guild
981
- */
982
- guild_id: Snowflake;
983
- };
984
- /**
985
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk}
986
- */
987
- export type GatewayGuildMembersChunkDispatch = _DataPayload<GatewayDispatchEvents.GuildMembersChunk, GatewayGuildMembersChunkDispatchData>;
988
- /**
989
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#update-presence}
990
- */
991
- export type GatewayGuildMembersChunkPresence = Omit<RawGatewayPresenceUpdate, "guild_id">;
992
- /**
993
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk}
994
- */
995
- export interface GatewayGuildMembersChunkDispatchData {
996
- /**
997
- * The id of the guild
998
- */
999
- guild_id: Snowflake;
1000
- /**
1001
- * Set of guild members
1002
- *
1003
- * @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
1004
- */
1005
- members: Array<APIGuildMember>;
1006
- /**
1007
- * The chunk index in the expected chunks for this response (`0 <= chunk_index < chunk_count`)
1008
- */
1009
- chunk_index: number;
1010
- /**
1011
- * The total number of expected chunks for this response
1012
- */
1013
- chunk_count: number;
1014
- /**
1015
- * If passing an invalid id to `REQUEST_GUILD_MEMBERS`, it will be returned here
1016
- */
1017
- not_found?: Array<unknown>;
1018
- /**
1019
- * If passing true to `REQUEST_GUILD_MEMBERS`, presences of the returned members will be here
1020
- *
1021
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#update-presence}
1022
- */
1023
- presences?: Array<GatewayGuildMembersChunkPresence>;
1024
- /**
1025
- * The nonce used in the Guild Members Request
1026
- *
1027
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#request-guild-members}
1028
- */
1029
- nonce?: string;
1030
- }
1031
- /**
1032
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
1033
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
1034
- */
1035
- export type GatewayGuildRoleModifyDispatch = _DataPayload<GatewayDispatchEvents.GuildRoleCreate | GatewayDispatchEvents.GuildRoleUpdate, GatewayGuildRoleModifyDispatchData>;
1036
- /**
1037
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
1038
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
1039
- */
1040
- export interface GatewayGuildRoleModifyDispatchData {
1041
- /**
1042
- * The id of the guild
1043
- */
1044
- guild_id: Snowflake;
1045
- /**
1046
- * The role created or updated
1047
- *
1048
- * @see {@link https://discord.com/developers/docs/topics/permissions#role-object}
1049
- */
1050
- role: APIRole;
1051
- }
1052
- /**
1053
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
1054
- */
1055
- export type GatewayGuildRoleCreateDispatch = GatewayGuildRoleModifyDispatch;
1056
- /**
1057
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
1058
- */
1059
- export type GatewayGuildRoleCreateDispatchData = GatewayGuildRoleModifyDispatchData;
1060
- /**
1061
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
1062
- */
1063
- export type GatewayGuildRoleUpdateDispatch = GatewayGuildRoleModifyDispatch;
1064
- /**
1065
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
1066
- */
1067
- export type GatewayGuildRoleUpdateDispatchData = GatewayGuildRoleModifyDispatchData;
1068
- /**
1069
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-delete}
1070
- */
1071
- export type GatewayGuildRoleDeleteDispatch = _DataPayload<GatewayDispatchEvents.GuildRoleDelete, GatewayGuildRoleDeleteDispatchData>;
1072
- /**
1073
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-delete}
1074
- */
1075
- export interface GatewayGuildRoleDeleteDispatchData {
1076
- /**
1077
- * The id of the guild
1078
- */
1079
- guild_id: Snowflake;
1080
- /**
1081
- * The id of the role
1082
- */
1083
- role_id: Snowflake;
1084
- }
1085
- /**
1086
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create}
1087
- */
1088
- export type GatewayGuildScheduledEventCreateDispatch = _DataPayload<GatewayDispatchEvents.GuildScheduledEventCreate, GatewayGuildScheduledEventCreateDispatchData>;
1089
- /**
1090
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-create}
1091
- */
1092
- export type GatewayGuildScheduledEventCreateDispatchData = APIGuildScheduledEvent;
1093
- /**
1094
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-update}
1095
- */
1096
- export type GatewayGuildScheduledEventUpdateDispatch = _DataPayload<GatewayDispatchEvents.GuildScheduledEventUpdate, GatewayGuildScheduledEventUpdateDispatchData>;
1097
- /**
1098
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-update}
1099
- */
1100
- export type GatewayGuildScheduledEventUpdateDispatchData = APIGuildScheduledEvent;
1101
- /**
1102
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-delete}
1103
- */
1104
- export type GatewayGuildScheduledEventDeleteDispatch = _DataPayload<GatewayDispatchEvents.GuildScheduledEventDelete, GatewayGuildScheduledEventDeleteDispatchData>;
1105
- /**
1106
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-delete}
1107
- */
1108
- export type GatewayGuildScheduledEventDeleteDispatchData = APIGuildScheduledEvent;
1109
- /**
1110
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-user-add}
1111
- */
1112
- export type GatewayGuildScheduledEventUserAddDispatch = _DataPayload<GatewayDispatchEvents.GuildScheduledEventUserAdd, GatewayGuildScheduledEventUserAddDispatchData>;
1113
- /**
1114
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-user-add}
1115
- */
1116
- export interface GatewayGuildScheduledEventUserAddDispatchData {
1117
- guild_scheduled_event_id: Snowflake;
1118
- user_id: Snowflake;
1119
- guild_id: Snowflake;
1120
- }
1121
- /**
1122
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-user-remove}
1123
- */
1124
- export type GatewayGuildScheduledEventUserRemoveDispatch = _DataPayload<GatewayDispatchEvents.GuildScheduledEventUserRemove, GatewayGuildScheduledEventUserAddDispatchData>;
1125
- /**
1126
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-scheduled-event-user-remove}
1127
- */
1128
- export interface GatewayGuildScheduledEventUserRemoveDispatchData {
1129
- guild_scheduled_event_id: Snowflake;
1130
- user_id: Snowflake;
1131
- guild_id: Snowflake;
1132
- }
1133
- /**
1134
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sound-create}
1135
- */
1136
- export type GatewayGuildSoundboardSoundCreateDispatch = _DataPayload<GatewayDispatchEvents.GuildSoundboardSoundCreate, GatewayGuildSoundboardSoundCreateDispatchData>;
1137
- /**
1138
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sound-create}
1139
- */
1140
- export type GatewayGuildSoundboardSoundCreateDispatchData = APISoundboardSound;
1141
- /**
1142
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sound-update}
1143
- */
1144
- export type GatewayGuildSoundboardSoundUpdateDispatch = _DataPayload<GatewayDispatchEvents.GuildSoundboardSoundUpdate, GatewayGuildSoundboardSoundUpdateDispatchData>;
1145
- /**
1146
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sound-update}
1147
- */
1148
- export type GatewayGuildSoundboardSoundUpdateDispatchData = APISoundboardSound;
1149
- /**
1150
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sound-delete}
1151
- */
1152
- export type GatewayGuildSoundboardSoundDeleteDispatch = _DataPayload<GatewayDispatchEvents.GuildSoundboardSoundDelete, GatewayGuildSoundboardSoundDeleteDispatchData>;
1153
- /**
1154
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sound-delete}
1155
- */
1156
- export interface GatewayGuildSoundboardSoundDeleteDispatchData {
1157
- /**
1158
- * The id of the sound that was deleted
1159
- */
1160
- sound_id: Snowflake;
1161
- /**
1162
- * The id of the guild the sound was in
1163
- */
1164
- guild_id: Snowflake;
1165
- }
1166
- /**
1167
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sounds-update}
1168
- */
1169
- export type GatewayGuildSoundboardSoundsUpdateDispatch = _DataPayload<GatewayDispatchEvents.GuildSoundboardSoundsUpdate, GatewayGuildSoundboardSoundsUpdateDispatchData>;
1170
- /**
1171
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-soundboard-sounds-update}
1172
- */
1173
- export interface GatewayGuildSoundboardSoundsUpdateDispatchData {
1174
- /**
1175
- * The guild's soundboard sounds
1176
- */
1177
- soundboard_sounds: Array<APISoundboardSound>;
1178
- /**
1179
- * The id of the guild
1180
- */
1181
- guild_id: Snowflake;
1182
- }
1183
- /**
1184
- * @see {@link https://discord.com/developers/docs/events/gateway-events#soundboard-sounds}
1185
- */
1186
- export type GatewaySoundboardSoundsDispatch = _DataPayload<GatewayDispatchEvents.SoundboardSounds, GatewaySoundboardSoundsDispatchData>;
1187
- /**
1188
- * @see {@link https://discord.com/developers/docs/events/gateway-events#soundboard-sounds}
1189
- */
1190
- export interface GatewaySoundboardSoundsDispatchData {
1191
- /**
1192
- * The guild's soundboard sounds
1193
- */
1194
- soundboard_sounds: Array<APISoundboardSound>;
1195
- /**
1196
- * The id of the guild
1197
- */
1198
- guild_id: Snowflake;
1199
- }
1200
- /**
1201
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#integration-create}
1202
- */
1203
- export type GatewayIntegrationCreateDispatch = _DataPayload<GatewayDispatchEvents.IntegrationCreate, GatewayIntegrationCreateDispatchData>;
1204
- /**
1205
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#integration-create}
1206
- */
1207
- export type GatewayIntegrationCreateDispatchData = APIGuildIntegration & {
1208
- guild_id: Snowflake;
1209
- };
1210
- /**
1211
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#integration-update}
1212
- */
1213
- export type GatewayIntegrationUpdateDispatch = _DataPayload<GatewayDispatchEvents.IntegrationUpdate, GatewayIntegrationUpdateDispatchData>;
1214
- /**
1215
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#integration-update}
1216
- */
1217
- export type GatewayIntegrationUpdateDispatchData = APIGuildIntegration & {
1218
- guild_id: Snowflake;
1219
- };
1220
- /**
1221
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#integration-update}
1222
- */
1223
- export type GatewayIntegrationDeleteDispatch = _DataPayload<GatewayDispatchEvents.IntegrationDelete, GatewayIntegrationDeleteDispatchData>;
1224
- /**
1225
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#integration-delete}
1226
- */
1227
- export interface GatewayIntegrationDeleteDispatchData {
1228
- /**
1229
- * Integration id
1230
- */
1231
- id: Snowflake;
1232
- /**
1233
- * ID of the guild
1234
- */
1235
- guild_id: Snowflake;
1236
- /**
1237
- * ID of the bot/OAuth2 application for this Discord integration
1238
- */
1239
- application_id?: Snowflake;
1240
- }
1241
- /**
1242
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#interaction-create}
1243
- */
1244
- export type GatewayInteractionCreateDispatch = _DataPayload<GatewayDispatchEvents.InteractionCreate, GatewayInteractionCreateDispatchData>;
1245
- /**
1246
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#interaction-create}
1247
- */
1248
- export type GatewayInteractionCreateDispatchData = APIInteraction;
1249
- /**
1250
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#invite-create}
1251
- */
1252
- export type GatewayInviteCreateDispatch = _DataPayload<GatewayDispatchEvents.InviteCreate, GatewayInviteCreateDispatchData>;
1253
- /**
1254
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#invite-create}
1255
- */
1256
- export interface GatewayInviteCreateDispatchData {
1257
- /**
1258
- * The channel the invite is for
1259
- */
1260
- channel_id: Snowflake;
1261
- /**
1262
- * The unique invite code
1263
- *
1264
- * @see {@link https://discord.com/developers/docs/resources/invite#invite-object}
1265
- */
1266
- code: string;
1267
- /**
1268
- * The time at which the invite was created
1269
- */
1270
- created_at: number;
1271
- /**
1272
- * The guild of the invite
1273
- */
1274
- guild_id?: Snowflake;
1275
- /**
1276
- * The user that created the invite
1277
- *
1278
- * @see {@link https://discord.com/developers/docs/resources/user#user-object}
1279
- */
1280
- inviter?: APIUser;
1281
- /**
1282
- * How long the invite is valid for (in seconds)
1283
- */
1284
- max_age: number;
1285
- /**
1286
- * The maximum number of times the invite can be used
1287
- */
1288
- max_uses: number;
1289
- /**
1290
- * The type of target for this voice channel invite
1291
- *
1292
- * @see {@link https://discord.com/developers/docs/resources/invite#invite-object-invite-target-types}
1293
- */
1294
- target_type?: InviteTargetType;
1295
- /**
1296
- * The user whose stream to display for this voice channel stream invite
1297
- *
1298
- * @see {@link https://discord.com/developers/docs/resources/user#user-object}
1299
- */
1300
- target_user?: APIUser;
1301
- /**
1302
- * The embedded application to open for this voice channel embedded application invite
1303
- */
1304
- target_application?: Partial<APIApplication>;
1305
- /**
1306
- * Whether or not the invite is temporary (invited users will be kicked on disconnect unless they're assigned a role)
1307
- */
1308
- temporary: boolean;
1309
- /**
1310
- * How many times the invite has been used (always will be `0`)
1311
- */
1312
- uses: 0;
1313
- }
1314
- /**
1315
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#invite-delete}
1316
- */
1317
- export type GatewayInviteDeleteDispatch = _DataPayload<GatewayDispatchEvents.InviteDelete, GatewayInviteDeleteDispatchData>;
1318
- /**
1319
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#invite-delete}
1320
- */
1321
- export interface GatewayInviteDeleteDispatchData {
1322
- /**
1323
- * The channel of the invite
1324
- */
1325
- channel_id: Snowflake;
1326
- /**
1327
- * The guild of the invite
1328
- */
1329
- guild_id?: Snowflake;
1330
- /**
1331
- * The unique invite code
1332
- *
1333
- * @see {@link https://discord.com/developers/docs/resources/invite#invite-object}
1334
- */
1335
- code: string;
1336
- }
1337
- /**
1338
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-create}
1339
- */
1340
- export type GatewayMessageCreateDispatch = _DataPayload<GatewayDispatchEvents.MessageCreate, GatewayMessageCreateDispatchData>;
1341
- /**
1342
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-create}
1343
- */
1344
- export type GatewayMessageCreateDispatchData = GatewayMessageEventExtraFields & Omit<APIMessage, "mentions">;
1345
- /**
1346
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-update}
1347
- */
1348
- export type GatewayMessageUpdateDispatch = _DataPayload<GatewayDispatchEvents.MessageUpdate, GatewayMessageUpdateDispatchData>;
1349
- /**
1350
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-update}
1351
- */
1352
- export type GatewayMessageUpdateDispatchData = GatewayMessageEventExtraFields & Omit<APIMessage, "mentions">;
1353
- /**
1354
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-create-message-create-extra-fields}
1355
- */
1356
- export interface GatewayMessageEventExtraFields {
1357
- /**
1358
- * ID of the guild the message was sent in
1359
- */
1360
- guild_id?: Snowflake;
1361
- /**
1362
- * Member properties for this message's author
1363
- *
1364
- * The member object exists in `MESSAGE_CREATE` and `MESSAGE_UPDATE` events
1365
- * from text-based guild channels
1366
- *
1367
- * @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
1368
- */
1369
- member?: Omit<APIGuildMember, "user">;
1370
- /**
1371
- * Users specifically mentioned in the message
1372
- *
1373
- * The `member` field is only present in `MESSAGE_CREATE` and `MESSAGE_UPDATE` events
1374
- * from text-based guild channels
1375
- *
1376
- * @see {@link https://discord.com/developers/docs/resources/user#user-object}
1377
- * @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
1378
- */
1379
- mentions: Array<APIUser & {
1380
- member?: Omit<APIGuildMember, "user">;
1381
- }>;
1382
- }
1383
- /**
1384
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-delete}
1385
- */
1386
- export type GatewayMessageDeleteDispatch = _DataPayload<GatewayDispatchEvents.MessageDelete, GatewayMessageDeleteDispatchData>;
1387
- /**
1388
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-delete}
1389
- */
1390
- export interface GatewayMessageDeleteDispatchData {
1391
- /**
1392
- * The id of the message
1393
- */
1394
- id: Snowflake;
1395
- /**
1396
- * The id of the channel
1397
- */
1398
- channel_id: Snowflake;
1399
- /**
1400
- * The id of the guild
1401
- */
1402
- guild_id?: Snowflake;
1403
- }
1404
- /**
1405
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-delete-bulk}
1406
- */
1407
- export type GatewayMessageDeleteBulkDispatch = _DataPayload<GatewayDispatchEvents.MessageDeleteBulk, GatewayMessageDeleteBulkDispatchData>;
1408
- /**
1409
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-delete-bulk}
1410
- */
1411
- export interface GatewayMessageDeleteBulkDispatchData {
1412
- /**
1413
- * The ids of the messages
1414
- */
1415
- ids: Array<Snowflake>;
1416
- /**
1417
- * The id of the channel
1418
- */
1419
- channel_id: Snowflake;
1420
- /**
1421
- * The id of the guild
1422
- */
1423
- guild_id?: Snowflake;
1424
- }
1425
- /**
1426
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-reaction-add}
1427
- */
1428
- export type GatewayMessageReactionAddDispatch = GatewayMessageReactionData<GatewayDispatchEvents.MessageReactionAdd>;
1429
- /**
1430
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-reaction-add}
1431
- */
1432
- export type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDispatch["d"];
1433
- /**
1434
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove}
1435
- */
1436
- export type GatewayMessageReactionRemoveDispatch = GatewayMessageReactionData<GatewayDispatchEvents.MessageReactionRemove, "burst_colors" | "member" | "message_author_id">;
1437
- /**
1438
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove}
1439
- */
1440
- export type GatewayMessageReactionRemoveDispatchData = GatewayMessageReactionRemoveDispatch["d"];
1441
- /**
1442
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-all}
1443
- */
1444
- export type GatewayMessageReactionRemoveAllDispatch = _DataPayload<GatewayDispatchEvents.MessageReactionRemoveAll, GatewayMessageReactionRemoveAllDispatchData>;
1445
- /**
1446
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-all}
1447
- */
1448
- export type GatewayMessageReactionRemoveAllDispatchData = GatewayMessageReactionRemoveData;
1449
- /**
1450
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-emoji}
1451
- */
1452
- export type GatewayMessageReactionRemoveEmojiDispatch = _DataPayload<GatewayDispatchEvents.MessageReactionRemoveEmoji, GatewayMessageReactionRemoveEmojiDispatchData>;
1453
- /**
1454
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-emoji}
1455
- */
1456
- export interface GatewayMessageReactionRemoveEmojiDispatchData extends GatewayMessageReactionRemoveData {
1457
- /**
1458
- * The emoji that was removed
1459
- */
1460
- emoji: APIEmoji;
1461
- }
1462
- /**
1463
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#presence-update}
1464
- */
1465
- export type GatewayPresenceUpdateDispatch = _DataPayload<GatewayDispatchEvents.PresenceUpdate, GatewayPresenceUpdateDispatchData>;
1466
- /**
1467
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#presence-update}
1468
- */
1469
- export type GatewayPresenceUpdateDispatchData = RawGatewayPresenceUpdate;
1470
- /**
1471
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#stage-instance-create}
1472
- */
1473
- export type GatewayStageInstanceCreateDispatch = _DataPayload<GatewayDispatchEvents.StageInstanceCreate, GatewayStageInstanceCreateDispatchData>;
1474
- /**
1475
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#stage-instance-create}
1476
- */
1477
- export type GatewayStageInstanceCreateDispatchData = APIStageInstance;
1478
- /**
1479
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#stage-instance-delete}
1480
- */
1481
- export type GatewayStageInstanceDeleteDispatch = _DataPayload<GatewayDispatchEvents.StageInstanceDelete, GatewayStageInstanceDeleteDispatchData>;
1482
- /**
1483
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#stage-instance-delete}
1484
- */
1485
- export type GatewayStageInstanceDeleteDispatchData = APIStageInstance;
1486
- /**
1487
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#stage-instance-update}
1488
- */
1489
- export type GatewayStageInstanceUpdateDispatch = _DataPayload<GatewayDispatchEvents.StageInstanceUpdate, GatewayStageInstanceUpdateDispatchData>;
1490
- /**
1491
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#stage-instance-update}
1492
- */
1493
- export type GatewayStageInstanceUpdateDispatchData = APIStageInstance;
1494
- /**
1495
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-list-sync}
1496
- */
1497
- export type GatewayThreadListSyncDispatch = _DataPayload<GatewayDispatchEvents.ThreadListSync, GatewayThreadListSyncDispatchData>;
1498
- /**
1499
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-list-sync}
1500
- */
1501
- export type GatewayThreadListSyncDispatchData = RawGatewayThreadListSync;
1502
- /**
1503
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-members-update}
1504
- */
1505
- export type GatewayThreadMembersUpdateDispatch = _DataPayload<GatewayDispatchEvents.ThreadMembersUpdate, GatewayThreadMembersUpdateDispatchData>;
1506
- /**
1507
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-members-update}
1508
- */
1509
- export type GatewayThreadMembersUpdateDispatchData = RawGatewayThreadMembersUpdate;
1510
- /**
1511
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-member-update}
1512
- */
1513
- export type GatewayThreadMemberUpdateDispatch = _DataPayload<GatewayDispatchEvents.ThreadMemberUpdate, GatewayThreadMemberUpdateDispatchData>;
1514
- /**
1515
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-member-update}
1516
- */
1517
- export type GatewayThreadMemberUpdateDispatchData = APIThreadMember & {
1518
- guild_id: Snowflake;
1519
- };
1520
- /**
1521
- * @deprecated This type doesn't accurately reflect the Discord API.
1522
- * Use {@link GatewayThreadCreateDispatch},
1523
- * {@link GatewayThreadUpdateDispatch}, or
1524
- * {@link GatewayThreadDeleteDispatch} instead.
1525
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-create}
1526
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-update}
1527
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-delete}
1528
- */
1529
- export type GatewayThreadModifyDispatch = _DataPayload<GatewayDispatchEvents.ThreadCreate | GatewayDispatchEvents.ThreadDelete | GatewayDispatchEvents.ThreadUpdate, APIThreadChannel>;
1530
- /**
1531
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-create}
1532
- */
1533
- export type GatewayThreadCreateDispatch = _DataPayload<GatewayDispatchEvents.ThreadCreate, GatewayThreadCreateDispatchData>;
1534
- /**
1535
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-create}
1536
- */
1537
- export interface GatewayThreadCreateDispatchData extends APIThreadChannel {
1538
- /**
1539
- * Whether the thread is newly created or not.
1540
- */
1541
- newly_created?: true;
1542
- }
1543
- /**
1544
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-update}
1545
- */
1546
- export type GatewayThreadUpdateDispatch = _DataPayload<GatewayDispatchEvents.ThreadUpdate, GatewayThreadUpdateDispatchData>;
1547
- /**
1548
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-update}
1549
- */
1550
- export type GatewayThreadUpdateDispatchData = APIThreadChannel;
1551
- /**
1552
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-delete}
1553
- */
1554
- export type GatewayThreadDeleteDispatch = _DataPayload<GatewayDispatchEvents.ThreadDelete, GatewayThreadDeleteDispatchData>;
1555
- /**
1556
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-delete}
1557
- */
1558
- export interface GatewayThreadDeleteDispatchData {
1559
- /**
1560
- * The id of the channel
1561
- */
1562
- id: Snowflake;
1563
- /**
1564
- * The id of the guild
1565
- */
1566
- guild_id: Snowflake;
1567
- /**
1568
- * The id of the parent channel of the thread
1569
- */
1570
- parent_id: Snowflake;
1571
- /**
1572
- * The type of the channel
1573
- *
1574
- * @see {@link https://discord.com/developers/docs/resources/channel#channel-object-channel-types}
1575
- */
1576
- type: ChannelType;
1577
- }
1578
- /**
1579
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#typing-start}
1580
- */
1581
- export type GatewayTypingStartDispatch = _DataPayload<GatewayDispatchEvents.TypingStart, GatewayTypingStartDispatchData>;
1582
- /**
1583
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#typing-start}
1584
- */
1585
- export interface GatewayTypingStartDispatchData {
1586
- /**
1587
- * The id of the channel
1588
- */
1589
- channel_id: Snowflake;
1590
- /**
1591
- * The id of the guild
1592
- */
1593
- guild_id?: Snowflake;
1594
- /**
1595
- * The id of the user
1596
- */
1597
- user_id: Snowflake;
1598
- /**
1599
- * Unix time (in seconds) of when the user started typing
1600
- */
1601
- timestamp: number;
1602
- /**
1603
- * The member who started typing if this happened in a guild
1604
- *
1605
- * @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
1606
- */
1607
- member?: APIGuildMember;
1608
- }
1609
- /**
1610
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#user-update}
1611
- */
1612
- export type GatewayUserUpdateDispatch = _DataPayload<GatewayDispatchEvents.UserUpdate, GatewayUserUpdateDispatchData>;
1613
- /**
1614
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#user-update}
1615
- */
1616
- export type GatewayUserUpdateDispatchData = APIUser;
1617
- /**
1618
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#voice-channel-effect-send}
1619
- */
1620
- export type GatewayVoiceChannelEffectSendDispatch = _DataPayload<GatewayDispatchEvents.VoiceChannelEffectSend, GatewayVoiceChannelEffectSendDispatchData>;
1621
- /**
1622
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#voice-channel-effect-send}
1623
- */
1624
- export interface GatewayVoiceChannelEffectSendDispatchData {
1625
- /**
1626
- * ID of the channel the effect was sent in
1627
- */
1628
- channel_id: Snowflake;
1629
- /**
1630
- * ID of the guild the effect was sent in
1631
- */
1632
- guild_id: Snowflake;
1633
- /**
1634
- * ID of the user who sent the effect
1635
- */
1636
- user_id: Snowflake;
1637
- /**
1638
- * The emoji sent, for emoji reaction and soundboard effects
1639
- */
1640
- emoji?: APIEmoji | null;
1641
- /**
1642
- * The type of emoji animation, for emoji reaction and soundboard effects
1643
- */
1644
- animation_type?: VoiceChannelEffectSendAnimationType | null;
1645
- /**
1646
- * The ID of the emoji animation, for emoji reaction and soundboard effects
1647
- */
1648
- animation_id?: number;
1649
- /**
1650
- * The ID of the soundboard sound, for soundboard effects
1651
- */
1652
- sound_id?: Snowflake | number;
1653
- /**
1654
- * The volume of the soundboard sound, from 0 to 1, for soundboard effects
1655
- */
1656
- sound_volume?: number;
1657
- }
1658
- /**
1659
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#voice-channel-effect-send-animation-types}
1660
- */
1661
- export declare enum VoiceChannelEffectSendAnimationType {
1662
- /**
1663
- * A fun animation, sent by a Nitro subscriber
1664
- */
1665
- Premium = 0,
1666
- /**
1667
- * The standard animation
1668
- */
1669
- Basic = 1
1670
- }
1671
- /**
1672
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#voice-state-update}
1673
- */
1674
- export type GatewayVoiceStateUpdateDispatch = _DataPayload<GatewayDispatchEvents.VoiceStateUpdate, GatewayVoiceStateUpdateDispatchData>;
1675
- /**
1676
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#voice-state-update}
1677
- */
1678
- export type GatewayVoiceStateUpdateDispatchData = APIVoiceState;
1679
- /**
1680
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#voice-server-update}
1681
- */
1682
- export type GatewayVoiceServerUpdateDispatch = _DataPayload<GatewayDispatchEvents.VoiceServerUpdate, GatewayVoiceServerUpdateDispatchData>;
1683
- /**
1684
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#voice-server-update}
1685
- */
1686
- export interface GatewayVoiceServerUpdateDispatchData {
1687
- /**
1688
- * Voice connection token
1689
- */
1690
- token: string;
1691
- /**
1692
- * The guild this voice server update is for
1693
- */
1694
- guild_id: Snowflake;
1695
- /**
1696
- * The voice server host
1697
- *
1698
- * A `null` endpoint means that the voice server allocated has gone away and is trying to be reallocated.
1699
- * You should attempt to disconnect from the currently connected voice server, and not attempt to reconnect
1700
- * until a new voice server is allocated
1701
- */
1702
- endpoint: string | null;
1703
- }
1704
- /**
1705
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#webhooks-update}
1706
- */
1707
- export type GatewayWebhooksUpdateDispatch = _DataPayload<GatewayDispatchEvents.WebhooksUpdate, GatewayWebhooksUpdateDispatchData>;
1708
- /**
1709
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#webhooks-update}
1710
- */
1711
- export interface GatewayWebhooksUpdateDispatchData {
1712
- /**
1713
- * The id of the guild
1714
- */
1715
- guild_id: Snowflake;
1716
- /**
1717
- * The id of the channel
1718
- */
1719
- channel_id: Snowflake;
1720
- }
1721
- /**
1722
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-audit-log-entry-create}
1723
- */
1724
- export type GatewayGuildAuditLogEntryCreateDispatch = _DataPayload<GatewayDispatchEvents.GuildAuditLogEntryCreate, GatewayGuildAuditLogEntryCreateDispatchData>;
1725
- /**
1726
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-audit-log-entry-create}
1727
- */
1728
- export interface GatewayGuildAuditLogEntryCreateDispatchData extends APIAuditLogEntry {
1729
- /**
1730
- * ID of the guild
1731
- */
1732
- guild_id: Snowflake;
1733
- }
1734
- /**
1735
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-add}
1736
- */
1737
- export type GatewayMessagePollVoteAddDispatch = _DataPayload<GatewayDispatchEvents.MessagePollVoteAdd, GatewayMessagePollVoteDispatchData>;
1738
- /**
1739
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-remove}
1740
- */
1741
- export type GatewayMessagePollVoteRemoveDispatch = _DataPayload<GatewayDispatchEvents.MessagePollVoteRemove, GatewayMessagePollVoteDispatchData>;
1742
- /**
1743
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-add}
1744
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-remove}
1745
- */
1746
- export interface GatewayMessagePollVoteDispatchData {
1747
- /**
1748
- * ID of the user
1749
- */
1750
- user_id: Snowflake;
1751
- /**
1752
- * ID of the channel
1753
- */
1754
- channel_id: Snowflake;
1755
- /**
1756
- * ID of the message
1757
- */
1758
- message_id: Snowflake;
1759
- /**
1760
- * ID of the guild
1761
- */
1762
- guild_id?: Snowflake;
1763
- /**
1764
- * ID of the answer
1765
- */
1766
- answer_id: number;
1767
- }
1768
- /**
1769
- * @see {@link https://discord.com/developers/docs/topics/gateway#sending-heartbeats}
1770
- */
1771
- export interface GatewayHeartbeat {
1772
- op: GatewayOpcodes.Heartbeat;
1773
- d: GatewayHeartbeatData;
1774
- }
1775
- /**
1776
- * @see {@link https://discord.com/developers/docs/topics/gateway#sending-heartbeats}
1777
- */
1778
- export type GatewayHeartbeatData = number | null;
1779
- /**
1780
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#identify}
1781
- */
1782
- export interface GatewayIdentify {
1783
- op: GatewayOpcodes.Identify;
1784
- d: GatewayIdentifyData;
1785
- }
1786
- /**
1787
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#identify}
1788
- */
1789
- export interface GatewayIdentifyData {
1790
- /**
1791
- * Authentication token
1792
- */
1793
- token: string;
1794
- /**
1795
- * Connection properties
1796
- *
1797
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#identify-identify-connection-properties}
1798
- */
1799
- properties: GatewayIdentifyProperties;
1800
- /**
1801
- * Whether this connection supports compression of packets
1802
- *
1803
- * @defaultValue `false`
1804
- */
1805
- compress?: boolean;
1806
- /**
1807
- * Value between 50 and 250, total number of members where the gateway will stop sending
1808
- * offline members in the guild member list
1809
- *
1810
- * @defaultValue `50`
1811
- */
1812
- large_threshold?: number;
1813
- /**
1814
- * Used for Guild Sharding
1815
- *
1816
- * @see {@link https://discord.com/developers/docs/topics/gateway#sharding}
1817
- */
1818
- shard?: [shard_id: number, shard_count: number];
1819
- /**
1820
- * Presence structure for initial presence information
1821
- *
1822
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#update-presence}
1823
- */
1824
- presence?: GatewayPresenceUpdateData;
1825
- /**
1826
- * The Gateway Intents you wish to receive
1827
- *
1828
- * @see {@link https://discord.com/developers/docs/topics/gateway#gateway-intents}
1829
- */
1830
- intents: number;
1831
- }
1832
- /**
1833
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#identify-identify-connection-properties}
1834
- */
1835
- export interface GatewayIdentifyProperties {
1836
- /**
1837
- * Your operating system
1838
- */
1839
- os: string;
1840
- /**
1841
- * Your library name
1842
- */
1843
- browser: string;
1844
- /**
1845
- * Your library name
1846
- */
1847
- device: string;
1848
- }
1849
- /**
1850
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#resume}
1851
- */
1852
- export interface GatewayResume {
1853
- op: GatewayOpcodes.Resume;
1854
- d: GatewayResumeData;
1855
- }
1856
- /**
1857
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#resume}
1858
- */
1859
- export interface GatewayResumeData {
1860
- /**
1861
- * Session token
1862
- */
1863
- token: string;
1864
- /**
1865
- * Session id
1866
- */
1867
- session_id: string;
1868
- /**
1869
- * Last sequence number received
1870
- */
1871
- seq: number;
1872
- }
1873
- /**
1874
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#request-guild-members}
1875
- */
1876
- export interface GatewayRequestGuildMembers {
1877
- op: GatewayOpcodes.RequestGuildMembers;
1878
- d: GatewayRequestGuildMembersData;
1879
- }
1880
- /**
1881
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#request-guild-members}
1882
- */
1883
- export interface GatewayRequestGuildMembersDataBase {
1884
- /**
1885
- * ID of the guild to get members for
1886
- */
1887
- guild_id: Snowflake;
1888
- /**
1889
- * Used to specify if we want the presences of the matched members
1890
- */
1891
- presences?: boolean;
1892
- /**
1893
- * Nonce to identify the Guild Members Chunk response
1894
- *
1895
- * Nonce can only be up to 32 bytes. If you send an invalid nonce it will be ignored and the reply member_chunk(s) will not have a `nonce` set.
1896
- *
1897
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk}
1898
- */
1899
- nonce?: string;
1900
- }
1901
- /**
1902
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#request-guild-members}
1903
- */
1904
- export interface GatewayRequestGuildMembersDataWithUserIds extends GatewayRequestGuildMembersDataBase {
1905
- /**
1906
- * Used to specify which users you wish to fetch
1907
- */
1908
- user_ids: Snowflake | Array<Snowflake>;
1909
- }
1910
- /**
1911
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#request-guild-members}
1912
- */
1913
- export interface GatewayRequestGuildMembersDataWithQuery extends GatewayRequestGuildMembersDataBase {
1914
- /**
1915
- * String that username starts with, or an empty string to return all members
1916
- */
1917
- query: string;
1918
- /**
1919
- * Maximum number of members to send matching the `query`;
1920
- * a limit of `0` can be used with an empty string `query` to return all members
1921
- */
1922
- limit: number;
1923
- }
1924
- /**
1925
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#request-guild-members}
1926
- */
1927
- export type GatewayRequestGuildMembersData = GatewayRequestGuildMembersDataWithQuery | GatewayRequestGuildMembersDataWithUserIds;
1928
- /**
1929
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#request-soundboard-sounds}
1930
- */
1931
- export interface GatewayRequestSoundboardSounds {
1932
- op: GatewayOpcodes.RequestSoundboardSounds;
1933
- d: GatewayRequestSoundboardSoundsData;
1934
- }
1935
- /**
1936
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#request-soundboard-sounds}
1937
- */
1938
- export interface GatewayRequestSoundboardSoundsData {
1939
- /**
1940
- * The ids of the guilds to get soundboard sounds for
1941
- */
1942
- guild_ids: Array<Snowflake>;
1943
- }
1944
- /**
1945
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#update-voice-state}
1946
- */
1947
- export interface GatewayVoiceStateUpdate {
1948
- op: GatewayOpcodes.VoiceStateUpdate;
1949
- d: GatewayVoiceStateUpdateData;
1950
- }
1951
- /**
1952
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#update-voice-state}
1953
- */
1954
- export interface GatewayVoiceStateUpdateData {
1955
- /**
1956
- * ID of the guild
1957
- */
1958
- guild_id: Snowflake;
1959
- /**
1960
- * ID of the voice channel client wants to join (`null` if disconnecting)
1961
- */
1962
- channel_id: Snowflake | null;
1963
- /**
1964
- * Is the client muted
1965
- */
1966
- self_mute: boolean;
1967
- /**
1968
- * Is the client deafened
1969
- */
1970
- self_deaf: boolean;
1971
- }
1972
- /**
1973
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#update-presence}
1974
- */
1975
- export interface GatewayUpdatePresence {
1976
- op: GatewayOpcodes.PresenceUpdate;
1977
- d: GatewayPresenceUpdateData;
1978
- }
1979
- /**
1980
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#update-presence-gateway-presence-update-structure}
1981
- */
1982
- export interface GatewayPresenceUpdateData {
1983
- /**
1984
- * Unix time (in milliseconds) of when the client went idle, or `null` if the client is not idle
1985
- */
1986
- since: number | null;
1987
- /**
1988
- * The user's activities
1989
- *
1990
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object}
1991
- */
1992
- activities: Array<GatewayActivityUpdateData>;
1993
- /**
1994
- * The user's new status
1995
- *
1996
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#update-presence-status-types}
1997
- */
1998
- status: PresenceUpdateStatus;
1999
- /**
2000
- * Whether or not the client is afk
2001
- */
2002
- afk: boolean;
2003
- }
2004
- /**
2005
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-structure}
2006
- */
2007
- export type GatewayActivityUpdateData = Pick<GatewayActivity, "name" | "state" | "type" | "url">;
2008
- export interface _BasePayload {
2009
- /**
2010
- * Opcode for the payload
2011
- */
2012
- op: GatewayOpcodes;
2013
- /**
2014
- * Event data
2015
- */
2016
- d?: unknown;
2017
- /**
2018
- * Sequence number, used for resuming sessions and heartbeats
2019
- */
2020
- s: number;
2021
- /**
2022
- * The event name for this payload
2023
- */
2024
- t?: string;
2025
- }
2026
- export type _NonDispatchPayload = Omit<_BasePayload, "s" | "t"> & {
2027
- t: null;
2028
- s: null;
2029
- };
2030
- export interface _DataPayload<Event extends GatewayDispatchEvents, D = unknown> extends _BasePayload {
2031
- op: GatewayOpcodes.Dispatch;
2032
- t: Event;
2033
- d: D;
2034
- }
2035
- export type GatewayMessageReactionData<E extends GatewayDispatchEvents, O extends string = never> = _DataPayload<E, Omit<{
2036
- /**
2037
- * The id of the user
2038
- */
2039
- user_id: Snowflake;
2040
- /**
2041
- * The id of the channel
2042
- */
2043
- channel_id: Snowflake;
2044
- /**
2045
- * The id of the message
2046
- */
2047
- message_id: Snowflake;
2048
- /**
2049
- * The id of the guild
2050
- */
2051
- guild_id?: Snowflake;
2052
- /**
2053
- * The member who reacted if this happened in a guild
2054
- *
2055
- * @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
2056
- */
2057
- member?: APIGuildMember;
2058
- /**
2059
- * The emoji used to react
2060
- *
2061
- * @see {@link https://discord.com/developers/docs/resources/emoji#emoji-object}
2062
- */
2063
- emoji: APIEmoji;
2064
- /**
2065
- * The id of the user that posted the message that was reacted to
2066
- */
2067
- message_author_id?: Snowflake;
2068
- /**
2069
- * True if this is a super-reaction
2070
- */
2071
- burst: boolean;
2072
- /**
2073
- * Colors used for super-reaction animation in "#rrggbb" format
2074
- */
2075
- burst_colors: Array<string>;
2076
- /**
2077
- * The type of reaction
2078
- */
2079
- type: ReactionType;
2080
- }, O>>;
2081
- export interface GatewayMessageReactionRemoveData {
2082
- /**
2083
- * The id of the channel
2084
- */
2085
- channel_id: Snowflake;
2086
- /**
2087
- * The id of the message
2088
- */
2089
- message_id: Snowflake;
2090
- /**
2091
- * The id of the guild
2092
- */
2093
- guild_id?: Snowflake;
2094
- }
2095
- /**
2096
- * @see {@link https://discord.com/developers/docs/topics/gateway#get-gateway}
2097
- */
2098
- export interface APIGatewayInfo {
2099
- /**
2100
- * The WSS URL that can be used for connecting to the gateway
2101
- */
2102
- url: string;
2103
- }
2104
- /**
2105
- * @see {@link https://discord.com/developers/docs/topics/gateway#get-gateway-bot}
2106
- */
2107
- export interface APIGatewayBotInfo extends APIGatewayInfo {
2108
- /**
2109
- * The recommended number of shards to use when connecting
2110
- *
2111
- * @see {@link https://discord.com/developers/docs/topics/gateway#sharding}
2112
- */
2113
- shards: number;
2114
- /**
2115
- * Information on the current session start limit
2116
- *
2117
- * @see {@link https://discord.com/developers/docs/topics/gateway#session-start-limit-object}
2118
- */
2119
- session_start_limit: APIGatewaySessionStartLimit;
2120
- }
2121
- /**
2122
- * @see {@link https://discord.com/developers/docs/topics/gateway#session-start-limit-object}
2123
- */
2124
- export interface APIGatewaySessionStartLimit {
2125
- /**
2126
- * The total number of session starts the current user is allowed
2127
- */
2128
- total: number;
2129
- /**
2130
- * The remaining number of session starts the current user is allowed
2131
- */
2132
- remaining: number;
2133
- /**
2134
- * The number of milliseconds after which the limit resets
2135
- */
2136
- reset_after: number;
2137
- /**
2138
- * The number of identify requests allowed per 5 seconds
2139
- */
2140
- max_concurrency: number;
2141
- }
2142
- /**
2143
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#presence-update-presence-update-event-fields}
2144
- */
2145
- export interface GatewayPresenceUpdate {
2146
- /**
2147
- * The user presence is being updated for
2148
- *
2149
- * **The user object within this event can be partial, the only field which must be sent is the `id` field,
2150
- * everything else is optional.**
2151
- *
2152
- * @see {@link https://discord.com/developers/docs/resources/user#user-object}
2153
- */
2154
- user: Partial<APIUser> & Pick<APIUser, "id">;
2155
- /**
2156
- * ID of the guild
2157
- */
2158
- guild_id: Snowflake;
2159
- /**
2160
- * Either "idle", "dnd", "online", or "offline"
2161
- */
2162
- status?: PresenceUpdateReceiveStatus;
2163
- /**
2164
- * User's current activities
2165
- *
2166
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object}
2167
- */
2168
- activities?: Array<GatewayActivity>;
2169
- /**
2170
- * User's platform-dependent status
2171
- *
2172
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#client-status-object}
2173
- */
2174
- client_status?: GatewayPresenceClientStatus;
2175
- }
2176
- /**
2177
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#update-presence-status-types}
2178
- */
2179
- export declare enum PresenceUpdateStatus {
2180
- Online = "online",
2181
- DoNotDisturb = "dnd",
2182
- Idle = "idle",
2183
- /**
2184
- * Invisible and shown as offline
2185
- */
2186
- Invisible = "invisible",
2187
- Offline = "offline"
2188
- }
2189
- export type PresenceUpdateReceiveStatus = Exclude<PresenceUpdateStatus, PresenceUpdateStatus.Invisible>;
2190
- /**
2191
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#client-status-object}
2192
- */
2193
- export interface GatewayPresenceClientStatus {
2194
- /**
2195
- * The user's status set for an active desktop (Windows, Linux, Mac) application session
2196
- */
2197
- desktop?: PresenceUpdateReceiveStatus;
2198
- /**
2199
- * The user's status set for an active mobile (iOS, Android) application session
2200
- */
2201
- mobile?: PresenceUpdateReceiveStatus;
2202
- /**
2203
- * The user's status set for an active web (browser, bot account) application session
2204
- */
2205
- web?: PresenceUpdateReceiveStatus;
2206
- }
2207
- /**
2208
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-structure}
2209
- */
2210
- export interface GatewayActivity {
2211
- /**
2212
- * The activity's id
2213
- *
2214
- * @unstable
2215
- */
2216
- id: string;
2217
- /**
2218
- * The activity's name
2219
- */
2220
- name: string;
2221
- /**
2222
- * Activity type
2223
- *
2224
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-types}
2225
- */
2226
- type: ActivityType;
2227
- /**
2228
- * Stream url, is validated when type is `1`
2229
- */
2230
- url?: string | null;
2231
- /**
2232
- * Unix timestamp of when the activity was added to the user's session
2233
- */
2234
- created_at: number;
2235
- /**
2236
- * Unix timestamps for start and/or end of the game
2237
- */
2238
- timestamps?: GatewayActivityTimestamps;
2239
- /**
2240
- * The Spotify song id
2241
- *
2242
- * @unstable
2243
- */
2244
- sync_id?: string;
2245
- /**
2246
- * The platform this activity is being done on
2247
- *
2248
- * @unstable You can use {@link ActivityPlatform} as a stepping stone, but this might be inaccurate
2249
- */
2250
- platform?: string;
2251
- /**
2252
- * Application id for the game
2253
- */
2254
- application_id?: Snowflake;
2255
- /**
2256
- * What the player is currently doing
2257
- */
2258
- details?: string | null;
2259
- /**
2260
- * The user's current party status, or the text used for a custom status
2261
- */
2262
- state?: string | null;
2263
- /**
2264
- * The emoji used for a custom status
2265
- *
2266
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-emoji}
2267
- */
2268
- emoji?: GatewayActivityEmoji;
2269
- /**
2270
- * @unstable
2271
- */
2272
- session_id?: string;
2273
- /**
2274
- * Information for the current party of the player
2275
- *
2276
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-party}
2277
- */
2278
- party?: GatewayActivityParty;
2279
- /**
2280
- * Images for the presence and their hover texts
2281
- *
2282
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-assets}
2283
- */
2284
- assets?: GatewayActivityAssets;
2285
- /**
2286
- * Secrets for Rich Presence joining and spectating
2287
- *
2288
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-secrets}
2289
- */
2290
- secrets?: GatewayActivitySecrets;
2291
- /**
2292
- * Whether or not the activity is an instanced game session
2293
- */
2294
- instance?: boolean;
2295
- /**
2296
- * Activity flags `OR`d together, describes what the payload includes
2297
- *
2298
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-flags}
2299
- * @see {@link https://en.wikipedia.org/wiki/Bit_field}
2300
- */
2301
- flags?: ActivityFlags;
2302
- /**
2303
- * The custom buttons shown in the Rich Presence (max 2)
2304
- */
2305
- buttons?: Array<GatewayActivityButton> | Array<string>;
2306
- }
2307
- /**
2308
- * @unstable This enum is currently not documented by Discord but has known values which we will try to keep up to date.
2309
- * Values might be added or removed without a major version bump.
2310
- */
2311
- export declare enum ActivityPlatform {
2312
- Desktop = "desktop",
2313
- Xbox = "xbox",
2314
- Samsung = "samsung",
2315
- IOS = "ios",
2316
- Android = "android",
2317
- Embedded = "embedded",
2318
- PS4 = "ps4",
2319
- PS5 = "ps5"
2320
- }
2321
- /**
2322
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-types}
2323
- */
2324
- export declare enum ActivityType {
2325
- /**
2326
- * Playing \{game\}
2327
- */
2328
- Playing = 0,
2329
- /**
2330
- * Streaming \{details\}
2331
- */
2332
- Streaming = 1,
2333
- /**
2334
- * Listening to \{name\}
2335
- */
2336
- Listening = 2,
2337
- /**
2338
- * Watching \{details\}
2339
- */
2340
- Watching = 3,
2341
- /**
2342
- * \{emoji\} \{state\}
2343
- */
2344
- Custom = 4,
2345
- /**
2346
- * Competing in \{name\}
2347
- */
2348
- Competing = 5
2349
- }
2350
- /**
2351
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-timestamps}
2352
- */
2353
- export interface GatewayActivityTimestamps {
2354
- /**
2355
- * Unix time (in milliseconds) of when the activity started
2356
- */
2357
- start?: number;
2358
- /**
2359
- * Unix time (in milliseconds) of when the activity ends
2360
- */
2361
- end?: number;
2362
- }
2363
- /**
2364
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-emoji}
2365
- */
2366
- export type GatewayActivityEmoji = Partial<Pick<APIEmoji, "animated" | "id">> & Pick<APIEmoji, "name">;
2367
- /**
2368
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-party}
2369
- */
2370
- export interface GatewayActivityParty {
2371
- /**
2372
- * The id of the party
2373
- */
2374
- id?: string;
2375
- /**
2376
- * Used to show the party's current and maximum size
2377
- */
2378
- size?: [current_size: number, max_size: number];
2379
- }
2380
- /**
2381
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-assets}
2382
- */
2383
- export type GatewayActivityAssets = Partial<Record<"large_image" | "large_text" | "small_image" | "small_text", string>>;
2384
- /**
2385
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-secrets}
2386
- */
2387
- export type GatewayActivitySecrets = Partial<Record<"join" | "match" | "spectate", string>>;
2388
- /**
2389
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-flags}
2390
- */
2391
- export declare enum ActivityFlags {
2392
- Instance = 1,
2393
- Join = 2,
2394
- Spectate = 4,
2395
- JoinRequest = 8,
2396
- Sync = 16,
2397
- Play = 32,
2398
- PartyPrivacyFriends = 64,
2399
- PartyPrivacyVoiceChannel = 128,
2400
- Embedded = 256
2401
- }
2402
- export interface GatewayActivityButton {
2403
- /**
2404
- * The text shown on the button (1-32 characters)
2405
- */
2406
- label: string;
2407
- /**
2408
- * The url opened when clicking the button (1-512 characters)
2409
- */
2410
- url: string;
2411
- }
2412
- /**
2413
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-list-sync-thread-list-sync-event-fields}
2414
- */
2415
- export interface GatewayThreadListSync {
2416
- /**
2417
- * ID of the guild
2418
- */
2419
- guild_id: Snowflake;
2420
- /**
2421
- * The ids of all the parent channels whose threads are being synced, otherwise the entire guild
2422
- */
2423
- channel_ids?: Array<Snowflake>;
2424
- /**
2425
- * Array of the synced threads
2426
- */
2427
- threads: Array<APIThreadChannel>;
2428
- /**
2429
- * The member objects for the client user in each joined thread that was synced
2430
- */
2431
- members: Array<APIThreadMember>;
2432
- }
2433
- /**
2434
- * @see {@link https://discord.com/developers/docs/topics/gateway-events#thread-members-update-thread-members-update-event-fields}
2435
- */
2436
- export interface GatewayThreadMembersUpdate {
2437
- /**
2438
- * The id of the thread for which members are being synced
2439
- */
2440
- id: Snowflake;
2441
- /**
2442
- * The id of the guild that the thread is in
2443
- */
2444
- guild_id: Snowflake;
2445
- /**
2446
- * The approximate member count of the thread, does not count above 50 even if there are more members
2447
- */
2448
- member_count: number;
2449
- /**
2450
- * The members that were added to the thread
2451
- */
2452
- added_members?: Array<APIThreadMember>;
2453
- /**
2454
- * The ids of the members that were removed from the thread
2455
- */
2456
- removed_member_ids?: Array<Snowflake>;
2457
- }
2458
- //# sourceMappingURL=types.d.ts.map