seyfert 1.5.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) 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 +1 -1
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/stage-instances.d.ts +1 -1
  11. package/lib/api/Routes/stickers.d.ts +2 -2
  12. package/lib/api/Routes/users.d.ts +1 -1
  13. package/lib/api/Routes/voice.d.ts +1 -1
  14. package/lib/api/Routes/webhooks.d.ts +2 -2
  15. package/lib/api/api.d.ts +2 -2
  16. package/lib/api/api.js +2 -14
  17. package/lib/api/bucket.d.ts +0 -1
  18. package/lib/api/shared.d.ts +0 -1
  19. package/lib/api/utils/constants.d.ts +2 -5
  20. package/lib/api/utils/constants.js +3 -7
  21. package/lib/api/utils/utils.d.ts +1 -2
  22. package/lib/api/utils/utils.js +2 -3
  23. package/lib/builders/ActionRow.d.ts +1 -1
  24. package/lib/builders/ActionRow.js +3 -3
  25. package/lib/builders/Attachment.d.ts +2 -3
  26. package/lib/builders/Attachment.js +12 -13
  27. package/lib/builders/Base.d.ts +2 -2
  28. package/lib/builders/Base.js +1 -1
  29. package/lib/builders/Button.d.ts +7 -7
  30. package/lib/builders/Button.js +11 -9
  31. package/lib/builders/Embed.d.ts +1 -1
  32. package/lib/builders/Modal.d.ts +1 -1
  33. package/lib/builders/Modal.js +2 -2
  34. package/lib/builders/Poll.d.ts +2 -2
  35. package/lib/builders/Poll.js +5 -6
  36. package/lib/builders/SelectMenu.d.ts +1 -1
  37. package/lib/builders/SelectMenu.js +17 -18
  38. package/lib/builders/index.d.ts +1 -1
  39. package/lib/builders/index.js +10 -11
  40. package/lib/cache/adapters/default.d.ts +16 -9
  41. package/lib/cache/adapters/default.js +42 -31
  42. package/lib/cache/adapters/index.d.ts +0 -1
  43. package/lib/cache/adapters/index.js +0 -1
  44. package/lib/cache/adapters/limited.d.ts +17 -12
  45. package/lib/cache/adapters/limited.js +80 -36
  46. package/lib/cache/adapters/types.d.ts +6 -7
  47. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  48. package/lib/cache/adapters/workeradapter.js +13 -0
  49. package/lib/cache/index.d.ts +18 -9
  50. package/lib/cache/index.js +319 -21
  51. package/lib/cache/resources/bans.d.ts +9 -6
  52. package/lib/cache/resources/bans.js +13 -4
  53. package/lib/cache/resources/channels.d.ts +6 -4
  54. package/lib/cache/resources/channels.js +13 -7
  55. package/lib/cache/resources/default/base.d.ts +7 -7
  56. package/lib/cache/resources/default/base.js +2 -2
  57. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  58. package/lib/cache/resources/default/guild-based.js +6 -6
  59. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  60. package/lib/cache/resources/default/guild-related.js +10 -8
  61. package/lib/cache/resources/emojis.d.ts +15 -6
  62. package/lib/cache/resources/emojis.js +13 -4
  63. package/lib/cache/resources/guilds.d.ts +9 -6
  64. package/lib/cache/resources/guilds.js +27 -6
  65. package/lib/cache/resources/members.d.ts +9 -6
  66. package/lib/cache/resources/members.js +22 -6
  67. package/lib/cache/resources/messages.d.ts +11 -7
  68. package/lib/cache/resources/messages.js +19 -7
  69. package/lib/cache/resources/overwrites.d.ts +11 -2
  70. package/lib/cache/resources/overwrites.js +9 -0
  71. package/lib/cache/resources/presence.d.ts +3 -2
  72. package/lib/cache/resources/roles.d.ts +9 -6
  73. package/lib/cache/resources/roles.js +13 -4
  74. package/lib/cache/resources/stage-instances.d.ts +2 -2
  75. package/lib/cache/resources/stickers.d.ts +9 -6
  76. package/lib/cache/resources/stickers.js +13 -4
  77. package/lib/cache/resources/threads.d.ts +9 -6
  78. package/lib/cache/resources/threads.js +13 -4
  79. package/lib/cache/resources/users.d.ts +9 -6
  80. package/lib/cache/resources/users.js +13 -4
  81. package/lib/cache/resources/voice-states.d.ts +11 -8
  82. package/lib/cache/resources/voice-states.js +15 -4
  83. package/lib/client/base.d.ts +28 -20
  84. package/lib/client/base.js +58 -56
  85. package/lib/client/client.d.ts +7 -16
  86. package/lib/client/client.js +29 -31
  87. package/lib/client/collectors.d.ts +10 -10
  88. package/lib/client/collectors.js +26 -1
  89. package/lib/client/httpclient.d.ts +8 -13
  90. package/lib/client/httpclient.js +27 -218
  91. package/lib/client/index.d.ts +1 -0
  92. package/lib/client/index.js +1 -0
  93. package/lib/client/transformers.d.ts +68 -0
  94. package/lib/client/transformers.js +99 -0
  95. package/lib/client/types.d.ts +5 -0
  96. package/lib/client/types.js +2 -0
  97. package/lib/client/workerclient.d.ts +14 -14
  98. package/lib/client/workerclient.js +112 -66
  99. package/lib/commands/applications/chat.d.ts +35 -34
  100. package/lib/commands/applications/chat.js +5 -9
  101. package/lib/commands/applications/chatcontext.d.ts +17 -17
  102. package/lib/commands/applications/chatcontext.js +5 -5
  103. package/lib/commands/applications/menu.d.ts +2 -3
  104. package/lib/commands/applications/menu.js +2 -5
  105. package/lib/commands/applications/menucontext.d.ts +14 -13
  106. package/lib/commands/applications/menucontext.js +9 -9
  107. package/lib/commands/applications/options.d.ts +1 -1
  108. package/lib/commands/applications/options.js +20 -21
  109. package/lib/commands/applications/shared.d.ts +3 -1
  110. package/lib/commands/decorators.d.ts +38 -20
  111. package/lib/commands/decorators.js +17 -18
  112. package/lib/commands/handle.d.ts +64 -0
  113. package/lib/commands/handle.js +685 -0
  114. package/lib/commands/handler.d.ts +27 -18
  115. package/lib/commands/handler.js +290 -164
  116. package/lib/commands/optionresolver.d.ts +13 -13
  117. package/lib/commands/optionresolver.js +23 -28
  118. package/lib/common/bot/watcher.d.ts +4 -33
  119. package/lib/common/bot/watcher.js +0 -109
  120. package/lib/common/index.d.ts +1 -0
  121. package/lib/common/index.js +1 -0
  122. package/lib/common/it/colors.js +48 -49
  123. package/lib/common/it/formatter.d.ts +32 -0
  124. package/lib/common/it/formatter.js +42 -0
  125. package/lib/common/it/logger.d.ts +0 -1
  126. package/lib/common/it/logger.js +3 -3
  127. package/lib/common/it/utils.d.ts +15 -2
  128. package/lib/common/it/utils.js +78 -17
  129. package/lib/common/shorters/application.d.ts +56 -0
  130. package/lib/common/shorters/application.js +81 -0
  131. package/lib/common/shorters/bans.d.ts +4 -5
  132. package/lib/common/shorters/bans.js +3 -3
  133. package/lib/common/shorters/channels.d.ts +7 -6
  134. package/lib/common/shorters/channels.js +19 -15
  135. package/lib/common/shorters/emojis.d.ts +5 -6
  136. package/lib/common/shorters/emojis.js +5 -5
  137. package/lib/common/shorters/guilds.d.ts +18 -16
  138. package/lib/common/shorters/guilds.js +31 -26
  139. package/lib/common/shorters/interaction.d.ts +6 -6
  140. package/lib/common/shorters/interaction.js +3 -2
  141. package/lib/common/shorters/members.d.ts +29 -12
  142. package/lib/common/shorters/members.js +55 -16
  143. package/lib/common/shorters/messages.d.ts +7 -8
  144. package/lib/common/shorters/messages.js +8 -7
  145. package/lib/common/shorters/reactions.d.ts +3 -3
  146. package/lib/common/shorters/reactions.js +11 -11
  147. package/lib/common/shorters/roles.d.ts +9 -7
  148. package/lib/common/shorters/roles.js +26 -7
  149. package/lib/common/shorters/templates.d.ts +7 -8
  150. package/lib/common/shorters/templates.js +7 -7
  151. package/lib/common/shorters/threads.d.ts +6 -7
  152. package/lib/common/shorters/threads.js +6 -9
  153. package/lib/common/shorters/users.d.ts +4 -4
  154. package/lib/common/shorters/users.js +8 -4
  155. package/lib/common/shorters/webhook.d.ts +10 -10
  156. package/lib/common/shorters/webhook.js +10 -9
  157. package/lib/common/types/resolvables.d.ts +2 -2
  158. package/lib/common/types/util.d.ts +3 -1
  159. package/lib/common/types/write.d.ts +1 -1
  160. package/lib/components/ActionRow.d.ts +1 -1
  161. package/lib/components/BaseComponent.d.ts +1 -1
  162. package/lib/components/BaseComponent.js +1 -1
  163. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  164. package/lib/components/ButtonComponent.d.ts +17 -7
  165. package/lib/components/ButtonComponent.js +19 -2
  166. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  167. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  168. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  169. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  170. package/lib/components/TextInputComponent.d.ts +2 -2
  171. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  172. package/lib/components/componentcommand.js +2 -2
  173. package/lib/components/componentcontext.d.ts +10 -9
  174. package/lib/components/componentcontext.js +8 -8
  175. package/lib/components/handler.d.ts +15 -14
  176. package/lib/components/handler.js +89 -93
  177. package/lib/components/index.d.ts +3 -3
  178. package/lib/components/index.js +12 -10
  179. package/lib/components/modalcontext.d.ts +12 -11
  180. package/lib/components/modalcontext.js +2 -2
  181. package/lib/deps/mixer.d.ts +8 -0
  182. package/lib/deps/mixer.js +66 -0
  183. package/lib/events/handler.d.ts +35 -13
  184. package/lib/events/handler.js +58 -25
  185. package/lib/events/hooks/application_command.d.ts +2 -2
  186. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  187. package/lib/events/hooks/auto_moderation.js +4 -4
  188. package/lib/events/hooks/channel.d.ts +2 -2
  189. package/lib/events/hooks/channel.js +4 -7
  190. package/lib/events/hooks/custom.d.ts +3 -3
  191. package/lib/events/hooks/dispatch.d.ts +3 -4
  192. package/lib/events/hooks/dispatch.js +2 -2
  193. package/lib/events/hooks/entitlement.d.ts +5 -37
  194. package/lib/events/hooks/entitlement.js +7 -7
  195. package/lib/events/hooks/guild.d.ts +125 -125
  196. package/lib/events/hooks/guild.js +13 -15
  197. package/lib/events/hooks/integration.d.ts +27 -28
  198. package/lib/events/hooks/integration.js +3 -3
  199. package/lib/events/hooks/interactions.d.ts +2 -2
  200. package/lib/events/hooks/invite.d.ts +18 -17
  201. package/lib/events/hooks/message.d.ts +69 -54
  202. package/lib/events/hooks/message.js +4 -8
  203. package/lib/events/hooks/presence.d.ts +17 -16
  204. package/lib/events/hooks/stage.d.ts +4 -4
  205. package/lib/events/hooks/thread.d.ts +132 -63
  206. package/lib/events/hooks/thread.js +4 -4
  207. package/lib/events/hooks/typing.d.ts +28 -6
  208. package/lib/events/hooks/typing.js +2 -2
  209. package/lib/events/hooks/user.d.ts +3 -3
  210. package/lib/events/hooks/user.js +2 -2
  211. package/lib/events/hooks/voice.d.ts +28 -3
  212. package/lib/events/hooks/voice.js +8 -4
  213. package/lib/events/hooks/webhook.d.ts +1 -1
  214. package/lib/index.d.ts +5 -14
  215. package/lib/index.js +7 -12
  216. package/lib/langs/handler.d.ts +14 -10
  217. package/lib/langs/handler.js +40 -9
  218. package/lib/structures/AutoModerationRule.d.ts +4 -4
  219. package/lib/structures/AutoModerationRule.js +1 -2
  220. package/lib/structures/ClientUser.d.ts +1 -1
  221. package/lib/structures/Entitlement.d.ts +10 -0
  222. package/lib/structures/Entitlement.js +16 -0
  223. package/lib/structures/Guild.d.ts +33 -34
  224. package/lib/structures/Guild.js +5 -2
  225. package/lib/structures/GuildBan.d.ts +6 -6
  226. package/lib/structures/GuildBan.js +2 -1
  227. package/lib/structures/GuildEmoji.d.ts +4 -4
  228. package/lib/structures/GuildEmoji.js +3 -2
  229. package/lib/structures/GuildMember.d.ts +20 -17
  230. package/lib/structures/GuildMember.js +18 -8
  231. package/lib/structures/GuildPreview.d.ts +1 -1
  232. package/lib/structures/GuildRole.d.ts +5 -3
  233. package/lib/structures/GuildRole.js +8 -1
  234. package/lib/structures/GuildTemplate.d.ts +2 -2
  235. package/lib/structures/GuildTemplate.js +1 -1
  236. package/lib/structures/Interaction.d.ts +53 -36
  237. package/lib/structures/Interaction.js +127 -91
  238. package/lib/structures/Message.d.ts +29 -30
  239. package/lib/structures/Message.js +8 -9
  240. package/lib/structures/Poll.d.ts +4 -3
  241. package/lib/structures/Poll.js +6 -2
  242. package/lib/structures/Sticker.d.ts +7 -7
  243. package/lib/structures/Sticker.js +7 -7
  244. package/lib/structures/User.d.ts +5 -4
  245. package/lib/structures/User.js +2 -1
  246. package/lib/structures/VoiceState.d.ts +15 -11
  247. package/lib/structures/VoiceState.js +35 -17
  248. package/lib/structures/Webhook.d.ts +6 -7
  249. package/lib/structures/Webhook.js +6 -7
  250. package/lib/structures/channels.d.ts +11 -10
  251. package/lib/structures/channels.js +70 -65
  252. package/lib/structures/extra/BaseGuild.d.ts +1 -1
  253. package/lib/structures/extra/BaseGuild.js +3 -3
  254. package/lib/structures/extra/BitField.d.ts +1 -1
  255. package/lib/structures/extra/BitField.js +3 -2
  256. package/lib/structures/extra/DiscordBase.js +2 -2
  257. package/lib/structures/extra/Permissions.d.ts +3 -1
  258. package/lib/structures/extra/Permissions.js +8 -3
  259. package/lib/types/gateway.d.ts +1537 -0
  260. package/lib/types/gateway.js +4 -0
  261. package/lib/types/index.d.ts +9 -1
  262. package/lib/types/index.js +28 -1
  263. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  264. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  265. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  266. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  267. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  268. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  269. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  270. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  271. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  272. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  273. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  297. package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
  298. package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
  299. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  300. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  301. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  302. package/lib/types/payloads/_interactions/base.js +2 -0
  303. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  304. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  305. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  306. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  307. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  308. package/lib/types/payloads/_interactions/ping.js +2 -0
  309. package/lib/types/payloads/_interactions/responses.d.ts +112 -0
  310. package/lib/types/payloads/_interactions/responses.js +54 -0
  311. package/lib/types/payloads/application.d.ts +292 -0
  312. package/lib/types/payloads/application.js +117 -0
  313. package/lib/types/payloads/auditLog.d.ts +644 -0
  314. package/lib/types/payloads/auditLog.js +80 -0
  315. package/lib/types/payloads/autoModeration.d.ts +219 -0
  316. package/lib/types/payloads/autoModeration.js +87 -0
  317. package/lib/types/payloads/channel.d.ts +1708 -0
  318. package/lib/types/payloads/channel.js +372 -0
  319. package/lib/types/payloads/emoji.d.ts +48 -0
  320. package/lib/types/payloads/emoji.js +5 -0
  321. package/lib/types/payloads/gateway.d.ts +373 -0
  322. package/lib/types/payloads/gateway.js +82 -0
  323. package/lib/types/payloads/guild.d.ts +1060 -0
  324. package/lib/types/payloads/guild.js +324 -0
  325. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  326. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  327. package/lib/types/payloads/index.d.ts +64 -0
  328. package/lib/types/payloads/index.js +37 -0
  329. package/lib/types/payloads/interactions.d.ts +24 -0
  330. package/lib/types/payloads/interactions.js +23 -0
  331. package/lib/types/payloads/invite.d.ts +121 -0
  332. package/lib/types/payloads/invite.js +23 -0
  333. package/lib/types/payloads/monetization.d.ts +150 -0
  334. package/lib/types/payloads/monetization.js +79 -0
  335. package/lib/types/payloads/oauth2.d.ts +131 -0
  336. package/lib/types/payloads/oauth2.js +135 -0
  337. package/lib/types/payloads/permissions.d.ts +97 -0
  338. package/lib/types/payloads/permissions.js +16 -0
  339. package/lib/types/payloads/poll.d.ts +104 -0
  340. package/lib/types/payloads/poll.js +16 -0
  341. package/lib/types/payloads/stageInstance.d.ts +77 -0
  342. package/lib/types/payloads/stageInstance.js +19 -0
  343. package/lib/types/payloads/sticker.d.ts +123 -0
  344. package/lib/types/payloads/sticker.js +30 -0
  345. package/lib/types/payloads/teams.d.ts +78 -0
  346. package/lib/types/payloads/teams.js +23 -0
  347. package/lib/types/payloads/template.d.ts +62 -0
  348. package/lib/types/payloads/template.js +5 -0
  349. package/lib/types/payloads/user.d.ts +337 -0
  350. package/lib/types/payloads/user.js +167 -0
  351. package/lib/types/payloads/voice.d.ts +89 -0
  352. package/lib/types/payloads/voice.js +5 -0
  353. package/lib/types/payloads/webhook.d.ts +76 -0
  354. package/lib/types/payloads/webhook.js +21 -0
  355. package/lib/types/rest/application.d.ts +57 -0
  356. package/lib/types/rest/application.js +2 -0
  357. package/lib/types/rest/auditLog.d.ts +30 -0
  358. package/lib/types/rest/auditLog.js +2 -0
  359. package/lib/types/rest/autoModeration.d.ts +66 -0
  360. package/lib/types/rest/autoModeration.js +2 -0
  361. package/lib/types/rest/channel.d.ts +712 -0
  362. package/lib/types/rest/channel.js +11 -0
  363. package/lib/types/rest/emoji.d.ts +54 -0
  364. package/lib/types/rest/emoji.js +2 -0
  365. package/lib/types/rest/gateway.d.ts +9 -0
  366. package/lib/types/rest/gateway.js +2 -0
  367. package/lib/types/rest/guild.d.ts +865 -0
  368. package/lib/types/rest/guild.js +2 -0
  369. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  370. package/lib/types/rest/guildScheduledEvent.js +2 -0
  371. package/lib/types/rest/index.d.ts +296 -0
  372. package/lib/types/rest/index.js +292 -0
  373. package/lib/types/rest/interactions.d.ts +194 -0
  374. package/lib/types/rest/interactions.js +2 -0
  375. package/lib/types/rest/invite.d.ts +24 -0
  376. package/lib/types/rest/invite.js +2 -0
  377. package/lib/types/rest/monetization.d.ts +82 -0
  378. package/lib/types/rest/monetization.js +11 -0
  379. package/lib/types/rest/oauth2.d.ts +172 -0
  380. package/lib/types/rest/oauth2.js +2 -0
  381. package/lib/types/rest/poll.d.ts +44 -0
  382. package/lib/types/rest/poll.js +2 -0
  383. package/lib/types/rest/stageInstance.d.ts +58 -0
  384. package/lib/types/rest/stageInstance.js +2 -0
  385. package/lib/types/rest/sticker.d.ts +77 -0
  386. package/lib/types/rest/sticker.js +2 -0
  387. package/lib/types/rest/template.d.ts +62 -0
  388. package/lib/types/rest/template.js +2 -0
  389. package/lib/types/rest/user.d.ts +120 -0
  390. package/lib/types/rest/user.js +2 -0
  391. package/lib/types/rest/voice.d.ts +17 -0
  392. package/lib/types/rest/voice.js +2 -0
  393. package/lib/types/rest/webhook.d.ts +250 -0
  394. package/lib/types/rest/webhook.js +2 -0
  395. package/lib/types/utils/index.d.ts +797 -0
  396. package/lib/types/utils/index.js +799 -0
  397. package/lib/websocket/SharedTypes.d.ts +4 -3
  398. package/lib/websocket/SharedTypes.js +1 -1
  399. package/lib/websocket/constants/index.d.ts +0 -1
  400. package/lib/websocket/discord/basesocket.d.ts +7 -7
  401. package/lib/websocket/discord/basesocket.js +34 -22
  402. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  403. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  404. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  405. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  406. package/lib/websocket/discord/shard.d.ts +8 -8
  407. package/lib/websocket/discord/shard.js +59 -47
  408. package/lib/websocket/discord/sharder.d.ts +6 -5
  409. package/lib/websocket/discord/sharder.js +11 -10
  410. package/lib/websocket/discord/shared.d.ts +13 -5
  411. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  412. package/lib/websocket/discord/socket/custom.js +283 -0
  413. package/lib/websocket/discord/worker.d.ts +5 -10
  414. package/lib/websocket/discord/workermanager.d.ts +8 -15
  415. package/lib/websocket/discord/workermanager.js +35 -39
  416. package/lib/websocket/structures/index.d.ts +0 -1
  417. package/lib/websocket/structures/index.js +1 -1
  418. package/lib/websocket/structures/timeout.d.ts +0 -1
  419. package/package.json +65 -74
  420. package/lib/cache/adapters/redis.d.ts +0 -37
  421. package/lib/cache/adapters/redis.js +0 -218
  422. package/lib/client/oninteractioncreate.d.ts +0 -4
  423. package/lib/client/oninteractioncreate.js +0 -198
  424. package/lib/client/onmessagecreate.d.ts +0 -13
  425. package/lib/client/onmessagecreate.js +0 -410
  426. package/lib/structures/extra/functions.d.ts +0 -12
  427. package/lib/structures/extra/functions.js +0 -70
@@ -0,0 +1,153 @@
1
+ import type { LocalizationMap, Permissions, Snowflake } from '../..';
2
+ import type { APIApplicationCommandOption, APIChatInputApplicationCommandDMInteraction, APIChatInputApplicationCommandGuildInteraction, APIChatInputApplicationCommandInteraction, APIChatInputApplicationCommandInteractionData } from './_applicationCommands/chatInput';
3
+ import type { APIContextMenuDMInteraction, APIContextMenuGuildInteraction, APIContextMenuInteraction, APIContextMenuInteractionData } from './_applicationCommands/contextMenu';
4
+ import type { APIBaseInteraction } from './base';
5
+ import type { InteractionType } from './responses';
6
+ export * from './_applicationCommands/chatInput';
7
+ export * from './_applicationCommands/contextMenu';
8
+ export * from './_applicationCommands/permissions';
9
+ /**
10
+ * https://discord.com/developers/docs/interactions/application-commands#application-command-object
11
+ */
12
+ export interface APIApplicationCommand {
13
+ /**
14
+ * Unique id of the command
15
+ */
16
+ id: Snowflake;
17
+ /**
18
+ * Type of the command
19
+ */
20
+ type: ApplicationCommandType;
21
+ /**
22
+ * Unique id of the parent application
23
+ */
24
+ application_id: Snowflake;
25
+ /**
26
+ * Guild id of the command, if not global
27
+ */
28
+ guild_id?: Snowflake;
29
+ /**
30
+ * 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}$`
31
+ */
32
+ name: string;
33
+ /**
34
+ * Localization dictionary for the name field. Values follow the same restrictions as name
35
+ */
36
+ name_localizations?: LocalizationMap | null;
37
+ /**
38
+ * The localized name
39
+ */
40
+ name_localized?: string;
41
+ /**
42
+ * 1-100 character description for `CHAT_INPUT` commands, empty string for `USER` and `MESSAGE` commands
43
+ */
44
+ description: string;
45
+ /**
46
+ * Localization dictionary for the description field. Values follow the same restrictions as description
47
+ */
48
+ description_localizations?: LocalizationMap | null;
49
+ /**
50
+ * The localized description
51
+ */
52
+ description_localized?: string;
53
+ /**
54
+ * The parameters for the `CHAT_INPUT` command, max 25
55
+ */
56
+ options?: APIApplicationCommandOption[];
57
+ /**
58
+ * Set of permissions represented as a bitset
59
+ */
60
+ default_member_permissions: Permissions | null;
61
+ /**
62
+ * Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible
63
+ *
64
+ * @deprecated Use `contexts` instead
65
+ */
66
+ dm_permission?: boolean;
67
+ /**
68
+ * Whether the command is enabled by default when the app is added to a guild
69
+ *
70
+ * If missing, this property should be assumed as `true`
71
+ *
72
+ * @deprecated Use `dm_permission` and/or `default_member_permissions` instead
73
+ */
74
+ default_permission?: boolean;
75
+ /**
76
+ * Indicates whether the command is age-restricted, defaults to `false`
77
+ */
78
+ nsfw?: boolean;
79
+ /**
80
+ * Installation context(s) where the command is available, only for globally-scoped commands. Defaults to `GUILD_INSTALL ([0])`
81
+ *
82
+ * @unstable
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
+ * @unstable
89
+ */
90
+ contexts?: InteractionContextType[] | null;
91
+ /**
92
+ * Autoincrementing version identifier updated during substantial record changes
93
+ */
94
+ version: Snowflake;
95
+ }
96
+ /**
97
+ * https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-types
98
+ */
99
+ export declare enum ApplicationCommandType {
100
+ ChatInput = 1,
101
+ User = 2,
102
+ Message = 3
103
+ }
104
+ /**
105
+ * https://discord.com/developers/docs/resources/application#application-object-application-integration-types
106
+ */
107
+ export declare enum ApplicationIntegrationType {
108
+ /**
109
+ * App is installable to servers
110
+ */
111
+ GuildInstall = 0,
112
+ /**
113
+ * App is installable to users
114
+ */
115
+ UserInstall = 1
116
+ }
117
+ /**
118
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types
119
+ */
120
+ export declare enum InteractionContextType {
121
+ /**
122
+ * Interaction can be used within servers
123
+ */
124
+ Guild = 0,
125
+ /**
126
+ * Interaction can be used within DMs with the app's bot user
127
+ */
128
+ BotDM = 1,
129
+ /**
130
+ * Interaction can be used within Group DMs and DMs other than the app's bot user
131
+ */
132
+ PrivateChannel = 2
133
+ }
134
+ /**
135
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
136
+ */
137
+ export type APIApplicationCommandInteractionData = APIChatInputApplicationCommandInteractionData | APIContextMenuInteractionData;
138
+ /**
139
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
140
+ */
141
+ export type APIApplicationCommandInteractionWrapper<Data extends APIApplicationCommandInteractionData> = APIBaseInteraction<InteractionType.ApplicationCommand, Data> & Required<Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'app_permissions' | 'channel_id' | 'channel' | 'data'>>;
142
+ /**
143
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
144
+ */
145
+ export type APIApplicationCommandInteraction = APIChatInputApplicationCommandInteraction | APIContextMenuInteraction;
146
+ /**
147
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
148
+ */
149
+ export type APIApplicationCommandDMInteraction = APIChatInputApplicationCommandDMInteraction | APIContextMenuDMInteraction;
150
+ /**
151
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
152
+ */
153
+ export type APIApplicationCommandGuildInteraction = APIChatInputApplicationCommandGuildInteraction | APIContextMenuGuildInteraction;
@@ -0,0 +1,61 @@
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.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
+ ApplicationCommandType[ApplicationCommandType["ChatInput"] = 1] = "ChatInput";
27
+ ApplicationCommandType[ApplicationCommandType["User"] = 2] = "User";
28
+ ApplicationCommandType[ApplicationCommandType["Message"] = 3] = "Message";
29
+ })(ApplicationCommandType || (exports.ApplicationCommandType = ApplicationCommandType = {}));
30
+ /**
31
+ * https://discord.com/developers/docs/resources/application#application-object-application-integration-types
32
+ */
33
+ var ApplicationIntegrationType;
34
+ (function (ApplicationIntegrationType) {
35
+ /**
36
+ * App is installable to servers
37
+ */
38
+ ApplicationIntegrationType[ApplicationIntegrationType["GuildInstall"] = 0] = "GuildInstall";
39
+ /**
40
+ * App is installable to users
41
+ */
42
+ ApplicationIntegrationType[ApplicationIntegrationType["UserInstall"] = 1] = "UserInstall";
43
+ })(ApplicationIntegrationType || (exports.ApplicationIntegrationType = ApplicationIntegrationType = {}));
44
+ /**
45
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types
46
+ */
47
+ var InteractionContextType;
48
+ (function (InteractionContextType) {
49
+ /**
50
+ * Interaction can be used within servers
51
+ */
52
+ InteractionContextType[InteractionContextType["Guild"] = 0] = "Guild";
53
+ /**
54
+ * Interaction can be used within DMs with the app's bot user
55
+ */
56
+ InteractionContextType[InteractionContextType["BotDM"] = 1] = "BotDM";
57
+ /**
58
+ * Interaction can be used within Group DMs and DMs other than the app's bot user
59
+ */
60
+ InteractionContextType[InteractionContextType["PrivateChannel"] = 2] = "PrivateChannel";
61
+ })(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 });
@@ -0,0 +1,112 @@
1
+ import type { RESTPostAPIWebhookWithTokenJSONBody } from '../../index';
2
+ import type { APIActionRowComponent, APIModalActionRowComponent } from '../channel';
3
+ import type { MessageFlags } from '../index';
4
+ import type { APIApplicationCommandOptionChoice } from './applicationCommands';
5
+ /**
6
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-type
7
+ */
8
+ export declare enum InteractionType {
9
+ Ping = 1,
10
+ ApplicationCommand = 2,
11
+ MessageComponent = 3,
12
+ ApplicationCommandAutocomplete = 4,
13
+ ModalSubmit = 5
14
+ }
15
+ /**
16
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object
17
+ */
18
+ export type APIInteractionResponse = APIApplicationCommandAutocompleteResponse | APIInteractionResponseChannelMessageWithSource | APIInteractionResponseDeferredChannelMessageWithSource | APIInteractionResponseDeferredMessageUpdate | APIInteractionResponsePong | APIInteractionResponseUpdateMessage | APIModalInteractionResponse | APIPremiumRequiredInteractionResponse;
19
+ export interface APIInteractionResponsePong {
20
+ type: InteractionResponseType.Pong;
21
+ }
22
+ export interface APIApplicationCommandAutocompleteResponse {
23
+ type: InteractionResponseType.ApplicationCommandAutocompleteResult;
24
+ data: APICommandAutocompleteInteractionResponseCallbackData;
25
+ }
26
+ export interface APIModalInteractionResponse {
27
+ type: InteractionResponseType.Modal;
28
+ data: APIModalInteractionResponseCallbackData;
29
+ }
30
+ export interface APIPremiumRequiredInteractionResponse {
31
+ type: InteractionResponseType.PremiumRequired;
32
+ }
33
+ export interface APIInteractionResponseChannelMessageWithSource {
34
+ type: InteractionResponseType.ChannelMessageWithSource;
35
+ data: APIInteractionResponseCallbackData;
36
+ }
37
+ export interface APIInteractionResponseDeferredChannelMessageWithSource {
38
+ type: InteractionResponseType.DeferredChannelMessageWithSource;
39
+ data?: Pick<APIInteractionResponseCallbackData, 'flags'>;
40
+ }
41
+ export interface APIInteractionResponseDeferredMessageUpdate {
42
+ type: InteractionResponseType.DeferredMessageUpdate;
43
+ }
44
+ export interface APIInteractionResponseUpdateMessage {
45
+ type: InteractionResponseType.UpdateMessage;
46
+ data?: APIInteractionResponseCallbackData;
47
+ }
48
+ /**
49
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object-interaction-callback-type
50
+ */
51
+ export declare enum InteractionResponseType {
52
+ /**
53
+ * ACK a `Ping`
54
+ */
55
+ Pong = 1,
56
+ /**
57
+ * Respond to an interaction with a message
58
+ */
59
+ ChannelMessageWithSource = 4,
60
+ /**
61
+ * ACK an interaction and edit to a response later, the user sees a loading state
62
+ */
63
+ DeferredChannelMessageWithSource = 5,
64
+ /**
65
+ * ACK a button interaction and update it to a loading state
66
+ */
67
+ DeferredMessageUpdate = 6,
68
+ /**
69
+ * ACK a button interaction and edit the message to which the button was attached
70
+ */
71
+ UpdateMessage = 7,
72
+ /**
73
+ * For autocomplete interactions
74
+ */
75
+ ApplicationCommandAutocompleteResult = 8,
76
+ /**
77
+ * Respond to an interaction with an modal for a user to fill-out
78
+ */
79
+ Modal = 9,
80
+ /**
81
+ * Respond to an interaction with an upgrade button, only available for apps with monetization enabled
82
+ *
83
+ * @deprecated See https://discord.com/developers/docs/change-log#premium-apps-new-premium-button-style-deep-linking-url-schemes
84
+ */
85
+ PremiumRequired = 10
86
+ }
87
+ /**
88
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object-interaction-callback-data-structure
89
+ */
90
+ export type APIInteractionResponseCallbackData = Omit<RESTPostAPIWebhookWithTokenJSONBody, 'avatar_url' | 'username'> & {
91
+ flags?: MessageFlags;
92
+ };
93
+ export interface APICommandAutocompleteInteractionResponseCallbackData {
94
+ choices?: APIApplicationCommandOptionChoice[];
95
+ }
96
+ /**
97
+ * https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object-modal
98
+ */
99
+ export interface APIModalInteractionResponseCallbackData {
100
+ /**
101
+ * A developer-defined identifier for the component, max 100 characters
102
+ */
103
+ custom_id: string;
104
+ /**
105
+ * The title of the popup modal
106
+ */
107
+ title: string;
108
+ /**
109
+ * Between 1 and 5 (inclusive) components that make up the modal
110
+ */
111
+ components: APIActionRowComponent<APIModalActionRowComponent>[];
112
+ }