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,188 @@
1
+ import type { LocalizationMap, Permissions, Snowflake } from '../..';
2
+ import type { APIApplicationCommandOption, APIChatInputApplicationCommandDMInteraction, APIChatInputApplicationCommandGuildInteraction, APIChatInputApplicationCommandInteraction, APIChatInputApplicationCommandInteractionData, APIEntryPointCommandInteraction } from './_applicationCommands/chatInput';
3
+ import type { APIContextMenuDMInteraction, APIContextMenuGuildInteraction, APIContextMenuInteraction, APIContextMenuInteractionData } from './_applicationCommands/contextMenu';
4
+ import type { APIBaseApplicationCommandInteractionData } from './_applicationCommands/internals';
5
+ import type { APIBaseInteraction } from './base';
6
+ import type { InteractionType } from './responses';
7
+ export * from './_applicationCommands/chatInput';
8
+ export * from './_applicationCommands/contextMenu';
9
+ export * from './_applicationCommands/permissions';
10
+ /**
11
+ * https://discord.com/developers/docs/interactions/application-commands#application-command-object
12
+ */
13
+ export interface APIApplicationCommand {
14
+ /**
15
+ * Unique id of the command
16
+ */
17
+ id: Snowflake;
18
+ /**
19
+ * Type of the command
20
+ */
21
+ type: ApplicationCommandType;
22
+ /**
23
+ * Unique id of the parent application
24
+ */
25
+ application_id: Snowflake;
26
+ /**
27
+ * Guild id of the command, if not global
28
+ */
29
+ guild_id?: Snowflake;
30
+ /**
31
+ * 1-32 character name; `CHAT_INPUT` command names must be all lowercase matching `^[-_\p{L}\p{N}\p{sc=Deva}\p{sc=Thai}]{1,32}$`
32
+ */
33
+ name: string;
34
+ /**
35
+ * Localization dictionary for the name field. Values follow the same restrictions as name
36
+ */
37
+ name_localizations?: LocalizationMap | null;
38
+ /**
39
+ * The localized name
40
+ */
41
+ name_localized?: string;
42
+ /**
43
+ * 1-100 character description for `CHAT_INPUT` commands, empty string for `USER` and `MESSAGE` commands
44
+ */
45
+ description: string;
46
+ /**
47
+ * Localization dictionary for the description field. Values follow the same restrictions as description
48
+ */
49
+ description_localizations?: LocalizationMap | null;
50
+ /**
51
+ * The localized description
52
+ */
53
+ description_localized?: string;
54
+ /**
55
+ * The parameters for the `CHAT_INPUT` command, max 25
56
+ */
57
+ options?: APIApplicationCommandOption[];
58
+ /**
59
+ * Set of permissions represented as a bitset
60
+ */
61
+ default_member_permissions: Permissions | null;
62
+ /**
63
+ * Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible
64
+ *
65
+ * @deprecated Use `contexts` instead
66
+ */
67
+ dm_permission?: boolean;
68
+ /**
69
+ * Whether the command is enabled by default when the app is added to a guild
70
+ *
71
+ * If missing, this property should be assumed as `true`
72
+ *
73
+ * @deprecated Use `dm_permission` and/or `default_member_permissions` instead
74
+ */
75
+ default_permission?: boolean;
76
+ /**
77
+ * Indicates whether the command is age-restricted, defaults to `false`
78
+ */
79
+ nsfw?: boolean;
80
+ /**
81
+ * Installation context(s) where the command is available, only for globally-scoped commands. Defaults to `GUILD_INSTALL ([0])`
82
+ *
83
+ */
84
+ integration_types?: ApplicationIntegrationType[];
85
+ /**
86
+ * Interaction context(s) where the command can be used, only for globally-scoped commands. By default, all interaction context types included for new commands `[0,1,2]`.
87
+ *
88
+ */
89
+ contexts?: InteractionContextType[] | null;
90
+ /**
91
+ * Autoincrementing version identifier updated during substantial record changes
92
+ */
93
+ version: Snowflake;
94
+ /**
95
+ * Determines whether the interaction is handled by the app's interactions handler or by Discord
96
+ */
97
+ handler?: EntryPointCommandHandlerType;
98
+ }
99
+ /**
100
+ * https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-types
101
+ */
102
+ export declare enum ApplicationCommandType {
103
+ /**
104
+ * Slash commands; a text-based command that shows up when a user types /
105
+ */
106
+ ChatInput = 1,
107
+ /**
108
+ * A UI-based command that shows up when you right click or tap on a user
109
+ */
110
+ User = 2,
111
+ /**
112
+ * A UI-based command that shows up when you right click or tap on a message
113
+ */
114
+ Message = 3,
115
+ /**
116
+ * A UI-based command that represents the primary way to invoke an app's Activity
117
+ */
118
+ PrimaryEntryPoint = 4
119
+ }
120
+ /**
121
+ * https://discord.com/developers/docs/interactions/application-commands#application-command-object-entry-point-command-handler-types
122
+ */
123
+ export declare enum EntryPointCommandHandlerType {
124
+ /**
125
+ * The app handles the interaction using an interaction token
126
+ */
127
+ AppHandler = 1,
128
+ /**
129
+ * Discord handles the interaction by launching an Activity and sending a follow-up message without coordinating with the app
130
+ */
131
+ DiscordLaunchActivity = 2
132
+ }
133
+ /**
134
+ * https://discord.com/developers/docs/resources/application#application-object-application-integration-types
135
+ */
136
+ export declare enum ApplicationIntegrationType {
137
+ /**
138
+ * App is installable to servers
139
+ */
140
+ GuildInstall = 0,
141
+ /**
142
+ * App is installable to users
143
+ */
144
+ UserInstall = 1
145
+ }
146
+ /**
147
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types
148
+ */
149
+ export declare enum InteractionContextType {
150
+ /**
151
+ * Interaction can be used within servers
152
+ */
153
+ Guild = 0,
154
+ /**
155
+ * Interaction can be used within DMs with the app's bot user
156
+ */
157
+ BotDM = 1,
158
+ /**
159
+ * Interaction can be used within Group DMs and DMs other than the app's bot user
160
+ */
161
+ PrivateChannel = 2
162
+ }
163
+ /**
164
+ * Documentation goes brrrrrr
165
+ * @unstable
166
+ */
167
+ export interface APIEntryPointInteractionData extends Omit<APIBaseApplicationCommandInteractionData<ApplicationCommandType.PrimaryEntryPoint>, 'guild_id'> {
168
+ }
169
+ /**
170
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
171
+ */
172
+ export type APIApplicationCommandInteractionData = APIChatInputApplicationCommandInteractionData | APIContextMenuInteractionData | APIEntryPointInteractionData;
173
+ /**
174
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
175
+ */
176
+ export type APIApplicationCommandInteractionWrapper<Data extends APIApplicationCommandInteractionData> = APIBaseInteraction<InteractionType.ApplicationCommand, Data> & Required<Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'app_permissions' | 'channel_id' | 'channel' | 'data'>>;
177
+ /**
178
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
179
+ */
180
+ export type APIApplicationCommandInteraction = APIChatInputApplicationCommandInteraction | APIContextMenuInteraction | APIEntryPointCommandInteraction;
181
+ /**
182
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
183
+ */
184
+ export type APIApplicationCommandDMInteraction = APIChatInputApplicationCommandDMInteraction | APIContextMenuDMInteraction;
185
+ /**
186
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
187
+ */
188
+ export type APIApplicationCommandGuildInteraction = APIChatInputApplicationCommandGuildInteraction | APIContextMenuGuildInteraction;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.InteractionContextType = exports.ApplicationIntegrationType = exports.EntryPointCommandHandlerType = exports.ApplicationCommandType = void 0;
18
+ __exportStar(require("./_applicationCommands/chatInput"), exports);
19
+ __exportStar(require("./_applicationCommands/contextMenu"), exports);
20
+ __exportStar(require("./_applicationCommands/permissions"), exports);
21
+ /**
22
+ * https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-types
23
+ */
24
+ var ApplicationCommandType;
25
+ (function (ApplicationCommandType) {
26
+ /**
27
+ * Slash commands; a text-based command that shows up when a user types /
28
+ */
29
+ ApplicationCommandType[ApplicationCommandType["ChatInput"] = 1] = "ChatInput";
30
+ /**
31
+ * A UI-based command that shows up when you right click or tap on a user
32
+ */
33
+ ApplicationCommandType[ApplicationCommandType["User"] = 2] = "User";
34
+ /**
35
+ * A UI-based command that shows up when you right click or tap on a message
36
+ */
37
+ ApplicationCommandType[ApplicationCommandType["Message"] = 3] = "Message";
38
+ /**
39
+ * A UI-based command that represents the primary way to invoke an app's Activity
40
+ */
41
+ ApplicationCommandType[ApplicationCommandType["PrimaryEntryPoint"] = 4] = "PrimaryEntryPoint";
42
+ })(ApplicationCommandType || (exports.ApplicationCommandType = ApplicationCommandType = {}));
43
+ /**
44
+ * https://discord.com/developers/docs/interactions/application-commands#application-command-object-entry-point-command-handler-types
45
+ */
46
+ var EntryPointCommandHandlerType;
47
+ (function (EntryPointCommandHandlerType) {
48
+ /**
49
+ * The app handles the interaction using an interaction token
50
+ */
51
+ EntryPointCommandHandlerType[EntryPointCommandHandlerType["AppHandler"] = 1] = "AppHandler";
52
+ /**
53
+ * Discord handles the interaction by launching an Activity and sending a follow-up message without coordinating with the app
54
+ */
55
+ EntryPointCommandHandlerType[EntryPointCommandHandlerType["DiscordLaunchActivity"] = 2] = "DiscordLaunchActivity";
56
+ })(EntryPointCommandHandlerType || (exports.EntryPointCommandHandlerType = EntryPointCommandHandlerType = {}));
57
+ /**
58
+ * https://discord.com/developers/docs/resources/application#application-object-application-integration-types
59
+ */
60
+ var ApplicationIntegrationType;
61
+ (function (ApplicationIntegrationType) {
62
+ /**
63
+ * App is installable to servers
64
+ */
65
+ ApplicationIntegrationType[ApplicationIntegrationType["GuildInstall"] = 0] = "GuildInstall";
66
+ /**
67
+ * App is installable to users
68
+ */
69
+ ApplicationIntegrationType[ApplicationIntegrationType["UserInstall"] = 1] = "UserInstall";
70
+ })(ApplicationIntegrationType || (exports.ApplicationIntegrationType = ApplicationIntegrationType = {}));
71
+ /**
72
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types
73
+ */
74
+ var InteractionContextType;
75
+ (function (InteractionContextType) {
76
+ /**
77
+ * Interaction can be used within servers
78
+ */
79
+ InteractionContextType[InteractionContextType["Guild"] = 0] = "Guild";
80
+ /**
81
+ * Interaction can be used within DMs with the app's bot user
82
+ */
83
+ InteractionContextType[InteractionContextType["BotDM"] = 1] = "BotDM";
84
+ /**
85
+ * Interaction can be used within Group DMs and DMs other than the app's bot user
86
+ */
87
+ InteractionContextType[InteractionContextType["PrivateChannel"] = 2] = "PrivateChannel";
88
+ })(InteractionContextType || (exports.InteractionContextType = InteractionContextType = {}));
@@ -0,0 +1,10 @@
1
+ import type { APIBaseInteraction, APIChatInputApplicationCommandInteractionData, APIDMInteractionWrapper, APIGuildInteractionWrapper, InteractionType } from '../index';
2
+ export type APIApplicationCommandAutocompleteInteraction = APIBaseInteraction<InteractionType.ApplicationCommandAutocomplete, APIChatInputApplicationCommandInteractionData> & Required<Pick<APIBaseInteraction<InteractionType.ApplicationCommandAutocomplete, Required<Pick<APIChatInputApplicationCommandInteractionData, 'options'>>>, 'data'>>;
3
+ /**
4
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
5
+ */
6
+ export type APIApplicationCommandAutocompleteDMInteraction = APIDMInteractionWrapper<APIApplicationCommandAutocompleteInteraction>;
7
+ /**
8
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
9
+ */
10
+ export type APIApplicationCommandAutocompleteGuildInteraction = APIGuildInteractionWrapper<APIApplicationCommandAutocompleteInteraction>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,197 @@
1
+ import type { InteractionContextType, ApplicationIntegrationType } from '..';
2
+ import type { ChannelType, Snowflake } from '../..';
3
+ import type { LocaleString } from '../../rest';
4
+ import type { APIAttachment, APIChannel, APIMessage, APIPartialChannel, APIThreadChannel, ThreadChannelType } from '../channel';
5
+ import type { APIGuildMember } from '../guild';
6
+ import type { APIEntitlement } from '../monetization';
7
+ import type { APIRole } from '../permissions';
8
+ import type { APIUser } from '../user';
9
+ import type { InteractionType } from './responses';
10
+ /**
11
+ * https://discord.com/developers/docs/resources/channel#message-interaction-metadata-object
12
+ */
13
+ export interface APIMessageInteractionMetadata {
14
+ /**
15
+ * ID of the interaction
16
+ */
17
+ id: Snowflake;
18
+ /**
19
+ * Type of interaction
20
+ */
21
+ type: InteractionType;
22
+ /**
23
+ * User who triggered the interaction
24
+ */
25
+ user: APIUser;
26
+ /**
27
+ * IDs for installation context(s) related to an interaction. Details in Authorizing Integration Owners Object
28
+ */
29
+ authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
30
+ /**
31
+ * ID of the original response message, present only on follow-up messages
32
+ */
33
+ original_response_message_id?: Snowflake;
34
+ /**
35
+ * ID of the message that contained interactive component, present only on messages created from component interactions
36
+ */
37
+ interacted_message_id?: Snowflake;
38
+ /**
39
+ * Metadata for the interaction that was used to open the modal, present only on modal submit interactions
40
+ */
41
+ triggering_interaction_metadata?: APIMessageInteractionMetadata;
42
+ }
43
+ export type PartialAPIMessageInteractionGuildMember = Pick<APIGuildMember, 'avatar' | 'communication_disabled_until' | 'deaf' | 'joined_at' | 'mute' | 'nick' | 'pending' | 'premium_since' | 'roles'>;
44
+ /**
45
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#message-interaction-object
46
+ */
47
+ export interface APIMessageInteraction {
48
+ /**
49
+ * ID of the interaction
50
+ */
51
+ id: Snowflake;
52
+ /**
53
+ * The type of interaction
54
+ */
55
+ type: InteractionType;
56
+ /**
57
+ * The name of the application command, including subcommands and subcommand groups
58
+ */
59
+ name: string;
60
+ /**
61
+ * The user who invoked the interaction
62
+ */
63
+ user: APIUser;
64
+ /**
65
+ * The guild member who invoked the interaction, only sent in MESSAGE_CREATE events
66
+ */
67
+ member?: PartialAPIMessageInteractionGuildMember;
68
+ }
69
+ /**
70
+ * https://discord.com/developers/docs/resources/guild#guild-member-object
71
+ */
72
+ export interface APIInteractionGuildMember extends APIGuildMember {
73
+ permissions: Permissions;
74
+ user: APIUser;
75
+ }
76
+ /**
77
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
78
+ */
79
+ export interface APIBaseInteraction<Type extends InteractionType, Data> {
80
+ /**
81
+ * ID of the interaction
82
+ */
83
+ id: Snowflake;
84
+ /**
85
+ * ID of the application this interaction is for
86
+ */
87
+ application_id: Snowflake;
88
+ /**
89
+ * The type of interaction
90
+ */
91
+ type: Type;
92
+ /**
93
+ * The command data payload
94
+ */
95
+ data?: Data;
96
+ /**
97
+ * The guild it was sent from
98
+ */
99
+ guild_id?: Snowflake;
100
+ /**
101
+ * The channel it was sent from
102
+ */
103
+ channel?: Partial<APIChannel> & Pick<APIChannel, 'id' | 'type'>;
104
+ /**
105
+ * The id of the channel it was sent from
106
+ *
107
+ * @deprecated Use {@apilink APIBaseInteraction#channel} instead
108
+ */
109
+ channel_id?: Snowflake;
110
+ /**
111
+ * Guild member data for the invoking user, including permissions
112
+ *
113
+ * **This is only sent when an interaction is invoked in a guild**
114
+ */
115
+ member?: APIInteractionGuildMember;
116
+ /**
117
+ * User object for the invoking user, if invoked in a DM
118
+ */
119
+ user?: APIUser;
120
+ /**
121
+ * A continuation token for responding to the interaction
122
+ */
123
+ token: string;
124
+ /**
125
+ * Read-only property, always `1`
126
+ */
127
+ version: 1;
128
+ /**
129
+ * For components, the message they were attached to
130
+ */
131
+ message?: APIMessage;
132
+ /**
133
+ * Bitwise set of permissions the app or bot has within the channel the interaction was sent from
134
+ */
135
+ app_permissions: Permissions;
136
+ /**
137
+ * The selected language of the invoking user
138
+ */
139
+ locale: LocaleString;
140
+ /**
141
+ * The guild's preferred locale, if invoked in a guild
142
+ */
143
+ guild_locale?: LocaleString;
144
+ /**
145
+ * For monetized apps, any entitlements for the invoking user, representing access to premium SKUs
146
+ */
147
+ entitlements: APIEntitlement[];
148
+ /**
149
+ * Mapping of installation contexts that the interaction was authorized for to related user or guild IDs.
150
+ */
151
+ authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
152
+ /**
153
+ * Context where the interaction was triggered from
154
+ */
155
+ context?: InteractionContextType;
156
+ }
157
+ export type APIAuthorizingIntegrationOwnersMap = {
158
+ [key in ApplicationIntegrationType]?: Snowflake;
159
+ };
160
+ export type APIDMInteractionWrapper<Original extends APIBaseInteraction<InteractionType, unknown>> = Omit<Original, 'guild_id' | 'member'> & Required<Pick<Original, 'user'>>;
161
+ export type APIGuildInteractionWrapper<Original extends APIBaseInteraction<InteractionType, unknown>> = Omit<Original, 'user'> & Required<Pick<Original, 'guild_id' | 'member'>>;
162
+ export interface APIInteractionDataResolvedChannelBase<T extends ChannelType> extends Required<APIPartialChannel> {
163
+ type: T;
164
+ permissions: Permissions;
165
+ }
166
+ /**
167
+ * https://discord.com/developers/docs/resources/channel#channel-object
168
+ */
169
+ export type APIInteractionDataResolvedChannel = APIInteractionDataResolvedChannelBase<Exclude<ChannelType, ThreadChannelType>> | (APIInteractionDataResolvedChannelBase<ThreadChannelType> & Pick<APIThreadChannel, 'parent_id' | 'thread_metadata'>);
170
+ /**
171
+ * https://discord.com/developers/docs/resources/guild#guild-member-object
172
+ */
173
+ export interface APIInteractionDataResolvedGuildMember extends Omit<APIGuildMember, 'deaf' | 'mute' | 'user'> {
174
+ permissions: Permissions;
175
+ }
176
+ /**
177
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-resolved-data-structure
178
+ */
179
+ export interface APIInteractionDataResolved {
180
+ users?: Record<Snowflake, APIUser>;
181
+ roles?: Record<Snowflake, APIRole>;
182
+ members?: Record<Snowflake, APIInteractionDataResolvedGuildMember>;
183
+ channels?: Record<Snowflake, APIInteractionDataResolvedChannel>;
184
+ attachments?: Record<Snowflake, APIAttachment>;
185
+ }
186
+ /**
187
+ * @deprecated Renamed to `APIInteractionDataResolved`
188
+ */
189
+ export type APIChatInputApplicationCommandInteractionDataResolved = APIInteractionDataResolved;
190
+ /**
191
+ * `users` and optional `members` from APIInteractionDataResolved, for user commands and user selects
192
+ */
193
+ export type APIUserInteractionDataResolved = Pick<APIInteractionDataResolved, 'members'> & Required<Pick<APIInteractionDataResolved, 'users'>>;
194
+ /**
195
+ * @deprecated Renamed to `APIUserInteractionDataResolved`
196
+ */
197
+ export type APIUserApplicationCommandInteractionDataResolved = APIUserInteractionDataResolved;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,41 @@
1
+ import type { Snowflake } from '../../index';
2
+ import type { ComponentType } from '../channel';
3
+ import type { APIBaseInteraction, InteractionType } from '../interactions';
4
+ import type { APIDMInteractionWrapper, APIGuildInteractionWrapper, APIInteractionDataResolved, APIUserInteractionDataResolved } from './base';
5
+ export type APIMessageComponentInteraction = APIBaseInteraction<InteractionType.MessageComponent, APIMessageComponentInteractionData> & Required<Pick<APIBaseInteraction<InteractionType.MessageComponent, APIMessageComponentInteractionData>, 'app_permissions' | 'channel_id' | 'channel' | 'data' | 'message'>>;
6
+ export type APIMessageComponentButtonInteraction = APIBaseInteraction<InteractionType.MessageComponent, APIMessageButtonInteractionData> & Required<Pick<APIBaseInteraction<InteractionType.MessageComponent, APIMessageButtonInteractionData>, 'app_permissions' | 'channel_id' | 'channel' | 'data' | 'message'>>;
7
+ export type APIMessageComponentSelectMenuInteraction = APIBaseInteraction<InteractionType.MessageComponent, APIMessageSelectMenuInteractionData> & Required<Pick<APIBaseInteraction<InteractionType.MessageComponent, APIMessageSelectMenuInteractionData>, 'app_permissions' | 'channel_id' | 'channel' | 'data' | 'message'>>;
8
+ export type APIMessageComponentInteractionData = APIMessageButtonInteractionData | APIMessageSelectMenuInteractionData;
9
+ export interface APIMessageComponentBaseInteractionData<CType extends ComponentType> {
10
+ /**
11
+ * The `custom_id` of the component
12
+ */
13
+ custom_id: string;
14
+ /**
15
+ * The type of the component
16
+ */
17
+ component_type: CType;
18
+ }
19
+ export type APIMessageButtonInteractionData = APIMessageComponentBaseInteractionData<ComponentType.Button>;
20
+ export interface APIMessageStringSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.StringSelect> {
21
+ values: string[];
22
+ }
23
+ export interface APIMessageUserSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.UserSelect> {
24
+ values: Snowflake[];
25
+ resolved: APIUserInteractionDataResolved;
26
+ }
27
+ export interface APIMessageRoleSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.RoleSelect> {
28
+ values: Snowflake[];
29
+ resolved: Required<Pick<APIInteractionDataResolved, 'roles'>>;
30
+ }
31
+ export interface APIMessageMentionableSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.MentionableSelect> {
32
+ values: Snowflake[];
33
+ resolved: Pick<APIInteractionDataResolved, 'members' | 'roles' | 'users'>;
34
+ }
35
+ export interface APIMessageChannelSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.ChannelSelect> {
36
+ values: Snowflake[];
37
+ resolved: Required<Pick<APIInteractionDataResolved, 'channels'>>;
38
+ }
39
+ export type APIMessageSelectMenuInteractionData = APIMessageChannelSelectInteractionData | APIMessageMentionableSelectInteractionData | APIMessageRoleSelectInteractionData | APIMessageStringSelectInteractionData | APIMessageUserSelectInteractionData;
40
+ export type APIMessageComponentDMInteraction = APIDMInteractionWrapper<APIMessageComponentInteraction>;
41
+ export type APIMessageComponentGuildInteraction = APIGuildInteractionWrapper<APIMessageComponentInteraction>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,35 @@
1
+ import type { APIActionRowComponent, APIModalActionRowComponent } from '../channel';
2
+ import type { APIBaseInteraction, APIDMInteractionWrapper, APIGuildInteractionWrapper, ComponentType, InteractionType } from '../index';
3
+ export interface ModalSubmitComponent {
4
+ type: ComponentType;
5
+ custom_id: string;
6
+ value: string;
7
+ }
8
+ export interface ModalSubmitActionRowComponent extends Omit<APIActionRowComponent<APIModalActionRowComponent>, 'components'> {
9
+ components: ModalSubmitComponent[];
10
+ }
11
+ /**
12
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-modal-submit-data-structure
13
+ */
14
+ export interface APIModalSubmission {
15
+ /**
16
+ * A developer-defined identifier for the component, max 100 characters
17
+ */
18
+ custom_id: string;
19
+ /**
20
+ * A list of child components
21
+ */
22
+ components: ModalSubmitActionRowComponent[];
23
+ }
24
+ /**
25
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
26
+ */
27
+ export type APIModalSubmitInteraction = APIBaseInteraction<InteractionType.ModalSubmit, APIModalSubmission> & Required<Pick<APIBaseInteraction<InteractionType.ModalSubmit, APIModalSubmission>, 'data'>>;
28
+ /**
29
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
30
+ */
31
+ export type APIModalSubmitDMInteraction = APIDMInteractionWrapper<APIModalSubmitInteraction>;
32
+ /**
33
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
34
+ */
35
+ export type APIModalSubmitGuildInteraction = APIGuildInteractionWrapper<APIModalSubmitInteraction>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import type { APIBaseInteraction } from './base';
2
+ import type { InteractionType } from './responses';
3
+ export type APIPingInteraction = Omit<APIBaseInteraction<InteractionType.Ping, never>, 'locale'>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });