seyfert 1.5.0 → 2.1.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 (439) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +18 -10
  3. package/lib/api/Router.js +2 -2
  4. package/lib/api/Routes/applications.d.ts +23 -1
  5. package/lib/api/Routes/channels.d.ts +1 -1
  6. package/lib/api/Routes/gateway.d.ts +1 -1
  7. package/lib/api/Routes/guilds.d.ts +5 -2
  8. package/lib/api/Routes/interactions.d.ts +8 -2
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/skus.d.ts +11 -0
  11. package/lib/api/Routes/skus.js +2 -0
  12. package/lib/api/Routes/stage-instances.d.ts +1 -1
  13. package/lib/api/Routes/stickers.d.ts +2 -2
  14. package/lib/api/Routes/users.d.ts +1 -1
  15. package/lib/api/Routes/voice.d.ts +1 -1
  16. package/lib/api/Routes/webhooks.d.ts +2 -2
  17. package/lib/api/api.d.ts +3 -3
  18. package/lib/api/api.js +15 -25
  19. package/lib/api/bucket.d.ts +0 -1
  20. package/lib/api/shared.d.ts +1 -2
  21. package/lib/api/utils/constants.d.ts +2 -5
  22. package/lib/api/utils/constants.js +3 -7
  23. package/lib/api/utils/utils.d.ts +1 -2
  24. package/lib/api/utils/utils.js +2 -3
  25. package/lib/builders/ActionRow.d.ts +1 -1
  26. package/lib/builders/ActionRow.js +3 -3
  27. package/lib/builders/Attachment.d.ts +3 -4
  28. package/lib/builders/Attachment.js +24 -25
  29. package/lib/builders/Base.d.ts +2 -2
  30. package/lib/builders/Base.js +1 -1
  31. package/lib/builders/Button.d.ts +7 -7
  32. package/lib/builders/Button.js +11 -9
  33. package/lib/builders/Embed.d.ts +1 -1
  34. package/lib/builders/Modal.d.ts +1 -1
  35. package/lib/builders/Modal.js +2 -2
  36. package/lib/builders/Poll.d.ts +2 -2
  37. package/lib/builders/Poll.js +5 -6
  38. package/lib/builders/SelectMenu.d.ts +1 -1
  39. package/lib/builders/SelectMenu.js +17 -18
  40. package/lib/builders/index.d.ts +1 -1
  41. package/lib/builders/index.js +10 -11
  42. package/lib/cache/adapters/default.d.ts +16 -9
  43. package/lib/cache/adapters/default.js +42 -31
  44. package/lib/cache/adapters/index.d.ts +0 -1
  45. package/lib/cache/adapters/index.js +0 -1
  46. package/lib/cache/adapters/limited.d.ts +17 -12
  47. package/lib/cache/adapters/limited.js +80 -36
  48. package/lib/cache/adapters/types.d.ts +6 -7
  49. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  50. package/lib/cache/adapters/workeradapter.js +13 -0
  51. package/lib/cache/index.d.ts +20 -8
  52. package/lib/cache/index.js +328 -22
  53. package/lib/cache/resources/bans.d.ts +9 -6
  54. package/lib/cache/resources/bans.js +13 -4
  55. package/lib/cache/resources/channels.d.ts +6 -4
  56. package/lib/cache/resources/channels.js +13 -7
  57. package/lib/cache/resources/default/base.d.ts +7 -7
  58. package/lib/cache/resources/default/base.js +2 -2
  59. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  60. package/lib/cache/resources/default/guild-based.js +6 -6
  61. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  62. package/lib/cache/resources/default/guild-related.js +10 -8
  63. package/lib/cache/resources/emojis.d.ts +15 -6
  64. package/lib/cache/resources/emojis.js +13 -4
  65. package/lib/cache/resources/guilds.d.ts +9 -6
  66. package/lib/cache/resources/guilds.js +27 -6
  67. package/lib/cache/resources/members.d.ts +9 -6
  68. package/lib/cache/resources/members.js +22 -6
  69. package/lib/cache/resources/messages.d.ts +11 -7
  70. package/lib/cache/resources/messages.js +19 -7
  71. package/lib/cache/resources/overwrites.d.ts +11 -2
  72. package/lib/cache/resources/overwrites.js +9 -0
  73. package/lib/cache/resources/presence.d.ts +3 -2
  74. package/lib/cache/resources/roles.d.ts +9 -6
  75. package/lib/cache/resources/roles.js +13 -4
  76. package/lib/cache/resources/stage-instances.d.ts +2 -2
  77. package/lib/cache/resources/stickers.d.ts +9 -6
  78. package/lib/cache/resources/stickers.js +13 -4
  79. package/lib/cache/resources/threads.d.ts +9 -6
  80. package/lib/cache/resources/threads.js +13 -4
  81. package/lib/cache/resources/users.d.ts +9 -6
  82. package/lib/cache/resources/users.js +13 -4
  83. package/lib/cache/resources/voice-states.d.ts +11 -8
  84. package/lib/cache/resources/voice-states.js +15 -4
  85. package/lib/client/base.d.ts +29 -21
  86. package/lib/client/base.js +64 -57
  87. package/lib/client/client.d.ts +11 -16
  88. package/lib/client/client.js +51 -37
  89. package/lib/client/collectors.d.ts +10 -10
  90. package/lib/client/collectors.js +26 -1
  91. package/lib/client/httpclient.d.ts +8 -13
  92. package/lib/client/httpclient.js +27 -218
  93. package/lib/client/index.d.ts +1 -0
  94. package/lib/client/index.js +1 -0
  95. package/lib/client/transformers.d.ts +68 -0
  96. package/lib/client/transformers.js +99 -0
  97. package/lib/client/types.d.ts +5 -0
  98. package/lib/client/types.js +2 -0
  99. package/lib/client/workerclient.d.ts +16 -15
  100. package/lib/client/workerclient.js +130 -72
  101. package/lib/commands/applications/chat.d.ts +35 -34
  102. package/lib/commands/applications/chat.js +5 -9
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/entryPoint.d.ts +46 -0
  106. package/lib/commands/applications/entryPoint.js +56 -0
  107. package/lib/commands/applications/entrycontext.d.ts +40 -0
  108. package/lib/commands/applications/entrycontext.js +85 -0
  109. package/lib/commands/applications/menu.d.ts +2 -3
  110. package/lib/commands/applications/menu.js +2 -5
  111. package/lib/commands/applications/menucontext.d.ts +14 -13
  112. package/lib/commands/applications/menucontext.js +9 -9
  113. package/lib/commands/applications/options.d.ts +4 -3
  114. package/lib/commands/applications/options.js +20 -21
  115. package/lib/commands/applications/shared.d.ts +3 -1
  116. package/lib/commands/decorators.d.ts +47 -35
  117. package/lib/commands/decorators.js +20 -18
  118. package/lib/commands/handle.d.ts +65 -0
  119. package/lib/commands/handle.js +727 -0
  120. package/lib/commands/handler.d.ts +29 -18
  121. package/lib/commands/handler.js +295 -164
  122. package/lib/commands/index.d.ts +2 -0
  123. package/lib/commands/index.js +2 -0
  124. package/lib/commands/optionresolver.d.ts +13 -13
  125. package/lib/commands/optionresolver.js +24 -29
  126. package/lib/common/bot/watcher.d.ts +4 -33
  127. package/lib/common/bot/watcher.js +0 -109
  128. package/lib/common/index.d.ts +1 -0
  129. package/lib/common/index.js +1 -0
  130. package/lib/common/it/colors.js +48 -49
  131. package/lib/common/it/formatter.d.ts +32 -0
  132. package/lib/common/it/formatter.js +42 -0
  133. package/lib/common/it/logger.d.ts +0 -1
  134. package/lib/common/it/logger.js +3 -3
  135. package/lib/common/it/utils.d.ts +24 -4
  136. package/lib/common/it/utils.js +88 -17
  137. package/lib/common/shorters/application.d.ts +56 -0
  138. package/lib/common/shorters/application.js +81 -0
  139. package/lib/common/shorters/bans.d.ts +4 -5
  140. package/lib/common/shorters/bans.js +3 -3
  141. package/lib/common/shorters/channels.d.ts +7 -6
  142. package/lib/common/shorters/channels.js +19 -15
  143. package/lib/common/shorters/emojis.d.ts +5 -6
  144. package/lib/common/shorters/emojis.js +5 -5
  145. package/lib/common/shorters/guilds.d.ts +18 -16
  146. package/lib/common/shorters/guilds.js +31 -26
  147. package/lib/common/shorters/interaction.d.ts +7 -7
  148. package/lib/common/shorters/interaction.js +3 -2
  149. package/lib/common/shorters/members.d.ts +29 -12
  150. package/lib/common/shorters/members.js +55 -16
  151. package/lib/common/shorters/messages.d.ts +7 -8
  152. package/lib/common/shorters/messages.js +8 -7
  153. package/lib/common/shorters/reactions.d.ts +3 -3
  154. package/lib/common/shorters/reactions.js +11 -11
  155. package/lib/common/shorters/roles.d.ts +9 -7
  156. package/lib/common/shorters/roles.js +26 -7
  157. package/lib/common/shorters/templates.d.ts +7 -8
  158. package/lib/common/shorters/templates.js +7 -7
  159. package/lib/common/shorters/threads.d.ts +6 -7
  160. package/lib/common/shorters/threads.js +6 -9
  161. package/lib/common/shorters/users.d.ts +4 -4
  162. package/lib/common/shorters/users.js +8 -4
  163. package/lib/common/shorters/webhook.d.ts +10 -10
  164. package/lib/common/shorters/webhook.js +10 -9
  165. package/lib/common/types/resolvables.d.ts +2 -2
  166. package/lib/common/types/util.d.ts +4 -2
  167. package/lib/common/types/write.d.ts +3 -3
  168. package/lib/components/ActionRow.d.ts +1 -1
  169. package/lib/components/BaseComponent.d.ts +1 -1
  170. package/lib/components/BaseComponent.js +1 -1
  171. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  172. package/lib/components/ButtonComponent.d.ts +17 -7
  173. package/lib/components/ButtonComponent.js +19 -2
  174. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  175. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  176. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  177. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  178. package/lib/components/TextInputComponent.d.ts +2 -2
  179. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  180. package/lib/components/componentcommand.js +2 -2
  181. package/lib/components/componentcontext.d.ts +10 -9
  182. package/lib/components/componentcontext.js +8 -8
  183. package/lib/components/handler.d.ts +15 -14
  184. package/lib/components/handler.js +89 -93
  185. package/lib/components/index.d.ts +3 -3
  186. package/lib/components/index.js +12 -10
  187. package/lib/components/modalcontext.d.ts +12 -11
  188. package/lib/components/modalcontext.js +2 -2
  189. package/lib/deps/mixer.d.ts +8 -0
  190. package/lib/deps/mixer.js +71 -0
  191. package/lib/events/handler.d.ts +35 -13
  192. package/lib/events/handler.js +57 -24
  193. package/lib/events/hooks/application_command.d.ts +2 -2
  194. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  195. package/lib/events/hooks/auto_moderation.js +4 -4
  196. package/lib/events/hooks/channel.d.ts +2 -2
  197. package/lib/events/hooks/channel.js +4 -7
  198. package/lib/events/hooks/custom.d.ts +4 -3
  199. package/lib/events/hooks/custom.js +5 -1
  200. package/lib/events/hooks/dispatch.d.ts +3 -4
  201. package/lib/events/hooks/dispatch.js +2 -2
  202. package/lib/events/hooks/entitlement.d.ts +5 -37
  203. package/lib/events/hooks/entitlement.js +7 -7
  204. package/lib/events/hooks/guild.d.ts +125 -125
  205. package/lib/events/hooks/guild.js +13 -15
  206. package/lib/events/hooks/integration.d.ts +27 -28
  207. package/lib/events/hooks/integration.js +3 -3
  208. package/lib/events/hooks/interactions.d.ts +2 -2
  209. package/lib/events/hooks/invite.d.ts +18 -17
  210. package/lib/events/hooks/message.d.ts +69 -54
  211. package/lib/events/hooks/message.js +4 -8
  212. package/lib/events/hooks/presence.d.ts +17 -16
  213. package/lib/events/hooks/stage.d.ts +4 -4
  214. package/lib/events/hooks/subscriptions.d.ts +35 -0
  215. package/lib/events/hooks/subscriptions.js +16 -0
  216. package/lib/events/hooks/thread.d.ts +132 -63
  217. package/lib/events/hooks/thread.js +4 -4
  218. package/lib/events/hooks/typing.d.ts +28 -6
  219. package/lib/events/hooks/typing.js +2 -2
  220. package/lib/events/hooks/user.d.ts +3 -3
  221. package/lib/events/hooks/user.js +2 -2
  222. package/lib/events/hooks/voice.d.ts +28 -3
  223. package/lib/events/hooks/voice.js +8 -4
  224. package/lib/events/hooks/webhook.d.ts +1 -1
  225. package/lib/index.d.ts +5 -14
  226. package/lib/index.js +7 -12
  227. package/lib/langs/handler.d.ts +14 -10
  228. package/lib/langs/handler.js +40 -9
  229. package/lib/structures/AutoModerationRule.d.ts +4 -4
  230. package/lib/structures/AutoModerationRule.js +1 -2
  231. package/lib/structures/ClientUser.d.ts +1 -1
  232. package/lib/structures/Entitlement.d.ts +10 -0
  233. package/lib/structures/Entitlement.js +16 -0
  234. package/lib/structures/Guild.d.ts +33 -34
  235. package/lib/structures/Guild.js +5 -2
  236. package/lib/structures/GuildBan.d.ts +6 -6
  237. package/lib/structures/GuildBan.js +2 -1
  238. package/lib/structures/GuildEmoji.d.ts +4 -4
  239. package/lib/structures/GuildEmoji.js +3 -2
  240. package/lib/structures/GuildMember.d.ts +20 -17
  241. package/lib/structures/GuildMember.js +18 -8
  242. package/lib/structures/GuildPreview.d.ts +1 -1
  243. package/lib/structures/GuildRole.d.ts +5 -3
  244. package/lib/structures/GuildRole.js +8 -1
  245. package/lib/structures/GuildTemplate.d.ts +2 -2
  246. package/lib/structures/GuildTemplate.js +1 -1
  247. package/lib/structures/Interaction.d.ts +76 -39
  248. package/lib/structures/Interaction.js +179 -94
  249. package/lib/structures/Message.d.ts +29 -33
  250. package/lib/structures/Message.js +8 -12
  251. package/lib/structures/Poll.d.ts +4 -3
  252. package/lib/structures/Poll.js +6 -2
  253. package/lib/structures/Sticker.d.ts +7 -7
  254. package/lib/structures/Sticker.js +7 -7
  255. package/lib/structures/User.d.ts +5 -4
  256. package/lib/structures/User.js +2 -1
  257. package/lib/structures/VoiceState.d.ts +15 -11
  258. package/lib/structures/VoiceState.js +35 -17
  259. package/lib/structures/Webhook.d.ts +6 -7
  260. package/lib/structures/Webhook.js +6 -7
  261. package/lib/structures/channels.d.ts +11 -10
  262. package/lib/structures/channels.js +70 -65
  263. package/lib/structures/extra/BaseGuild.d.ts +12 -2
  264. package/lib/structures/extra/BaseGuild.js +30 -3
  265. package/lib/structures/extra/BitField.d.ts +1 -1
  266. package/lib/structures/extra/BitField.js +3 -2
  267. package/lib/structures/extra/DiscordBase.js +2 -2
  268. package/lib/structures/extra/Permissions.d.ts +3 -1
  269. package/lib/structures/extra/Permissions.js +8 -3
  270. package/lib/types/gateway.d.ts +1554 -0
  271. package/lib/types/gateway.js +4 -0
  272. package/lib/types/index.d.ts +9 -1
  273. package/lib/types/index.js +28 -1
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +65 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  303. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  304. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  305. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  306. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  307. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  308. package/lib/types/payloads/_interactions/applicationCommands.d.ts +188 -0
  309. package/lib/types/payloads/_interactions/applicationCommands.js +88 -0
  310. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  311. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  312. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  313. package/lib/types/payloads/_interactions/base.js +2 -0
  314. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  315. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  316. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  317. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  318. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  319. package/lib/types/payloads/_interactions/ping.js +2 -0
  320. package/lib/types/payloads/_interactions/responses.d.ts +184 -0
  321. package/lib/types/payloads/_interactions/responses.js +58 -0
  322. package/lib/types/payloads/application.d.ts +292 -0
  323. package/lib/types/payloads/application.js +117 -0
  324. package/lib/types/payloads/auditLog.d.ts +644 -0
  325. package/lib/types/payloads/auditLog.js +80 -0
  326. package/lib/types/payloads/autoModeration.d.ts +219 -0
  327. package/lib/types/payloads/autoModeration.js +87 -0
  328. package/lib/types/payloads/channel.d.ts +1748 -0
  329. package/lib/types/payloads/channel.js +376 -0
  330. package/lib/types/payloads/emoji.d.ts +48 -0
  331. package/lib/types/payloads/emoji.js +5 -0
  332. package/lib/types/payloads/gateway.d.ts +373 -0
  333. package/lib/types/payloads/gateway.js +82 -0
  334. package/lib/types/payloads/guild.d.ts +1060 -0
  335. package/lib/types/payloads/guild.js +324 -0
  336. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  337. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  338. package/lib/types/payloads/index.d.ts +64 -0
  339. package/lib/types/payloads/index.js +37 -0
  340. package/lib/types/payloads/interactions.d.ts +24 -0
  341. package/lib/types/payloads/interactions.js +23 -0
  342. package/lib/types/payloads/invite.d.ts +121 -0
  343. package/lib/types/payloads/invite.js +23 -0
  344. package/lib/types/payloads/monetization.d.ts +178 -0
  345. package/lib/types/payloads/monetization.js +88 -0
  346. package/lib/types/payloads/oauth2.d.ts +131 -0
  347. package/lib/types/payloads/oauth2.js +135 -0
  348. package/lib/types/payloads/permissions.d.ts +97 -0
  349. package/lib/types/payloads/permissions.js +16 -0
  350. package/lib/types/payloads/poll.d.ts +104 -0
  351. package/lib/types/payloads/poll.js +16 -0
  352. package/lib/types/payloads/stageInstance.d.ts +77 -0
  353. package/lib/types/payloads/stageInstance.js +19 -0
  354. package/lib/types/payloads/sticker.d.ts +123 -0
  355. package/lib/types/payloads/sticker.js +30 -0
  356. package/lib/types/payloads/teams.d.ts +78 -0
  357. package/lib/types/payloads/teams.js +23 -0
  358. package/lib/types/payloads/template.d.ts +62 -0
  359. package/lib/types/payloads/template.js +5 -0
  360. package/lib/types/payloads/user.d.ts +337 -0
  361. package/lib/types/payloads/user.js +167 -0
  362. package/lib/types/payloads/voice.d.ts +89 -0
  363. package/lib/types/payloads/voice.js +5 -0
  364. package/lib/types/payloads/webhook.d.ts +76 -0
  365. package/lib/types/payloads/webhook.js +21 -0
  366. package/lib/types/rest/application.d.ts +57 -0
  367. package/lib/types/rest/application.js +2 -0
  368. package/lib/types/rest/auditLog.d.ts +30 -0
  369. package/lib/types/rest/auditLog.js +2 -0
  370. package/lib/types/rest/autoModeration.d.ts +66 -0
  371. package/lib/types/rest/autoModeration.js +2 -0
  372. package/lib/types/rest/channel.d.ts +699 -0
  373. package/lib/types/rest/channel.js +11 -0
  374. package/lib/types/rest/emoji.d.ts +54 -0
  375. package/lib/types/rest/emoji.js +2 -0
  376. package/lib/types/rest/gateway.d.ts +9 -0
  377. package/lib/types/rest/gateway.js +2 -0
  378. package/lib/types/rest/guild.d.ts +865 -0
  379. package/lib/types/rest/guild.js +2 -0
  380. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  381. package/lib/types/rest/guildScheduledEvent.js +2 -0
  382. package/lib/types/rest/index.d.ts +296 -0
  383. package/lib/types/rest/index.js +292 -0
  384. package/lib/types/rest/interactions.d.ts +216 -0
  385. package/lib/types/rest/interactions.js +2 -0
  386. package/lib/types/rest/invite.d.ts +24 -0
  387. package/lib/types/rest/invite.js +2 -0
  388. package/lib/types/rest/monetization.d.ts +103 -0
  389. package/lib/types/rest/monetization.js +11 -0
  390. package/lib/types/rest/oauth2.d.ts +172 -0
  391. package/lib/types/rest/oauth2.js +2 -0
  392. package/lib/types/rest/poll.d.ts +44 -0
  393. package/lib/types/rest/poll.js +2 -0
  394. package/lib/types/rest/stageInstance.d.ts +58 -0
  395. package/lib/types/rest/stageInstance.js +2 -0
  396. package/lib/types/rest/sticker.d.ts +77 -0
  397. package/lib/types/rest/sticker.js +2 -0
  398. package/lib/types/rest/template.d.ts +62 -0
  399. package/lib/types/rest/template.js +2 -0
  400. package/lib/types/rest/user.d.ts +120 -0
  401. package/lib/types/rest/user.js +2 -0
  402. package/lib/types/rest/voice.d.ts +17 -0
  403. package/lib/types/rest/voice.js +2 -0
  404. package/lib/types/rest/webhook.d.ts +250 -0
  405. package/lib/types/rest/webhook.js +2 -0
  406. package/lib/types/utils/index.d.ts +808 -0
  407. package/lib/types/utils/index.js +810 -0
  408. package/lib/websocket/SharedTypes.d.ts +12 -5
  409. package/lib/websocket/SharedTypes.js +1 -1
  410. package/lib/websocket/constants/index.d.ts +3 -3
  411. package/lib/websocket/constants/index.js +11 -1
  412. package/lib/websocket/discord/basesocket.d.ts +7 -7
  413. package/lib/websocket/discord/basesocket.js +34 -22
  414. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  415. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  416. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  417. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  418. package/lib/websocket/discord/shard.d.ts +9 -8
  419. package/lib/websocket/discord/shard.js +83 -57
  420. package/lib/websocket/discord/sharder.d.ts +6 -5
  421. package/lib/websocket/discord/sharder.js +70 -11
  422. package/lib/websocket/discord/shared.d.ts +34 -6
  423. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  424. package/lib/websocket/discord/socket/custom.js +300 -0
  425. package/lib/websocket/discord/worker.d.ts +6 -10
  426. package/lib/websocket/discord/workermanager.d.ts +10 -16
  427. package/lib/websocket/discord/workermanager.js +63 -50
  428. package/lib/websocket/structures/index.d.ts +0 -1
  429. package/lib/websocket/structures/index.js +1 -1
  430. package/lib/websocket/structures/timeout.d.ts +0 -1
  431. package/package.json +70 -74
  432. package/lib/cache/adapters/redis.d.ts +0 -37
  433. package/lib/cache/adapters/redis.js +0 -218
  434. package/lib/client/oninteractioncreate.d.ts +0 -4
  435. package/lib/client/oninteractioncreate.js +0 -198
  436. package/lib/client/onmessagecreate.d.ts +0 -13
  437. package/lib/client/onmessagecreate.js +0 -410
  438. package/lib/structures/extra/functions.d.ts +0 -12
  439. package/lib/structures/extra/functions.js +0 -70
@@ -0,0 +1,1554 @@
1
+ import type { Snowflake, ChannelType, GatewayDispatchEvents, GatewayOpcodes } from './index';
2
+ import type { GatewayPresenceUpdate } from './payloads/gateway';
3
+ import type { APIApplication, APIApplicationCommandPermission, APIAutoModerationRule, APIAutoModerationAction, APIChannel, APIEmoji, APIGuild, APIGuildIntegration, APIGuildMember, APIGuildScheduledEvent, APIInteraction, APIMessage, APIRole, APIStageInstance, APISticker, APIThreadChannel, APIThreadMember, APIUnavailableGuild, APIUser, GatewayActivity, GatewayPresenceUpdate as RawGatewayPresenceUpdate, GatewayThreadListSync as RawGatewayThreadListSync, GatewayThreadMembersUpdate as RawGatewayThreadMembersUpdate, APIVoiceState, InviteTargetType, PresenceUpdateStatus, AutoModerationRuleTriggerType, APIAuditLogEntry, APIEntitlement, APIPartialEmoji, APISubscription } from './payloads/index';
4
+ import type { ReactionType } from './rest/index';
5
+ import type { AnimationTypes, Nullable } from './utils';
6
+ /**
7
+ * https://discord.com/developers/docs/topics/gateway#connecting-gateway-url-query-string-params
8
+ */
9
+ export interface GatewayURLQuery {
10
+ v: string;
11
+ encoding: 'etf' | 'json';
12
+ compress?: 'zlib-stream';
13
+ }
14
+ /**
15
+ * Types extracted from https://discord.com/developers/docs/topics/gateway
16
+ */
17
+ export type GatewaySendPayload = GatewayHeartbeat | GatewayIdentify | GatewayRequestGuildMembers | GatewayResume | GatewayUpdatePresence | GatewayVoiceStateUpdate;
18
+ export type GatewayReceivePayload = GatewayDispatchPayload | GatewayHeartbeatAck | GatewayHeartbeatRequest | GatewayHello | GatewayInvalidSession | GatewayReconnect;
19
+ export type GatewayDispatchPayload = GatewayApplicationCommandPermissionsUpdateDispatch | GatewayAutoModerationActionExecutionDispatch | GatewayAutoModerationRuleCreateDispatch | GatewayAutoModerationRuleDeleteDispatch | GatewayAutoModerationRuleModifyDispatch | GatewayChannelModifyDispatch | GatewayChannelPinsUpdateDispatch | GatewayEntitlementModifyDispatch | GatewayGuildAuditLogEntryCreateDispatch | GatewayGuildBanModifyDispatch | GatewayGuildCreateDispatch | GatewayGuildDeleteDispatch | GatewayGuildEmojisUpdateDispatch | GatewayGuildIntegrationsUpdateDispatch | GatewayGuildMemberAddDispatch | GatewayGuildMemberRemoveDispatch | GatewayGuildMembersChunkDispatch | GatewayGuildMemberUpdateDispatch | GatewayGuildModifyDispatch | GatewayGuildRoleDeleteDispatch | GatewayGuildRoleModifyDispatch | GatewayGuildScheduledEventCreateDispatch | GatewayGuildScheduledEventDeleteDispatch | GatewayGuildScheduledEventUpdateDispatch | GatewayGuildScheduledEventUserAddDispatch | GatewayGuildScheduledEventUserRemoveDispatch | GatewayGuildStickersUpdateDispatch | GatewayIntegrationCreateDispatch | GatewayIntegrationDeleteDispatch | GatewayIntegrationUpdateDispatch | GatewayInteractionCreateDispatch | GatewayInviteCreateDispatch | GatewayInviteDeleteDispatch | GatewayMessageCreateDispatch | GatewayMessageDeleteBulkDispatch | GatewayMessageDeleteDispatch | GatewayMessagePollVoteAddDispatch | GatewayMessagePollVoteRemoveDispatch | GatewayMessageReactionAddDispatch | GatewayMessageReactionRemoveAllDispatch | GatewayMessageReactionRemoveDispatch | GatewayMessageReactionRemoveEmojiDispatch | GatewayMessageUpdateDispatch | GatewayPresenceUpdateDispatch | GatewayReadyDispatch | GatewayResumedDispatch | GatewayStageInstanceCreateDispatch | GatewayStageInstanceDeleteDispatch | GatewayStageInstanceUpdateDispatch | GatewayThreadCreateDispatch | GatewayThreadDeleteDispatch | GatewayThreadListSyncDispatch | GatewayThreadMembersUpdateDispatch | GatewayThreadMemberUpdateDispatch | GatewayThreadUpdateDispatch | GatewayTypingStartDispatch | GatewayUserUpdateDispatch | GatewayVoiceServerUpdateDispatch | GatewayVoiceStateUpdateDispatch | GatewayWebhooksUpdateDispatch;
20
+ /**
21
+ * https://discord.com/developers/docs/topics/gateway-events#hello
22
+ */
23
+ export interface GatewayHello extends NonDispatchPayload {
24
+ op: GatewayOpcodes.Hello;
25
+ d: GatewayHelloData;
26
+ }
27
+ /**
28
+ * https://discord.com/developers/docs/topics/gateway-events#hello
29
+ */
30
+ export interface GatewayHelloData {
31
+ /**
32
+ * The interval (in milliseconds) the client should heartbeat with
33
+ */
34
+ heartbeat_interval: number;
35
+ }
36
+ /**
37
+ * https://discord.com/developers/docs/topics/gateway#sending-heartbeats
38
+ */
39
+ export interface GatewayHeartbeatRequest extends NonDispatchPayload {
40
+ op: GatewayOpcodes.Heartbeat;
41
+ d: never;
42
+ }
43
+ /**
44
+ * https://discord.com/developers/docs/topics/gateway-events#heartbeat
45
+ */
46
+ export interface GatewayHeartbeatAck extends NonDispatchPayload {
47
+ op: GatewayOpcodes.HeartbeatAck;
48
+ d: never;
49
+ }
50
+ /**
51
+ * https://discord.com/developers/docs/topics/gateway-events#invalid-session
52
+ */
53
+ export interface GatewayInvalidSession extends NonDispatchPayload {
54
+ op: GatewayOpcodes.InvalidSession;
55
+ d: GatewayInvalidSessionData;
56
+ }
57
+ /**
58
+ * https://discord.com/developers/docs/topics/gateway-events#invalid-session
59
+ */
60
+ export type GatewayInvalidSessionData = boolean;
61
+ /**
62
+ * https://discord.com/developers/docs/topics/gateway-events#reconnect
63
+ */
64
+ export interface GatewayReconnect extends NonDispatchPayload {
65
+ op: GatewayOpcodes.Reconnect;
66
+ d: never;
67
+ }
68
+ /**
69
+ * https://discord.com/developers/docs/topics/gateway-events#ready
70
+ */
71
+ export type GatewayReadyDispatch = DataPayload<GatewayDispatchEvents.Ready, GatewayReadyDispatchData>;
72
+ /**
73
+ * https://discord.com/developers/docs/topics/gateway-events#ready
74
+ */
75
+ export interface GatewayReadyDispatchData {
76
+ /**
77
+ * Gateway version
78
+ *
79
+ * See https://discord.com/developers/docs/reference#api-versioning
80
+ */
81
+ v: number;
82
+ /**
83
+ * Information about the user including email
84
+ *
85
+ * See https://discord.com/developers/docs/resources/user#user-object
86
+ */
87
+ user: APIUser;
88
+ /**
89
+ * The guilds the user is in
90
+ *
91
+ * See https://discord.com/developers/docs/resources/guild#unavailable-guild-object
92
+ */
93
+ guilds: APIUnavailableGuild[];
94
+ /**
95
+ * Used for resuming connections
96
+ */
97
+ session_id: string;
98
+ /**
99
+ * Gateway url for resuming connections
100
+ */
101
+ resume_gateway_url: string;
102
+ /**
103
+ * The shard information associated with this session, if sent when identifying
104
+ *
105
+ * See https://discord.com/developers/docs/topics/gateway#sharding
106
+ */
107
+ shard?: [shard_id: number, shard_count: number];
108
+ /**
109
+ * Contains `id` and `flags`
110
+ *
111
+ * See https://discord.com/developers/docs/resources/application#application-object
112
+ */
113
+ application: Pick<APIApplication, 'flags' | 'id'>;
114
+ }
115
+ /**
116
+ * https://discord.com/developers/docs/topics/gateway-events#resumed
117
+ */
118
+ export type GatewayResumedDispatch = DataPayload<GatewayDispatchEvents.Resumed, never>;
119
+ /**
120
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create
121
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update
122
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete
123
+ */
124
+ export type GatewayAutoModerationRuleModifyDispatch = DataPayload<GatewayDispatchEvents.AutoModerationRuleCreate | GatewayDispatchEvents.AutoModerationRuleDelete | GatewayDispatchEvents.AutoModerationRuleUpdate, GatewayAutoModerationRuleModifyDispatchData>;
125
+ /**
126
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create
127
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update
128
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete
129
+ */
130
+ export type GatewayAutoModerationRuleModifyDispatchData = APIAutoModerationRule;
131
+ /**
132
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create
133
+ */
134
+ export type GatewayAutoModerationRuleCreateDispatch = GatewayAutoModerationRuleModifyDispatch;
135
+ /**
136
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create
137
+ */
138
+ export type GatewayAutoModerationRuleCreateDispatchData = GatewayAutoModerationRuleModifyDispatchData;
139
+ /**
140
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update
141
+ */
142
+ export type GatewayAutoModerationRuleUpdateDispatch = GatewayAutoModerationRuleModifyDispatch;
143
+ /**
144
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update
145
+ */
146
+ export type GatewayAutoModerationRuleUpdateDispatchData = GatewayAutoModerationRuleModifyDispatchData;
147
+ /**
148
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete
149
+ */
150
+ export type GatewayAutoModerationRuleDeleteDispatch = GatewayAutoModerationRuleModifyDispatch;
151
+ /**
152
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete
153
+ */
154
+ export type GatewayAutoModerationRuleDeleteDispatchData = GatewayAutoModerationRuleModifyDispatchData;
155
+ /**
156
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-action-execution
157
+ */
158
+ export type GatewayAutoModerationActionExecutionDispatch = DataPayload<GatewayDispatchEvents.AutoModerationActionExecution, GatewayAutoModerationActionExecutionDispatchData>;
159
+ /**
160
+ * https://discord.com/developers/docs/topics/gateway-events#auto-moderation-action-execution
161
+ */
162
+ export interface GatewayAutoModerationActionExecutionDispatchData {
163
+ /**
164
+ * The id of the guild in which action was executed
165
+ */
166
+ guild_id: Snowflake;
167
+ /**
168
+ * The action which was executed
169
+ */
170
+ action: APIAutoModerationAction;
171
+ /**
172
+ * The id of the rule which action belongs to
173
+ */
174
+ rule_id: Snowflake;
175
+ /**
176
+ * The trigger type of rule which was triggered
177
+ */
178
+ rule_trigger_type: AutoModerationRuleTriggerType;
179
+ /**
180
+ * The id of the user which generated the content which triggered the rule
181
+ */
182
+ user_id: Snowflake;
183
+ /**
184
+ * The id of the channel in which user content was posted
185
+ */
186
+ channel_id?: Snowflake;
187
+ /**
188
+ * The id of any user message which content belongs to
189
+ *
190
+ * This field will not be present if message was blocked by AutoMod or content was not part of any message
191
+ */
192
+ message_id?: Snowflake;
193
+ /**
194
+ * The id of any system auto moderation messages posted as a result of this action
195
+ *
196
+ * This field will not be present if this event does not correspond to an action with type {@link AutoModerationActionType.SendAlertMessage}
197
+ */
198
+ alert_system_message_id?: Snowflake;
199
+ /**
200
+ * The user generated text content
201
+ *
202
+ * `MESSAGE_CONTENT` (`1 << 15`) gateway intent is required to receive non-empty values from this field
203
+ */
204
+ content: string;
205
+ /**
206
+ * The word or phrase configured in the rule that triggered the rule
207
+ */
208
+ matched_keyword: string | null;
209
+ /**
210
+ * The substring in content that triggered the rule
211
+ *
212
+ * `MESSAGE_CONTENT` (`1 << 15`) gateway intent is required to receive non-empty values from this field
213
+ */
214
+ matched_content: string | null;
215
+ }
216
+ /**
217
+ * https://discord.com/developers/docs/topics/gateway-events#application-command-permissions-update
218
+ */
219
+ export type GatewayApplicationCommandPermissionsUpdateDispatch = DataPayload<GatewayDispatchEvents.ApplicationCommandPermissionsUpdate, GatewayApplicationCommandPermissionsUpdateDispatchData>;
220
+ /**
221
+ * https://discord.com/developers/docs/topics/gateway-events#application-command-permissions-update
222
+ */
223
+ export interface GatewayApplicationCommandPermissionsUpdateDispatchData {
224
+ /**
225
+ * ID of the command or the application ID
226
+ */
227
+ id: Snowflake;
228
+ /**
229
+ * ID of the application the command belongs to
230
+ */
231
+ application_id: Snowflake;
232
+ /**
233
+ * ID of the guild
234
+ */
235
+ guild_id: Snowflake;
236
+ /**
237
+ * Permissions for the command in the guild, max of 100
238
+ */
239
+ permissions: APIApplicationCommandPermission[];
240
+ }
241
+ /**
242
+ * https://discord.com/developers/docs/topics/gateway-events#channel-create
243
+ * https://discord.com/developers/docs/topics/gateway-events#channel-update
244
+ * https://discord.com/developers/docs/topics/gateway-events#channel-delete
245
+ */
246
+ export type GatewayChannelModifyDispatch = DataPayload<GatewayDispatchEvents.ChannelCreate | GatewayDispatchEvents.ChannelDelete | GatewayDispatchEvents.ChannelUpdate, GatewayChannelModifyDispatchData>;
247
+ /**
248
+ * https://discord.com/developers/docs/topics/gateway-events#channel-create
249
+ * https://discord.com/developers/docs/topics/gateway-events#channel-update
250
+ * https://discord.com/developers/docs/topics/gateway-events#channel-delete
251
+ */
252
+ export type GatewayChannelModifyDispatchData = APIChannel;
253
+ /**
254
+ * https://discord.com/developers/docs/topics/gateway-events#channel-create
255
+ */
256
+ export type GatewayChannelCreateDispatch = GatewayChannelModifyDispatch;
257
+ /**
258
+ * https://discord.com/developers/docs/topics/gateway-events#channel-create
259
+ */
260
+ export type GatewayChannelCreateDispatchData = GatewayChannelModifyDispatchData;
261
+ /**
262
+ * https://discord.com/developers/docs/topics/gateway-events#channel-update
263
+ */
264
+ export type GatewayChannelUpdateDispatch = GatewayChannelModifyDispatch;
265
+ /**
266
+ * https://discord.com/developers/docs/topics/gateway-events#channel-update
267
+ */
268
+ export type GatewayChannelUpdateDispatchData = GatewayChannelModifyDispatchData;
269
+ /**
270
+ * https://discord.com/developers/docs/topics/gateway-events#channel-delete
271
+ */
272
+ export type GatewayChannelDeleteDispatch = GatewayChannelModifyDispatch;
273
+ /**
274
+ * https://discord.com/developers/docs/topics/gateway-events#channel-delete
275
+ */
276
+ export type GatewayChannelDeleteDispatchData = GatewayChannelModifyDispatchData;
277
+ /**
278
+ * https://discord.com/developers/docs/topics/gateway-events#channel-pins-update
279
+ */
280
+ export type GatewayChannelPinsUpdateDispatch = DataPayload<GatewayDispatchEvents.ChannelPinsUpdate, GatewayChannelPinsUpdateDispatchData>;
281
+ /**
282
+ * https://discord.com/developers/docs/topics/gateway-events#channel-pins-update
283
+ */
284
+ export interface GatewayChannelPinsUpdateDispatchData {
285
+ /**
286
+ * The id of the guild
287
+ */
288
+ guild_id?: Snowflake;
289
+ /**
290
+ * The id of the channel
291
+ */
292
+ channel_id: Snowflake;
293
+ /**
294
+ * The time at which the most recent pinned message was pinned
295
+ */
296
+ last_pin_timestamp?: string | null;
297
+ }
298
+ /**
299
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-create
300
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-update
301
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-delete
302
+ */
303
+ export type GatewayEntitlementModifyDispatchData = APIEntitlement;
304
+ /**
305
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-create
306
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-update
307
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-delete
308
+ */
309
+ export type GatewayEntitlementModifyDispatch = DataPayload<GatewayDispatchEvents.EntitlementCreate | GatewayDispatchEvents.EntitlementDelete | GatewayDispatchEvents.EntitlementUpdate, GatewayEntitlementModifyDispatchData>;
310
+ /**
311
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-create
312
+ */
313
+ export type GatewayEntitlementCreateDispatchData = Omit<GatewayEntitlementModifyDispatchData, 'ends_at'> & {
314
+ ends_at: null;
315
+ };
316
+ /**
317
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-create
318
+ */
319
+ export type GatewayEntitlementCreateDispatch = GatewayEntitlementModifyDispatch;
320
+ /**
321
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-update
322
+ */
323
+ export type GatewayEntitlementUpdateDispatchData = GatewayEntitlementModifyDispatchData;
324
+ /**
325
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-update
326
+ */
327
+ export type GatewayEntitlementUpdateDispatch = GatewayEntitlementModifyDispatch;
328
+ /**
329
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-delete
330
+ */
331
+ export type GatewayEntitlementDeleteDispatchData = GatewayEntitlementModifyDispatchData;
332
+ /**
333
+ * https://discord.com/developers/docs/topics/gateway-events#entitlement-delete
334
+ */
335
+ export type GatewayEntitlementDeleteDispatch = GatewayEntitlementModifyDispatch;
336
+ /**
337
+ * https://discord.com/developers/docs/topics/gateway-events#guild-create
338
+ */
339
+ export type GatewayGuildModifyDispatch = DataPayload<GatewayDispatchEvents.GuildUpdate, GatewayGuildModifyDispatchData>;
340
+ /**
341
+ * https://discord.com/developers/docs/topics/gateway-events#guild-update
342
+ */
343
+ export type GatewayGuildModifyDispatchData = APIGuild;
344
+ /**
345
+ * https://discord.com/developers/docs/topics/gateway-events#guild-create
346
+ */
347
+ export type GatewayGuildCreateDispatch = DataPayload<GatewayDispatchEvents.GuildCreate, GatewayGuildCreateDispatchData>;
348
+ /**
349
+ * https://discord.com/developers/docs/topics/gateway-events#guild-create
350
+ * https://discord.com/developers/docs/topics/gateway-events#guild-create-guild-create-extra-fields
351
+ */
352
+ export interface GatewayGuildCreateDispatchData extends APIGuild {
353
+ /**
354
+ * When this guild was joined at
355
+ *
356
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
357
+ */
358
+ joined_at: string;
359
+ /**
360
+ * `true` if this is considered a large guild
361
+ *
362
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
363
+ */
364
+ large: boolean;
365
+ /**
366
+ * `true` if this guild is unavailable due to an outage
367
+ */
368
+ unavailable?: boolean;
369
+ /**
370
+ * Total number of members in this guild
371
+ *
372
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
373
+ */
374
+ member_count: number;
375
+ /**
376
+ * States of members currently in voice channels; lacks the `guild_id` key
377
+ *
378
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
379
+ *
380
+ * See https://discord.com/developers/docs/resources/voice#voice-state-object
381
+ */
382
+ voice_states: Omit<APIVoiceState, 'guild_id'>[];
383
+ /**
384
+ * Users in the guild
385
+ *
386
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
387
+ *
388
+ * See https://discord.com/developers/docs/resources/guild#guild-member-object
389
+ */
390
+ members: APIGuildMember[];
391
+ /**
392
+ * Channels in the guild
393
+ *
394
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
395
+ *
396
+ * See https://discord.com/developers/docs/resources/channel#channel-object
397
+ */
398
+ channels: APIChannel[];
399
+ /**
400
+ * Threads in the guild
401
+ *
402
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
403
+ *
404
+ * See https://discord.com/developers/docs/resources/channel#channel-object
405
+ */
406
+ threads: APIChannel[];
407
+ /**
408
+ * Presences of the members in the guild, will only include non-offline members if the size is greater than `large_threshold`
409
+ *
410
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
411
+ *
412
+ * See https://discord.com/developers/docs/topics/gateway-events#presence-update
413
+ */
414
+ presences: GatewayPresenceUpdate[];
415
+ /**
416
+ * The stage instances in the guild
417
+ *
418
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
419
+ *
420
+ * See https://discord.com/developers/docs/resources/stage-instance#stage-instance-object-stage-instance-structure
421
+ */
422
+ stage_instances: APIStageInstance[];
423
+ /**
424
+ * The scheduled events in the guild
425
+ *
426
+ * **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway-events#guild-create) event**
427
+ *
428
+ * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object
429
+ */
430
+ guild_scheduled_events: APIGuildScheduledEvent[];
431
+ }
432
+ /**
433
+ * https://discord.com/developers/docs/topics/gateway-events#guild-update
434
+ */
435
+ export type GatewayGuildUpdateDispatch = GatewayGuildModifyDispatch;
436
+ /**
437
+ * https://discord.com/developers/docs/topics/gateway-events#guild-update
438
+ */
439
+ export type GatewayGuildUpdateDispatchData = GatewayGuildModifyDispatchData;
440
+ /**
441
+ * https://discord.com/developers/docs/topics/gateway-events#guild-delete
442
+ */
443
+ export type GatewayGuildDeleteDispatch = DataPayload<GatewayDispatchEvents.GuildDelete, GatewayGuildDeleteDispatchData>;
444
+ /**
445
+ * https://discord.com/developers/docs/topics/gateway-events#guild-delete
446
+ */
447
+ export type GatewayGuildDeleteDispatchData = APIUnavailableGuild;
448
+ /**
449
+ * https://discord.com/developers/docs/topics/gateway-events#guild-ban-add
450
+ * https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove
451
+ */
452
+ export type GatewayGuildBanModifyDispatch = DataPayload<GatewayDispatchEvents.GuildBanAdd | GatewayDispatchEvents.GuildBanRemove, GatewayGuildBanModifyDispatchData>;
453
+ /**
454
+ * https://discord.com/developers/docs/topics/gateway-events#guild-ban-add
455
+ * https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove
456
+ */
457
+ export interface GatewayGuildBanModifyDispatchData {
458
+ /**
459
+ * ID of the guild
460
+ */
461
+ guild_id: Snowflake;
462
+ /**
463
+ * The banned user
464
+ *
465
+ * See https://discord.com/developers/docs/resources/user#user-object
466
+ */
467
+ user: APIUser;
468
+ }
469
+ /**
470
+ * https://discord.com/developers/docs/topics/gateway-events#guild-ban-add
471
+ */
472
+ export type GatewayGuildBanAddDispatch = GatewayGuildBanModifyDispatch;
473
+ /**
474
+ * https://discord.com/developers/docs/topics/gateway-events#guild-ban-add
475
+ */
476
+ export type GatewayGuildBanAddDispatchData = GatewayGuildBanModifyDispatchData;
477
+ /**
478
+ * https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove
479
+ */
480
+ export type GatewayGuildBanRemoveDispatch = GatewayGuildBanModifyDispatch;
481
+ /**
482
+ * https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove
483
+ */
484
+ export type GatewayGuildBanRemoveDispatchData = GatewayGuildBanModifyDispatchData;
485
+ /**
486
+ * https://discord.com/developers/docs/topics/gateway-events#guild-emojis-update
487
+ */
488
+ export type GatewayGuildEmojisUpdateDispatch = DataPayload<GatewayDispatchEvents.GuildEmojisUpdate, GatewayGuildEmojisUpdateDispatchData>;
489
+ /**
490
+ * https://discord.com/developers/docs/topics/gateway-events#guild-emojis-update
491
+ */
492
+ export interface GatewayGuildEmojisUpdateDispatchData {
493
+ /**
494
+ * ID of the guild
495
+ */
496
+ guild_id: Snowflake;
497
+ /**
498
+ * Array of emojis
499
+ *
500
+ * See https://discord.com/developers/docs/resources/emoji#emoji-object
501
+ */
502
+ emojis: APIEmoji[];
503
+ }
504
+ /**
505
+ * https://discord.com/developers/docs/topics/gateway-events#guild-stickers-update
506
+ */
507
+ export type GatewayGuildStickersUpdateDispatch = DataPayload<GatewayDispatchEvents.GuildStickersUpdate, GatewayGuildStickersUpdateDispatchData>;
508
+ /**
509
+ * https://discord.com/developers/docs/topics/gateway-events#guild-stickers-update
510
+ */
511
+ export interface GatewayGuildStickersUpdateDispatchData {
512
+ /**
513
+ * ID of the guild
514
+ */
515
+ guild_id: Snowflake;
516
+ /**
517
+ * Array of stickers
518
+ *
519
+ * See https://discord.com/developers/docs/resources/sticker#sticker-object
520
+ */
521
+ stickers: APISticker[];
522
+ }
523
+ /**
524
+ * https://discord.com/developers/docs/topics/gateway-events#guild-integrations-update
525
+ */
526
+ export type GatewayGuildIntegrationsUpdateDispatch = DataPayload<GatewayDispatchEvents.GuildIntegrationsUpdate, GatewayGuildIntegrationsUpdateDispatchData>;
527
+ /**
528
+ * https://discord.com/developers/docs/topics/gateway-events#guild-integrations-update
529
+ */
530
+ export interface GatewayGuildIntegrationsUpdateDispatchData {
531
+ /**
532
+ * ID of the guild whose integrations were updated
533
+ */
534
+ guild_id: Snowflake;
535
+ }
536
+ /**
537
+ * https://discord.com/developers/docs/topics/gateway-events#guild-member-add
538
+ */
539
+ export type GatewayGuildMemberAddDispatch = DataPayload<GatewayDispatchEvents.GuildMemberAdd, GatewayGuildMemberAddDispatchData>;
540
+ /**
541
+ * https://discord.com/developers/docs/topics/gateway-events#guild-member-add
542
+ */
543
+ export interface GatewayGuildMemberAddDispatchData extends APIGuildMember {
544
+ /**
545
+ * The id of the guild
546
+ */
547
+ guild_id: Snowflake;
548
+ }
549
+ /**
550
+ * https://discord.com/developers/docs/topics/gateway-events#guild-member-remove
551
+ */
552
+ export type GatewayGuildMemberRemoveDispatch = DataPayload<GatewayDispatchEvents.GuildMemberRemove, GatewayGuildMemberRemoveDispatchData>;
553
+ /**
554
+ * https://discord.com/developers/docs/topics/gateway-events#guild-member-remove
555
+ */
556
+ export interface GatewayGuildMemberRemoveDispatchData {
557
+ /**
558
+ * The id of the guild
559
+ */
560
+ guild_id: Snowflake;
561
+ /**
562
+ * The user who was removed
563
+ *
564
+ * See https://discord.com/developers/docs/resources/user#user-object
565
+ */
566
+ user: APIUser;
567
+ }
568
+ /**
569
+ * https://discord.com/developers/docs/topics/gateway-events#guild-member-update
570
+ */
571
+ export type GatewayGuildMemberUpdateDispatch = DataPayload<GatewayDispatchEvents.GuildMemberUpdate, GatewayGuildMemberUpdateDispatchData>;
572
+ /**
573
+ * https://discord.com/developers/docs/topics/gateway-events#guild-member-update
574
+ */
575
+ export type GatewayGuildMemberUpdateDispatchData = Nullable<Pick<APIGuildMember, 'joined_at'>> & Omit<APIGuildMember, 'deaf' | 'joined_at' | 'mute' | 'user'> & Partial<Pick<APIGuildMember, 'deaf' | 'mute'>> & Required<Pick<APIGuildMember, 'user'>> & {
576
+ /**
577
+ * The id of the guild
578
+ */
579
+ guild_id: Snowflake;
580
+ };
581
+ /**
582
+ * https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk
583
+ */
584
+ export type GatewayGuildMembersChunkDispatch = DataPayload<GatewayDispatchEvents.GuildMembersChunk, GatewayGuildMembersChunkDispatchData>;
585
+ /**
586
+ * https://discord.com/developers/docs/topics/gateway-events#update-presence
587
+ */
588
+ export type GatewayGuildMembersChunkPresence = Omit<RawGatewayPresenceUpdate, 'guild_id'>;
589
+ /**
590
+ * https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk
591
+ */
592
+ export interface GatewayGuildMembersChunkDispatchData {
593
+ /**
594
+ * The id of the guild
595
+ */
596
+ guild_id: Snowflake;
597
+ /**
598
+ * Set of guild members
599
+ *
600
+ * See https://discord.com/developers/docs/resources/guild#guild-member-object
601
+ */
602
+ members: APIGuildMember[];
603
+ /**
604
+ * The chunk index in the expected chunks for this response (`0 <= chunk_index < chunk_count`)
605
+ */
606
+ chunk_index: number;
607
+ /**
608
+ * The total number of expected chunks for this response
609
+ */
610
+ chunk_count: number;
611
+ /**
612
+ * If passing an invalid id to `REQUEST_GUILD_MEMBERS`, it will be returned here
613
+ */
614
+ not_found?: unknown[];
615
+ /**
616
+ * If passing true to `REQUEST_GUILD_MEMBERS`, presences of the returned members will be here
617
+ *
618
+ * See https://discord.com/developers/docs/topics/gateway-events#update-presence
619
+ */
620
+ presences?: GatewayGuildMembersChunkPresence[];
621
+ /**
622
+ * The nonce used in the Guild Members Request
623
+ *
624
+ * See https://discord.com/developers/docs/topics/gateway-events#request-guild-members
625
+ */
626
+ nonce?: string;
627
+ }
628
+ /**
629
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-create
630
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-update
631
+ */
632
+ export type GatewayGuildRoleModifyDispatch = DataPayload<GatewayDispatchEvents.GuildRoleCreate | GatewayDispatchEvents.GuildRoleUpdate, GatewayGuildRoleModifyDispatchData>;
633
+ /**
634
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-create
635
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-update
636
+ */
637
+ export interface GatewayGuildRoleModifyDispatchData {
638
+ /**
639
+ * The id of the guild
640
+ */
641
+ guild_id: Snowflake;
642
+ /**
643
+ * The role created or updated
644
+ *
645
+ * See https://discord.com/developers/docs/topics/permissions#role-object
646
+ */
647
+ role: APIRole;
648
+ }
649
+ /**
650
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-create
651
+ */
652
+ export type GatewayGuildRoleCreateDispatch = GatewayGuildRoleModifyDispatch;
653
+ /**
654
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-create
655
+ */
656
+ export type GatewayGuildRoleCreateDispatchData = GatewayGuildRoleModifyDispatchData;
657
+ /**
658
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-update
659
+ */
660
+ export type GatewayGuildRoleUpdateDispatch = GatewayGuildRoleModifyDispatch;
661
+ /**
662
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-update
663
+ */
664
+ export type GatewayGuildRoleUpdateDispatchData = GatewayGuildRoleModifyDispatchData;
665
+ /**
666
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-delete
667
+ */
668
+ export type GatewayGuildRoleDeleteDispatch = DataPayload<GatewayDispatchEvents.GuildRoleDelete, GatewayGuildRoleDeleteDispatchData>;
669
+ /**
670
+ * https://discord.com/developers/docs/topics/gateway-events#guild-role-delete
671
+ */
672
+ export interface GatewayGuildRoleDeleteDispatchData {
673
+ /**
674
+ * The id of the guild
675
+ */
676
+ guild_id: Snowflake;
677
+ /**
678
+ * The id of the role
679
+ */
680
+ role_id: Snowflake;
681
+ }
682
+ export type GatewayGuildScheduledEventCreateDispatch = DataPayload<GatewayDispatchEvents.GuildScheduledEventCreate, GatewayGuildScheduledEventCreateDispatchData>;
683
+ export type GatewayGuildScheduledEventCreateDispatchData = APIGuildScheduledEvent;
684
+ export type GatewayGuildScheduledEventUpdateDispatch = DataPayload<GatewayDispatchEvents.GuildScheduledEventUpdate, GatewayGuildScheduledEventUpdateDispatchData>;
685
+ export type GatewayGuildScheduledEventUpdateDispatchData = APIGuildScheduledEvent;
686
+ export type GatewayGuildScheduledEventDeleteDispatch = DataPayload<GatewayDispatchEvents.GuildScheduledEventDelete, GatewayGuildScheduledEventDeleteDispatchData>;
687
+ export type GatewayGuildScheduledEventDeleteDispatchData = APIGuildScheduledEvent;
688
+ export type GatewayGuildScheduledEventUserAddDispatch = DataPayload<GatewayDispatchEvents.GuildScheduledEventUserAdd, GatewayGuildScheduledEventUserAddDispatchData>;
689
+ export interface GatewayGuildScheduledEventUserAddDispatchData {
690
+ guild_scheduled_event_id: Snowflake;
691
+ user_id: Snowflake;
692
+ guild_id: Snowflake;
693
+ }
694
+ export type GatewayGuildScheduledEventUserRemoveDispatch = DataPayload<GatewayDispatchEvents.GuildScheduledEventUserRemove, GatewayGuildScheduledEventUserAddDispatchData>;
695
+ export interface GatewayGuildScheduledEventUserRemoveDispatchData {
696
+ guild_scheduled_event_id: Snowflake;
697
+ user_id: Snowflake;
698
+ guild_id: Snowflake;
699
+ }
700
+ /**
701
+ * https://discord.com/developers/docs/topics/gateway-events#integration-create
702
+ */
703
+ export type GatewayIntegrationCreateDispatch = DataPayload<GatewayDispatchEvents.IntegrationCreate, GatewayIntegrationCreateDispatchData>;
704
+ /**
705
+ * https://discord.com/developers/docs/topics/gateway-events#integration-create
706
+ */
707
+ export type GatewayIntegrationCreateDispatchData = APIGuildIntegration & {
708
+ guild_id: Snowflake;
709
+ };
710
+ /**
711
+ * https://discord.com/developers/docs/topics/gateway-events#integration-update
712
+ */
713
+ export type GatewayIntegrationUpdateDispatch = DataPayload<GatewayDispatchEvents.IntegrationUpdate, GatewayIntegrationUpdateDispatchData>;
714
+ /**
715
+ * https://discord.com/developers/docs/topics/gateway-events#integration-update
716
+ */
717
+ export type GatewayIntegrationUpdateDispatchData = APIGuildIntegration & {
718
+ guild_id: Snowflake;
719
+ };
720
+ /**
721
+ * https://discord.com/developers/docs/topics/gateway-events#integration-update
722
+ */
723
+ export type GatewayIntegrationDeleteDispatch = DataPayload<GatewayDispatchEvents.IntegrationDelete, GatewayIntegrationDeleteDispatchData>;
724
+ /**
725
+ * https://discord.com/developers/docs/topics/gateway-events#integration-delete
726
+ */
727
+ export interface GatewayIntegrationDeleteDispatchData {
728
+ /**
729
+ * Integration id
730
+ */
731
+ id: Snowflake;
732
+ /**
733
+ * ID of the guild
734
+ */
735
+ guild_id: Snowflake;
736
+ /**
737
+ * ID of the bot/OAuth2 application for this Discord integration
738
+ */
739
+ application_id?: Snowflake;
740
+ }
741
+ /**
742
+ * https://discord.com/developers/docs/topics/gateway-events#interaction-create
743
+ */
744
+ export type GatewayInteractionCreateDispatch = DataPayload<GatewayDispatchEvents.InteractionCreate, GatewayInteractionCreateDispatchData>;
745
+ /**
746
+ * https://discord.com/developers/docs/topics/gateway-events#interaction-create
747
+ */
748
+ export type GatewayInteractionCreateDispatchData = APIInteraction;
749
+ /**
750
+ * https://discord.com/developers/docs/topics/gateway-events#invite-create
751
+ */
752
+ export type GatewayInviteCreateDispatch = DataPayload<GatewayDispatchEvents.InviteCreate, GatewayInviteCreateDispatchData>;
753
+ /**
754
+ * https://discord.com/developers/docs/topics/gateway-events#invite-create
755
+ */
756
+ export interface GatewayInviteCreateDispatchData {
757
+ /**
758
+ * The channel the invite is for
759
+ */
760
+ channel_id: Snowflake;
761
+ /**
762
+ * The unique invite code
763
+ *
764
+ * See https://discord.com/developers/docs/resources/invite#invite-object
765
+ */
766
+ code: string;
767
+ /**
768
+ * The time at which the invite was created
769
+ */
770
+ created_at: number;
771
+ /**
772
+ * The guild of the invite
773
+ */
774
+ guild_id?: Snowflake;
775
+ /**
776
+ * The user that created the invite
777
+ *
778
+ * See https://discord.com/developers/docs/resources/user#user-object
779
+ */
780
+ inviter?: APIUser;
781
+ /**
782
+ * How long the invite is valid for (in seconds)
783
+ */
784
+ max_age: number;
785
+ /**
786
+ * The maximum number of times the invite can be used
787
+ */
788
+ max_uses: number;
789
+ /**
790
+ * The type of target for this voice channel invite
791
+ *
792
+ * See https://discord.com/developers/docs/resources/invite#invite-object-invite-target-types
793
+ */
794
+ target_type?: InviteTargetType;
795
+ /**
796
+ * The user whose stream to display for this voice channel stream invite
797
+ *
798
+ * See https://discord.com/developers/docs/resources/user#user-object
799
+ */
800
+ target_user?: APIUser;
801
+ /**
802
+ * The embedded application to open for this voice channel embedded application invite
803
+ */
804
+ target_application?: Partial<APIApplication>;
805
+ /**
806
+ * Whether or not the invite is temporary (invited users will be kicked on disconnect unless they're assigned a role)
807
+ */
808
+ temporary: boolean;
809
+ /**
810
+ * How many times the invite has been used (always will be `0`)
811
+ */
812
+ uses: 0;
813
+ }
814
+ /**
815
+ * https://discord.com/developers/docs/topics/gateway-events#invite-delete
816
+ */
817
+ export type GatewayInviteDeleteDispatch = DataPayload<GatewayDispatchEvents.InviteDelete, GatewayInviteDeleteDispatchData>;
818
+ /**
819
+ * https://discord.com/developers/docs/topics/gateway-events#invite-delete
820
+ */
821
+ export interface GatewayInviteDeleteDispatchData {
822
+ /**
823
+ * The channel of the invite
824
+ */
825
+ channel_id: Snowflake;
826
+ /**
827
+ * The guild of the invite
828
+ */
829
+ guild_id?: Snowflake;
830
+ /**
831
+ * The unique invite code
832
+ *
833
+ * See https://discord.com/developers/docs/resources/invite#invite-object
834
+ */
835
+ code: string;
836
+ }
837
+ /**
838
+ * https://discord.com/developers/docs/topics/gateway-events#message-create
839
+ */
840
+ export type GatewayMessageCreateDispatch = DataPayload<GatewayDispatchEvents.MessageCreate, GatewayMessageCreateDispatchData>;
841
+ /**
842
+ * https://discord.com/developers/docs/topics/gateway-events#message-create
843
+ */
844
+ export type GatewayMessageCreateDispatchData = GatewayMessageEventExtraFields & Omit<APIMessage, 'mentions'>;
845
+ /**
846
+ * https://discord.com/developers/docs/topics/gateway-events#message-update
847
+ */
848
+ export type GatewayMessageUpdateDispatch = DataPayload<GatewayDispatchEvents.MessageUpdate, GatewayMessageUpdateDispatchData>;
849
+ /**
850
+ * https://discord.com/developers/docs/topics/gateway-events#message-update
851
+ */
852
+ export type GatewayMessageUpdateDispatchData = Omit<GatewayMessageCreateDispatchData, 'tts'> & {
853
+ tts: false;
854
+ };
855
+ export interface GatewayMessageEventExtraFields {
856
+ /**
857
+ * ID of the guild the message was sent in
858
+ */
859
+ guild_id?: Snowflake;
860
+ /**
861
+ * Member properties for this message's author
862
+ *
863
+ * The member object exists in `MESSAGE_CREATE` and `MESSAGE_UPDATE` events
864
+ * from text-based guild channels
865
+ *
866
+ * See https://discord.com/developers/docs/resources/guild#guild-member-object
867
+ */
868
+ member?: Omit<APIGuildMember, 'user'>;
869
+ /**
870
+ * Users specifically mentioned in the message
871
+ *
872
+ * The `member` field is only present in `MESSAGE_CREATE` and `MESSAGE_UPDATE` events
873
+ * from text-based guild channels
874
+ *
875
+ * See https://discord.com/developers/docs/resources/user#user-object
876
+ * See https://discord.com/developers/docs/resources/guild#guild-member-object
877
+ */
878
+ mentions: (APIUser & {
879
+ member?: Omit<APIGuildMember, 'user'>;
880
+ })[];
881
+ }
882
+ /**
883
+ * https://discord.com/developers/docs/topics/gateway-events#message-delete
884
+ */
885
+ export type GatewayMessageDeleteDispatch = DataPayload<GatewayDispatchEvents.MessageDelete, GatewayMessageDeleteDispatchData>;
886
+ /**
887
+ * https://discord.com/developers/docs/topics/gateway-events#message-delete
888
+ */
889
+ export interface GatewayMessageDeleteDispatchData {
890
+ /**
891
+ * The id of the message
892
+ */
893
+ id: Snowflake;
894
+ /**
895
+ * The id of the channel
896
+ */
897
+ channel_id: Snowflake;
898
+ /**
899
+ * The id of the guild
900
+ */
901
+ guild_id?: Snowflake;
902
+ }
903
+ /**
904
+ * https://discord.com/developers/docs/topics/gateway-events#message-delete-bulk
905
+ */
906
+ export type GatewayMessageDeleteBulkDispatch = DataPayload<GatewayDispatchEvents.MessageDeleteBulk, GatewayMessageDeleteBulkDispatchData>;
907
+ /**
908
+ * https://discord.com/developers/docs/topics/gateway-events#message-delete-bulk
909
+ */
910
+ export interface GatewayMessageDeleteBulkDispatchData {
911
+ /**
912
+ * The ids of the messages
913
+ */
914
+ ids: Snowflake[];
915
+ /**
916
+ * The id of the channel
917
+ */
918
+ channel_id: Snowflake;
919
+ /**
920
+ * The id of the guild
921
+ */
922
+ guild_id?: Snowflake;
923
+ }
924
+ /**
925
+ * https://discord.com/developers/docs/topics/gateway-events#message-reaction-add
926
+ */
927
+ export type GatewayMessageReactionAddDispatch = ReactionData<GatewayDispatchEvents.MessageReactionAdd>;
928
+ /**
929
+ * https://discord.com/developers/docs/topics/gateway-events#message-reaction-add
930
+ */
931
+ export type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDispatch['d'];
932
+ /**
933
+ * https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove
934
+ */
935
+ export type GatewayMessageReactionRemoveDispatch = ReactionData<GatewayDispatchEvents.MessageReactionRemove, 'burst_colors' | 'member' | 'message_author_id'>;
936
+ /**
937
+ * https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove
938
+ */
939
+ export type GatewayMessageReactionRemoveDispatchData = GatewayMessageReactionRemoveDispatch['d'];
940
+ /**
941
+ * https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-all
942
+ */
943
+ export type GatewayMessageReactionRemoveAllDispatch = DataPayload<GatewayDispatchEvents.MessageReactionRemoveAll, GatewayMessageReactionRemoveAllDispatchData>;
944
+ /**
945
+ * https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-all
946
+ */
947
+ export type GatewayMessageReactionRemoveAllDispatchData = MessageReactionRemoveData;
948
+ /**
949
+ * https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-emoji
950
+ */
951
+ export type GatewayMessageReactionRemoveEmojiDispatch = DataPayload<GatewayDispatchEvents.MessageReactionRemoveEmoji, GatewayMessageReactionRemoveEmojiDispatchData>;
952
+ /**
953
+ * https://discord.com/developers/docs/topics/gateway-events#message-reaction-remove-emoji
954
+ */
955
+ export interface GatewayMessageReactionRemoveEmojiDispatchData extends MessageReactionRemoveData {
956
+ /**
957
+ * The emoji that was removed
958
+ */
959
+ emoji: APIEmoji;
960
+ }
961
+ /**
962
+ * https://discord.com/developers/docs/topics/gateway-events#presence-update
963
+ */
964
+ export type GatewayPresenceUpdateDispatch = DataPayload<GatewayDispatchEvents.PresenceUpdate, GatewayPresenceUpdateDispatchData>;
965
+ /**
966
+ * https://discord.com/developers/docs/topics/gateway-events#presence-update
967
+ */
968
+ export type GatewayPresenceUpdateDispatchData = RawGatewayPresenceUpdate;
969
+ /**
970
+ * https://discord.com/developers/docs/topics/gateway-events#stage-instance-create
971
+ */
972
+ export type GatewayStageInstanceCreateDispatch = DataPayload<GatewayDispatchEvents.StageInstanceCreate, GatewayStageInstanceCreateDispatchData>;
973
+ /**
974
+ * https://discord.com/developers/docs/topics/gateway-events#stage-instance-create
975
+ */
976
+ export type GatewayStageInstanceCreateDispatchData = APIStageInstance;
977
+ /**
978
+ * https://discord.com/developers/docs/topics/gateway-events#stage-instance-delete
979
+ */
980
+ export type GatewayStageInstanceDeleteDispatch = DataPayload<GatewayDispatchEvents.StageInstanceDelete, GatewayStageInstanceDeleteDispatchData>;
981
+ /**
982
+ * https://discord.com/developers/docs/topics/gateway-events#stage-instance-delete
983
+ */
984
+ export type GatewayStageInstanceDeleteDispatchData = APIStageInstance;
985
+ /**
986
+ * https://discord.com/developers/docs/topics/gateway-events#stage-instance-update
987
+ */
988
+ export type GatewayStageInstanceUpdateDispatch = DataPayload<GatewayDispatchEvents.StageInstanceUpdate, GatewayStageInstanceUpdateDispatchData>;
989
+ /**
990
+ * https://discord.com/developers/docs/topics/gateway-events#stage-instance-update
991
+ */
992
+ export type GatewayStageInstanceUpdateDispatchData = APIStageInstance;
993
+ /**
994
+ * https://canary.discord.com/developers/docs/topics/gateway-events#subscription-create
995
+ */
996
+ export type GatewaySubscriptionCreateDispatch = DataPayload<GatewayDispatchEvents.SubscriptionCreate, GatewaySubscriptionCreateDispatchData>;
997
+ export type GatewaySubscriptionCreateDispatchData = APISubscription;
998
+ /**
999
+ * https://canary.discord.com/developers/docs/topics/gateway-events#subscription-update
1000
+ */
1001
+ export type GatewaySubscriptionUpdateDispatch = DataPayload<GatewayDispatchEvents.SubscriptionUpdate, GatewaySubscriptionUpdateDispatchData>;
1002
+ export type GatewaySubscriptionUpdateDispatchData = APISubscription;
1003
+ /**
1004
+ * https://canary.discord.com/developers/docs/topics/gateway-events#subscription-delete
1005
+ */
1006
+ export type GatewaySubscriptionDeleteDispatch = DataPayload<GatewayDispatchEvents.SubscriptionDelete, GatewaySubscriptionDeleteDispatchData>;
1007
+ export type GatewaySubscriptionDeleteDispatchData = APISubscription;
1008
+ /**
1009
+ * https://discord.com/developers/docs/topics/gateway-events#thread-list-sync
1010
+ */
1011
+ export type GatewayThreadListSyncDispatch = DataPayload<GatewayDispatchEvents.ThreadListSync, GatewayThreadListSyncDispatchData>;
1012
+ /**
1013
+ * https://discord.com/developers/docs/topics/gateway-events#thread-list-sync
1014
+ */
1015
+ export type GatewayThreadListSyncDispatchData = RawGatewayThreadListSync;
1016
+ /**
1017
+ * https://discord.com/developers/docs/topics/gateway-events#thread-members-update
1018
+ */
1019
+ export type GatewayThreadMembersUpdateDispatch = DataPayload<GatewayDispatchEvents.ThreadMembersUpdate, GatewayThreadMembersUpdateDispatchData>;
1020
+ /**
1021
+ * https://discord.com/developers/docs/topics/gateway-events#thread-members-update
1022
+ */
1023
+ export type GatewayThreadMembersUpdateDispatchData = RawGatewayThreadMembersUpdate;
1024
+ /**
1025
+ * https://discord.com/developers/docs/topics/gateway-events#thread-member-update
1026
+ */
1027
+ export type GatewayThreadMemberUpdateDispatch = DataPayload<GatewayDispatchEvents.ThreadMemberUpdate, GatewayThreadMemberUpdateDispatchData>;
1028
+ /**
1029
+ * https://discord.com/developers/docs/topics/gateway-events#thread-member-update
1030
+ */
1031
+ export type GatewayThreadMemberUpdateDispatchData = APIThreadMember & {
1032
+ guild_id: Snowflake;
1033
+ };
1034
+ /**
1035
+ * @deprecated This type doesn't accurately reflect the Discord API.
1036
+ * Use {@apilink GatewayThreadCreateDispatch},
1037
+ * {@apilink GatewayThreadUpdateDispatch}, or
1038
+ * {@apilink GatewayThreadDeleteDispatch} instead.
1039
+ * https://discord.com/developers/docs/topics/gateway-events#thread-create
1040
+ * https://discord.com/developers/docs/topics/gateway-events#thread-update
1041
+ * https://discord.com/developers/docs/topics/gateway-events#thread-delete
1042
+ */
1043
+ export type GatewayThreadModifyDispatch = DataPayload<GatewayDispatchEvents.ThreadCreate | GatewayDispatchEvents.ThreadDelete | GatewayDispatchEvents.ThreadUpdate, GatewayChannelModifyDispatchData>;
1044
+ /**
1045
+ * https://discord.com/developers/docs/topics/gateway-events#thread-create
1046
+ */
1047
+ export type GatewayThreadCreateDispatch = DataPayload<GatewayDispatchEvents.ThreadCreate, GatewayThreadCreateDispatchData>;
1048
+ /**
1049
+ * https://discord.com/developers/docs/topics/gateway-events#thread-create
1050
+ */
1051
+ export interface GatewayThreadCreateDispatchData extends APIThreadChannel {
1052
+ /**
1053
+ * Whether the thread is newly created or not.
1054
+ */
1055
+ newly_created?: true;
1056
+ }
1057
+ /**
1058
+ * https://discord.com/developers/docs/topics/gateway-events#thread-update
1059
+ */
1060
+ export type GatewayThreadUpdateDispatch = DataPayload<GatewayDispatchEvents.ThreadUpdate, GatewayThreadUpdateDispatchData>;
1061
+ /**
1062
+ * https://discord.com/developers/docs/topics/gateway-events#thread-update
1063
+ */
1064
+ export type GatewayThreadUpdateDispatchData = APIThreadChannel;
1065
+ /**
1066
+ * https://discord.com/developers/docs/topics/gateway-events#thread-delete
1067
+ */
1068
+ export type GatewayThreadDeleteDispatch = DataPayload<GatewayDispatchEvents.ThreadDelete, GatewayThreadDeleteDispatchData>;
1069
+ /**
1070
+ * https://discord.com/developers/docs/topics/gateway-events#thread-delete
1071
+ */
1072
+ export interface GatewayThreadDeleteDispatchData {
1073
+ /**
1074
+ * The id of the channel
1075
+ */
1076
+ id: Snowflake;
1077
+ /**
1078
+ * The id of the guild
1079
+ */
1080
+ guild_id: Snowflake;
1081
+ /**
1082
+ * The id of the parent channel of the thread
1083
+ */
1084
+ parent_id: Snowflake;
1085
+ /**
1086
+ * The type of the channel
1087
+ *
1088
+ * See https://discord.com/developers/docs/resources/channel#channel-object-channel-types
1089
+ */
1090
+ type: ChannelType;
1091
+ }
1092
+ /**
1093
+ * https://discord.com/developers/docs/topics/gateway-events#typing-start
1094
+ */
1095
+ export type GatewayTypingStartDispatch = DataPayload<GatewayDispatchEvents.TypingStart, GatewayTypingStartDispatchData>;
1096
+ /**
1097
+ * https://discord.com/developers/docs/topics/gateway-events#typing-start
1098
+ */
1099
+ export interface GatewayTypingStartDispatchData {
1100
+ /**
1101
+ * The id of the channel
1102
+ */
1103
+ channel_id: Snowflake;
1104
+ /**
1105
+ * The id of the guild
1106
+ */
1107
+ guild_id?: Snowflake;
1108
+ /**
1109
+ * The id of the user
1110
+ */
1111
+ user_id: Snowflake;
1112
+ /**
1113
+ * Unix time (in seconds) of when the user started typing
1114
+ */
1115
+ timestamp: number;
1116
+ /**
1117
+ * The member who started typing if this happened in a guild
1118
+ *
1119
+ * See https://discord.com/developers/docs/resources/guild#guild-member-object
1120
+ */
1121
+ member?: APIGuildMember;
1122
+ }
1123
+ /**
1124
+ * https://discord.com/developers/docs/topics/gateway-events#user-update
1125
+ */
1126
+ export type GatewayUserUpdateDispatch = DataPayload<GatewayDispatchEvents.UserUpdate, GatewayUserUpdateDispatchData>;
1127
+ /**
1128
+ * https://discord.com/developers/docs/topics/gateway-events#user-update
1129
+ */
1130
+ export type GatewayUserUpdateDispatchData = APIUser;
1131
+ /**
1132
+ * https://discord.com/developers/docs/topics/gateway-events#voice-channel-effect-send
1133
+ */
1134
+ export type GatewayVoiceChannelEffectSendDispach = DataPayload<GatewayDispatchEvents.VoiceChannelEffectSend, GatewayVoiceChannelEffectSendDispachData>;
1135
+ /**
1136
+ * https://discord.com/developers/docs/topics/gateway-events#voice-channel-effect-send-voice-channel-effect-send-event-fields
1137
+ */
1138
+ export type GatewayVoiceChannelEffectSendDispachData = GatewayVoiceChannelEffectSendSoundboard | GatewayVoiceChannelEffectSendReaction;
1139
+ export type _GatewayVoiceChannelEffectSendDispachData = {
1140
+ /** ID of the channel the effect was sent in */
1141
+ channel_id: string;
1142
+ /** ID of the guild the effect was sent in */
1143
+ guild_id: string;
1144
+ /** ID of the user who sent the effect */
1145
+ user_id: string;
1146
+ /** The emoji sent, for emoji reaction and soundboard effects */
1147
+ emoji?: APIPartialEmoji | null;
1148
+ /** The type of emoji animation, for emoji reaction and soundboard effects */
1149
+ animation_type?: AnimationTypes | null;
1150
+ /** The ID of the emoji animation, for emoji reaction and soundboard effects */
1151
+ animation_id?: number;
1152
+ /** The ID of the soundboard sound, for soundboard effects */
1153
+ sound_id: string | number;
1154
+ /** The volume of the soundboard sound, from 0 to 1, for soundboard effects */
1155
+ sound_volume?: number;
1156
+ };
1157
+ export type GatewayVoiceChannelEffectSendReaction = Omit<_GatewayVoiceChannelEffectSendDispachData, 'sound_id' | 'sound_volume'>;
1158
+ export type GatewayVoiceChannelEffectSendSoundboard = _GatewayVoiceChannelEffectSendDispachData;
1159
+ /**
1160
+ * https://discord.com/developers/docs/topics/gateway-events#voice-state-update
1161
+ */
1162
+ export type GatewayVoiceStateUpdateDispatch = DataPayload<GatewayDispatchEvents.VoiceStateUpdate, GatewayVoiceStateUpdateDispatchData>;
1163
+ /**
1164
+ * https://discord.com/developers/docs/topics/gateway-events#voice-state-update
1165
+ */
1166
+ export type GatewayVoiceStateUpdateDispatchData = APIVoiceState;
1167
+ /**
1168
+ * https://discord.com/developers/docs/topics/gateway-events#voice-server-update
1169
+ */
1170
+ export type GatewayVoiceServerUpdateDispatch = DataPayload<GatewayDispatchEvents.VoiceServerUpdate, GatewayVoiceServerUpdateDispatchData>;
1171
+ /**
1172
+ * https://discord.com/developers/docs/topics/gateway-events#voice-server-update
1173
+ */
1174
+ export interface GatewayVoiceServerUpdateDispatchData {
1175
+ /**
1176
+ * Voice connection token
1177
+ */
1178
+ token: string;
1179
+ /**
1180
+ * The guild this voice server update is for
1181
+ */
1182
+ guild_id: Snowflake;
1183
+ /**
1184
+ * The voice server host
1185
+ *
1186
+ * A `null` endpoint means that the voice server allocated has gone away and is trying to be reallocated.
1187
+ * You should attempt to disconnect from the currently connected voice server, and not attempt to reconnect
1188
+ * until a new voice server is allocated
1189
+ */
1190
+ endpoint: string | null;
1191
+ }
1192
+ /**
1193
+ * https://discord.com/developers/docs/topics/gateway-events#webhooks-update
1194
+ */
1195
+ export type GatewayWebhooksUpdateDispatch = DataPayload<GatewayDispatchEvents.WebhooksUpdate, GatewayWebhooksUpdateDispatchData>;
1196
+ /**
1197
+ * https://discord.com/developers/docs/topics/gateway-events#webhooks-update
1198
+ */
1199
+ export interface GatewayWebhooksUpdateDispatchData {
1200
+ /**
1201
+ * The id of the guild
1202
+ */
1203
+ guild_id: Snowflake;
1204
+ /**
1205
+ * The id of the channel
1206
+ */
1207
+ channel_id: Snowflake;
1208
+ }
1209
+ /**
1210
+ * https://discord.com/developers/docs/topics/gateway-events#guild-audit-log-entry-create
1211
+ */
1212
+ export type GatewayGuildAuditLogEntryCreateDispatch = DataPayload<GatewayDispatchEvents.GuildAuditLogEntryCreate, GatewayGuildAuditLogEntryCreateDispatchData>;
1213
+ /**
1214
+ * https://discord.com/developers/docs/topics/gateway-events#guild-audit-log-entry-create
1215
+ */
1216
+ export interface GatewayGuildAuditLogEntryCreateDispatchData extends APIAuditLogEntry {
1217
+ /**
1218
+ * ID of the guild
1219
+ */
1220
+ guild_id: Snowflake;
1221
+ }
1222
+ /**
1223
+ * https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-add
1224
+ */
1225
+ export type GatewayMessagePollVoteAddDispatch = DataPayload<GatewayDispatchEvents.MessagePollVoteAdd, GatewayMessagePollVoteDispatchData>;
1226
+ /**
1227
+ * https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-remove
1228
+ */
1229
+ export type GatewayMessagePollVoteRemoveDispatch = DataPayload<GatewayDispatchEvents.MessagePollVoteRemove, GatewayMessagePollVoteDispatchData>;
1230
+ export interface GatewayMessagePollVoteDispatchData {
1231
+ /**
1232
+ * ID of the user
1233
+ */
1234
+ user_id: Snowflake;
1235
+ /**
1236
+ * ID of the channel
1237
+ */
1238
+ channel_id: Snowflake;
1239
+ /**
1240
+ * ID of the message
1241
+ */
1242
+ message_id: Snowflake;
1243
+ /**
1244
+ * ID of the guild
1245
+ */
1246
+ guild_id?: Snowflake;
1247
+ /**
1248
+ * ID of the answer
1249
+ */
1250
+ answer_id: number;
1251
+ }
1252
+ /**
1253
+ * https://discord.com/developers/docs/topics/gateway#sending-heartbeats
1254
+ */
1255
+ export interface GatewayHeartbeat {
1256
+ op: GatewayOpcodes.Heartbeat;
1257
+ d: GatewayHeartbeatData;
1258
+ }
1259
+ /**
1260
+ * https://discord.com/developers/docs/topics/gateway#sending-heartbeats
1261
+ */
1262
+ export type GatewayHeartbeatData = number | null;
1263
+ /**
1264
+ * https://discord.com/developers/docs/topics/gateway-events#identify
1265
+ */
1266
+ export interface GatewayIdentify {
1267
+ op: GatewayOpcodes.Identify;
1268
+ d: GatewayIdentifyData;
1269
+ }
1270
+ /**
1271
+ * https://discord.com/developers/docs/topics/gateway-events#identify
1272
+ */
1273
+ export interface GatewayIdentifyData {
1274
+ /**
1275
+ * Authentication token
1276
+ */
1277
+ token: string;
1278
+ /**
1279
+ * Connection properties
1280
+ *
1281
+ * See https://discord.com/developers/docs/topics/gateway-events#identify-identify-connection-properties
1282
+ */
1283
+ properties: GatewayIdentifyProperties;
1284
+ /**
1285
+ * Whether this connection supports compression of packets
1286
+ *
1287
+ * @default false
1288
+ */
1289
+ compress?: boolean;
1290
+ /**
1291
+ * Value between 50 and 250, total number of members where the gateway will stop sending
1292
+ * offline members in the guild member list
1293
+ *
1294
+ * @default 50
1295
+ */
1296
+ large_threshold?: number;
1297
+ /**
1298
+ * Used for Guild Sharding
1299
+ *
1300
+ * See https://discord.com/developers/docs/topics/gateway#sharding
1301
+ */
1302
+ shard?: [shard_id: number, shard_count: number];
1303
+ /**
1304
+ * Presence structure for initial presence information
1305
+ *
1306
+ * See https://discord.com/developers/docs/topics/gateway-events#update-presence
1307
+ */
1308
+ presence?: GatewayPresenceUpdateData;
1309
+ /**
1310
+ * The Gateway Intents you wish to receive
1311
+ *
1312
+ * See https://discord.com/developers/docs/topics/gateway#gateway-intents
1313
+ */
1314
+ intents: number;
1315
+ }
1316
+ /**
1317
+ * https://discord.com/developers/docs/topics/gateway-events#identify-identify-connection-properties
1318
+ */
1319
+ export interface GatewayIdentifyProperties {
1320
+ /**
1321
+ * Your operating system
1322
+ */
1323
+ os: string;
1324
+ /**
1325
+ * Your library name
1326
+ */
1327
+ browser: string;
1328
+ /**
1329
+ * Your library name
1330
+ */
1331
+ device: string;
1332
+ }
1333
+ /**
1334
+ * https://discord.com/developers/docs/topics/gateway-events#resume
1335
+ */
1336
+ export interface GatewayResume {
1337
+ op: GatewayOpcodes.Resume;
1338
+ d: GatewayResumeData;
1339
+ }
1340
+ /**
1341
+ * https://discord.com/developers/docs/topics/gateway-events#resume
1342
+ */
1343
+ export interface GatewayResumeData {
1344
+ /**
1345
+ * Session token
1346
+ */
1347
+ token: string;
1348
+ /**
1349
+ * Session id
1350
+ */
1351
+ session_id: string;
1352
+ /**
1353
+ * Last sequence number received
1354
+ */
1355
+ seq: number;
1356
+ }
1357
+ /**
1358
+ * https://discord.com/developers/docs/topics/gateway-events#request-guild-members
1359
+ */
1360
+ export interface GatewayRequestGuildMembers {
1361
+ op: GatewayOpcodes.RequestGuildMembers;
1362
+ d: GatewayRequestGuildMembersData;
1363
+ }
1364
+ export interface GatewayRequestGuildMembersDataBase {
1365
+ /**
1366
+ * ID of the guild to get members for
1367
+ */
1368
+ guild_id: Snowflake;
1369
+ /**
1370
+ * Used to specify if we want the presences of the matched members
1371
+ */
1372
+ presences?: boolean;
1373
+ /**
1374
+ * Nonce to identify the Guild Members Chunk response
1375
+ *
1376
+ * 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.
1377
+ *
1378
+ * See https://discord.com/developers/docs/topics/gateway-events#guild-members-chunk
1379
+ */
1380
+ nonce?: string;
1381
+ }
1382
+ export interface GatewayRequestGuildMembersDataWithUserIds extends GatewayRequestGuildMembersDataBase {
1383
+ /**
1384
+ * Used to specify which users you wish to fetch
1385
+ */
1386
+ user_ids: Snowflake | Snowflake[];
1387
+ }
1388
+ export interface GatewayRequestGuildMembersDataWithQuery extends GatewayRequestGuildMembersDataBase {
1389
+ /**
1390
+ * String that username starts with, or an empty string to return all members
1391
+ */
1392
+ query: string;
1393
+ /**
1394
+ * Maximum number of members to send matching the `query`;
1395
+ * a limit of `0` can be used with an empty string `query` to return all members
1396
+ */
1397
+ limit: number;
1398
+ }
1399
+ /**
1400
+ * https://discord.com/developers/docs/topics/gateway-events#request-guild-members
1401
+ */
1402
+ export type GatewayRequestGuildMembersData = GatewayRequestGuildMembersDataWithQuery | GatewayRequestGuildMembersDataWithUserIds;
1403
+ /**
1404
+ * https://discord.com/developers/docs/topics/gateway-events#update-voice-state
1405
+ */
1406
+ export interface GatewayVoiceStateUpdate {
1407
+ op: GatewayOpcodes.VoiceStateUpdate;
1408
+ d: GatewayVoiceStateUpdateData;
1409
+ }
1410
+ /**
1411
+ * https://discord.com/developers/docs/topics/gateway-events#update-voice-state
1412
+ */
1413
+ export interface GatewayVoiceStateUpdateData {
1414
+ /**
1415
+ * ID of the guild
1416
+ */
1417
+ guild_id: Snowflake;
1418
+ /**
1419
+ * ID of the voice channel client wants to join (`null` if disconnecting)
1420
+ */
1421
+ channel_id: Snowflake | null;
1422
+ /**
1423
+ * Is the client muted
1424
+ */
1425
+ self_mute: boolean;
1426
+ /**
1427
+ * Is the client deafened
1428
+ */
1429
+ self_deaf: boolean;
1430
+ }
1431
+ /**
1432
+ * https://discord.com/developers/docs/topics/gateway-events#update-presence
1433
+ */
1434
+ export interface GatewayUpdatePresence {
1435
+ op: GatewayOpcodes.PresenceUpdate;
1436
+ d: GatewayPresenceUpdateData;
1437
+ }
1438
+ /**
1439
+ * https://discord.com/developers/docs/topics/gateway-events#update-presence-gateway-presence-update-structure
1440
+ */
1441
+ export interface GatewayPresenceUpdateData {
1442
+ /**
1443
+ * Unix time (in milliseconds) of when the client went idle, or `null` if the client is not idle
1444
+ */
1445
+ since: number | null;
1446
+ /**
1447
+ * The user's activities
1448
+ *
1449
+ * See https://discord.com/developers/docs/topics/gateway-events#activity-object
1450
+ */
1451
+ activities: GatewayActivityUpdateData[];
1452
+ /**
1453
+ * The user's new status
1454
+ *
1455
+ * See https://discord.com/developers/docs/topics/gateway-events#update-presence-status-types
1456
+ */
1457
+ status: PresenceUpdateStatus;
1458
+ /**
1459
+ * Whether or not the client is afk
1460
+ */
1461
+ afk: boolean;
1462
+ }
1463
+ /**
1464
+ * https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-structure
1465
+ */
1466
+ export type GatewayActivityUpdateData = Pick<GatewayActivity, 'name' | 'state' | 'type' | 'url'>;
1467
+ interface BasePayload {
1468
+ /**
1469
+ * Opcode for the payload
1470
+ */
1471
+ op: GatewayOpcodes;
1472
+ /**
1473
+ * Event data
1474
+ */
1475
+ d?: unknown;
1476
+ /**
1477
+ * Sequence number, used for resuming sessions and heartbeats
1478
+ */
1479
+ s: number;
1480
+ /**
1481
+ * The event name for this payload
1482
+ */
1483
+ t?: string;
1484
+ }
1485
+ type NonDispatchPayload = Omit<BasePayload, 's' | 't'> & {
1486
+ t: null;
1487
+ s: null;
1488
+ };
1489
+ interface DataPayload<Event extends GatewayDispatchEvents, D = unknown> extends BasePayload {
1490
+ op: GatewayOpcodes.Dispatch;
1491
+ t: Event;
1492
+ d: D;
1493
+ }
1494
+ type ReactionData<E extends GatewayDispatchEvents, O extends string = never> = DataPayload<E, Omit<{
1495
+ /**
1496
+ * The id of the user
1497
+ */
1498
+ user_id: Snowflake;
1499
+ /**
1500
+ * The id of the channel
1501
+ */
1502
+ channel_id: Snowflake;
1503
+ /**
1504
+ * The id of the message
1505
+ */
1506
+ message_id: Snowflake;
1507
+ /**
1508
+ * The id of the guild
1509
+ */
1510
+ guild_id?: Snowflake;
1511
+ /**
1512
+ * The member who reacted if this happened in a guild
1513
+ *
1514
+ * See https://discord.com/developers/docs/resources/guild#guild-member-object
1515
+ */
1516
+ member?: APIGuildMember;
1517
+ /**
1518
+ * The emoji used to react
1519
+ *
1520
+ * See https://discord.com/developers/docs/resources/emoji#emoji-object
1521
+ */
1522
+ emoji: APIEmoji;
1523
+ /**
1524
+ * The id of the user that posted the message that was reacted to
1525
+ */
1526
+ message_author_id?: Snowflake;
1527
+ /**
1528
+ * True if this is a super-reaction
1529
+ */
1530
+ burst: boolean;
1531
+ /**
1532
+ * Colors used for super-reaction animation in "#rrggbb" format
1533
+ */
1534
+ burst_colors: string[];
1535
+ /**
1536
+ * The type of reaction
1537
+ */
1538
+ type: ReactionType;
1539
+ }, O>>;
1540
+ interface MessageReactionRemoveData {
1541
+ /**
1542
+ * The id of the channel
1543
+ */
1544
+ channel_id: Snowflake;
1545
+ /**
1546
+ * The id of the message
1547
+ */
1548
+ message_id: Snowflake;
1549
+ /**
1550
+ * The id of the guild
1551
+ */
1552
+ guild_id?: Snowflake;
1553
+ }
1554
+ export {};