dfx 0.126.1 → 1.0.0

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