seyfert 1.4.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 (433) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +22 -14
  3. package/lib/api/Router.js +5 -3
  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 +8 -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 +24 -11
  50. package/lib/cache/index.js +335 -19
  51. package/lib/cache/resources/bans.d.ts +15 -0
  52. package/lib/cache/resources/bans.js +44 -0
  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 +24 -8
  67. package/lib/cache/resources/messages.d.ts +11 -7
  68. package/lib/cache/resources/messages.js +25 -11
  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 +32 -20
  84. package/lib/client/base.js +51 -30
  85. package/lib/client/client.d.ts +12 -9
  86. package/lib/client/client.js +43 -49
  87. package/lib/client/collectors.d.ts +36 -0
  88. package/lib/client/collectors.js +110 -0
  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 +18 -15
  98. package/lib/client/workerclient.js +148 -110
  99. package/lib/collection.d.ts +2 -2
  100. package/lib/collection.js +2 -2
  101. package/lib/commands/applications/chat.d.ts +40 -38
  102. package/lib/commands/applications/chat.js +22 -12
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/menu.d.ts +9 -9
  106. package/lib/commands/applications/menu.js +5 -7
  107. package/lib/commands/applications/menucontext.d.ts +14 -13
  108. package/lib/commands/applications/menucontext.js +9 -9
  109. package/lib/commands/applications/options.d.ts +1 -1
  110. package/lib/commands/applications/options.js +20 -21
  111. package/lib/commands/applications/shared.d.ts +14 -0
  112. package/lib/commands/decorators.d.ts +47 -35
  113. package/lib/commands/decorators.js +19 -27
  114. package/lib/commands/handle.d.ts +64 -0
  115. package/lib/commands/handle.js +685 -0
  116. package/lib/commands/handler.d.ts +27 -18
  117. package/lib/commands/handler.js +296 -160
  118. package/lib/commands/optionresolver.d.ts +13 -13
  119. package/lib/commands/optionresolver.js +23 -28
  120. package/lib/common/bot/watcher.d.ts +4 -33
  121. package/lib/common/bot/watcher.js +0 -109
  122. package/lib/common/index.d.ts +2 -0
  123. package/lib/common/index.js +4 -1
  124. package/lib/common/it/colors.js +48 -49
  125. package/lib/common/it/formatter.d.ts +187 -0
  126. package/lib/common/it/formatter.js +226 -0
  127. package/lib/common/it/logger.d.ts +0 -1
  128. package/lib/common/it/logger.js +8 -8
  129. package/lib/common/it/utils.d.ts +15 -2
  130. package/lib/common/it/utils.js +80 -21
  131. package/lib/common/shorters/application.d.ts +56 -0
  132. package/lib/common/shorters/application.js +81 -0
  133. package/lib/common/shorters/bans.d.ts +42 -0
  134. package/lib/common/shorters/bans.js +78 -0
  135. package/lib/common/shorters/channels.d.ts +7 -6
  136. package/lib/common/shorters/channels.js +19 -15
  137. package/lib/common/shorters/emojis.d.ts +5 -6
  138. package/lib/common/shorters/emojis.js +8 -7
  139. package/lib/common/shorters/guilds.d.ts +18 -16
  140. package/lib/common/shorters/guilds.js +31 -26
  141. package/lib/common/shorters/interaction.d.ts +6 -6
  142. package/lib/common/shorters/interaction.js +12 -9
  143. package/lib/common/shorters/members.d.ts +29 -12
  144. package/lib/common/shorters/members.js +55 -16
  145. package/lib/common/shorters/messages.d.ts +7 -8
  146. package/lib/common/shorters/messages.js +10 -9
  147. package/lib/common/shorters/reactions.d.ts +3 -3
  148. package/lib/common/shorters/reactions.js +11 -11
  149. package/lib/common/shorters/roles.d.ts +9 -7
  150. package/lib/common/shorters/roles.js +26 -7
  151. package/lib/common/shorters/templates.d.ts +7 -8
  152. package/lib/common/shorters/templates.js +7 -7
  153. package/lib/common/shorters/threads.d.ts +6 -7
  154. package/lib/common/shorters/threads.js +6 -9
  155. package/lib/common/shorters/users.d.ts +4 -4
  156. package/lib/common/shorters/users.js +8 -4
  157. package/lib/common/shorters/webhook.d.ts +10 -10
  158. package/lib/common/shorters/webhook.js +12 -11
  159. package/lib/common/types/resolvables.d.ts +2 -2
  160. package/lib/common/types/util.d.ts +3 -1
  161. package/lib/common/types/write.d.ts +1 -1
  162. package/lib/components/ActionRow.d.ts +1 -1
  163. package/lib/components/BaseComponent.d.ts +1 -1
  164. package/lib/components/BaseComponent.js +1 -1
  165. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  166. package/lib/components/ButtonComponent.d.ts +17 -7
  167. package/lib/components/ButtonComponent.js +19 -2
  168. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  169. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  170. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  171. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  172. package/lib/components/TextInputComponent.d.ts +2 -2
  173. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  174. package/lib/components/componentcommand.d.ts +3 -2
  175. package/lib/components/componentcommand.js +4 -3
  176. package/lib/components/componentcontext.d.ts +11 -10
  177. package/lib/components/componentcontext.js +8 -8
  178. package/lib/components/handler.d.ts +16 -15
  179. package/lib/components/handler.js +101 -108
  180. package/lib/components/index.d.ts +3 -3
  181. package/lib/components/index.js +12 -10
  182. package/lib/components/modalcommand.d.ts +2 -1
  183. package/lib/components/modalcommand.js +1 -0
  184. package/lib/components/modalcontext.d.ts +13 -12
  185. package/lib/components/modalcontext.js +2 -2
  186. package/lib/deps/mixer.d.ts +8 -0
  187. package/lib/deps/mixer.js +66 -0
  188. package/lib/events/event.d.ts +4 -3
  189. package/lib/events/handler.d.ts +40 -15
  190. package/lib/events/handler.js +99 -21
  191. package/lib/events/hooks/application_command.d.ts +2 -2
  192. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  193. package/lib/events/hooks/auto_moderation.js +4 -4
  194. package/lib/events/hooks/channel.d.ts +2 -2
  195. package/lib/events/hooks/channel.js +4 -7
  196. package/lib/events/hooks/custom.d.ts +3 -3
  197. package/lib/events/hooks/dispatch.d.ts +3 -4
  198. package/lib/events/hooks/dispatch.js +2 -2
  199. package/lib/events/hooks/entitlement.d.ts +5 -37
  200. package/lib/events/hooks/entitlement.js +7 -7
  201. package/lib/events/hooks/guild.d.ts +126 -181
  202. package/lib/events/hooks/guild.js +13 -15
  203. package/lib/events/hooks/integration.d.ts +71 -15
  204. package/lib/events/hooks/integration.js +3 -3
  205. package/lib/events/hooks/interactions.d.ts +2 -2
  206. package/lib/events/hooks/invite.d.ts +18 -14
  207. package/lib/events/hooks/message.d.ts +72 -52
  208. package/lib/events/hooks/message.js +4 -8
  209. package/lib/events/hooks/presence.d.ts +21 -16
  210. package/lib/events/hooks/stage.d.ts +4 -4
  211. package/lib/events/hooks/thread.d.ts +140 -60
  212. package/lib/events/hooks/thread.js +4 -4
  213. package/lib/events/hooks/typing.d.ts +28 -5
  214. package/lib/events/hooks/typing.js +2 -2
  215. package/lib/events/hooks/user.d.ts +3 -3
  216. package/lib/events/hooks/user.js +2 -2
  217. package/lib/events/hooks/voice.d.ts +28 -3
  218. package/lib/events/hooks/voice.js +8 -4
  219. package/lib/events/hooks/webhook.d.ts +1 -1
  220. package/lib/index.d.ts +6 -15
  221. package/lib/index.js +8 -12
  222. package/lib/langs/handler.d.ts +14 -10
  223. package/lib/langs/handler.js +40 -9
  224. package/lib/structures/AutoModerationRule.d.ts +4 -4
  225. package/lib/structures/AutoModerationRule.js +1 -2
  226. package/lib/structures/ClientUser.d.ts +1 -1
  227. package/lib/structures/Entitlement.d.ts +10 -0
  228. package/lib/structures/Entitlement.js +16 -0
  229. package/lib/structures/Guild.d.ts +37 -30
  230. package/lib/structures/Guild.js +7 -2
  231. package/lib/structures/GuildBan.d.ts +25 -0
  232. package/lib/structures/GuildBan.js +37 -0
  233. package/lib/structures/GuildEmoji.d.ts +4 -4
  234. package/lib/structures/GuildEmoji.js +3 -2
  235. package/lib/structures/GuildMember.d.ts +27 -19
  236. package/lib/structures/GuildMember.js +21 -11
  237. package/lib/structures/GuildPreview.d.ts +1 -1
  238. package/lib/structures/GuildRole.d.ts +5 -3
  239. package/lib/structures/GuildRole.js +8 -1
  240. package/lib/structures/GuildTemplate.d.ts +2 -2
  241. package/lib/structures/GuildTemplate.js +1 -1
  242. package/lib/structures/Interaction.d.ts +56 -38
  243. package/lib/structures/Interaction.js +134 -86
  244. package/lib/structures/Message.d.ts +80 -20
  245. package/lib/structures/Message.js +67 -26
  246. package/lib/structures/Poll.d.ts +4 -3
  247. package/lib/structures/Poll.js +6 -2
  248. package/lib/structures/Sticker.d.ts +10 -10
  249. package/lib/structures/Sticker.js +7 -7
  250. package/lib/structures/User.d.ts +6 -4
  251. package/lib/structures/User.js +6 -2
  252. package/lib/structures/VoiceState.d.ts +15 -11
  253. package/lib/structures/VoiceState.js +35 -17
  254. package/lib/structures/Webhook.d.ts +6 -7
  255. package/lib/structures/Webhook.js +6 -7
  256. package/lib/structures/channels.d.ts +14 -10
  257. package/lib/structures/channels.js +97 -62
  258. package/lib/structures/extra/BaseGuild.d.ts +1 -1
  259. package/lib/structures/extra/BaseGuild.js +3 -3
  260. package/lib/structures/extra/BitField.d.ts +1 -1
  261. package/lib/structures/extra/BitField.js +3 -2
  262. package/lib/structures/extra/DiscordBase.js +2 -2
  263. package/lib/structures/extra/Permissions.d.ts +3 -1
  264. package/lib/structures/extra/Permissions.js +8 -3
  265. package/lib/types/gateway.d.ts +1537 -0
  266. package/lib/types/gateway.js +4 -0
  267. package/lib/types/index.d.ts +9 -1
  268. package/lib/types/index.js +28 -1
  269. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  270. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  271. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  272. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  273. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  303. package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
  304. package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
  305. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  306. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  307. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  308. package/lib/types/payloads/_interactions/base.js +2 -0
  309. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  310. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  311. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  312. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  313. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  314. package/lib/types/payloads/_interactions/ping.js +2 -0
  315. package/lib/types/payloads/_interactions/responses.d.ts +112 -0
  316. package/lib/types/payloads/_interactions/responses.js +54 -0
  317. package/lib/types/payloads/application.d.ts +292 -0
  318. package/lib/types/payloads/application.js +117 -0
  319. package/lib/types/payloads/auditLog.d.ts +644 -0
  320. package/lib/types/payloads/auditLog.js +80 -0
  321. package/lib/types/payloads/autoModeration.d.ts +219 -0
  322. package/lib/types/payloads/autoModeration.js +87 -0
  323. package/lib/types/payloads/channel.d.ts +1708 -0
  324. package/lib/types/payloads/channel.js +372 -0
  325. package/lib/types/payloads/emoji.d.ts +48 -0
  326. package/lib/types/payloads/emoji.js +5 -0
  327. package/lib/types/payloads/gateway.d.ts +373 -0
  328. package/lib/types/payloads/gateway.js +82 -0
  329. package/lib/types/payloads/guild.d.ts +1060 -0
  330. package/lib/types/payloads/guild.js +324 -0
  331. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  332. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  333. package/lib/types/payloads/index.d.ts +64 -0
  334. package/lib/types/payloads/index.js +37 -0
  335. package/lib/types/payloads/interactions.d.ts +24 -0
  336. package/lib/types/payloads/interactions.js +23 -0
  337. package/lib/types/payloads/invite.d.ts +121 -0
  338. package/lib/types/payloads/invite.js +23 -0
  339. package/lib/types/payloads/monetization.d.ts +150 -0
  340. package/lib/types/payloads/monetization.js +79 -0
  341. package/lib/types/payloads/oauth2.d.ts +131 -0
  342. package/lib/types/payloads/oauth2.js +135 -0
  343. package/lib/types/payloads/permissions.d.ts +97 -0
  344. package/lib/types/payloads/permissions.js +16 -0
  345. package/lib/types/payloads/poll.d.ts +104 -0
  346. package/lib/types/payloads/poll.js +16 -0
  347. package/lib/types/payloads/stageInstance.d.ts +77 -0
  348. package/lib/types/payloads/stageInstance.js +19 -0
  349. package/lib/types/payloads/sticker.d.ts +123 -0
  350. package/lib/types/payloads/sticker.js +30 -0
  351. package/lib/types/payloads/teams.d.ts +78 -0
  352. package/lib/types/payloads/teams.js +23 -0
  353. package/lib/types/payloads/template.d.ts +62 -0
  354. package/lib/types/payloads/template.js +5 -0
  355. package/lib/types/payloads/user.d.ts +337 -0
  356. package/lib/types/payloads/user.js +167 -0
  357. package/lib/types/payloads/voice.d.ts +89 -0
  358. package/lib/types/payloads/voice.js +5 -0
  359. package/lib/types/payloads/webhook.d.ts +76 -0
  360. package/lib/types/payloads/webhook.js +21 -0
  361. package/lib/types/rest/application.d.ts +57 -0
  362. package/lib/types/rest/application.js +2 -0
  363. package/lib/types/rest/auditLog.d.ts +30 -0
  364. package/lib/types/rest/auditLog.js +2 -0
  365. package/lib/types/rest/autoModeration.d.ts +66 -0
  366. package/lib/types/rest/autoModeration.js +2 -0
  367. package/lib/types/rest/channel.d.ts +712 -0
  368. package/lib/types/rest/channel.js +11 -0
  369. package/lib/types/rest/emoji.d.ts +54 -0
  370. package/lib/types/rest/emoji.js +2 -0
  371. package/lib/types/rest/gateway.d.ts +9 -0
  372. package/lib/types/rest/gateway.js +2 -0
  373. package/lib/types/rest/guild.d.ts +865 -0
  374. package/lib/types/rest/guild.js +2 -0
  375. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  376. package/lib/types/rest/guildScheduledEvent.js +2 -0
  377. package/lib/types/rest/index.d.ts +296 -0
  378. package/lib/types/rest/index.js +292 -0
  379. package/lib/types/rest/interactions.d.ts +194 -0
  380. package/lib/types/rest/interactions.js +2 -0
  381. package/lib/types/rest/invite.d.ts +24 -0
  382. package/lib/types/rest/invite.js +2 -0
  383. package/lib/types/rest/monetization.d.ts +82 -0
  384. package/lib/types/rest/monetization.js +11 -0
  385. package/lib/types/rest/oauth2.d.ts +172 -0
  386. package/lib/types/rest/oauth2.js +2 -0
  387. package/lib/types/rest/poll.d.ts +44 -0
  388. package/lib/types/rest/poll.js +2 -0
  389. package/lib/types/rest/stageInstance.d.ts +58 -0
  390. package/lib/types/rest/stageInstance.js +2 -0
  391. package/lib/types/rest/sticker.d.ts +77 -0
  392. package/lib/types/rest/sticker.js +2 -0
  393. package/lib/types/rest/template.d.ts +62 -0
  394. package/lib/types/rest/template.js +2 -0
  395. package/lib/types/rest/user.d.ts +120 -0
  396. package/lib/types/rest/user.js +2 -0
  397. package/lib/types/rest/voice.d.ts +17 -0
  398. package/lib/types/rest/voice.js +2 -0
  399. package/lib/types/rest/webhook.d.ts +250 -0
  400. package/lib/types/rest/webhook.js +2 -0
  401. package/lib/types/utils/index.d.ts +797 -0
  402. package/lib/types/utils/index.js +799 -0
  403. package/lib/websocket/SharedTypes.d.ts +4 -3
  404. package/lib/websocket/SharedTypes.js +1 -1
  405. package/lib/websocket/constants/index.d.ts +0 -1
  406. package/lib/websocket/discord/basesocket.d.ts +7 -6
  407. package/lib/websocket/discord/basesocket.js +35 -6
  408. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  409. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  410. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  411. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  412. package/lib/websocket/discord/shard.d.ts +9 -8
  413. package/lib/websocket/discord/shard.js +65 -47
  414. package/lib/websocket/discord/sharder.d.ts +6 -5
  415. package/lib/websocket/discord/sharder.js +11 -10
  416. package/lib/websocket/discord/shared.d.ts +13 -5
  417. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  418. package/lib/websocket/discord/socket/custom.js +283 -0
  419. package/lib/websocket/discord/worker.d.ts +5 -10
  420. package/lib/websocket/discord/workermanager.d.ts +8 -15
  421. package/lib/websocket/discord/workermanager.js +35 -39
  422. package/lib/websocket/structures/index.d.ts +0 -1
  423. package/lib/websocket/structures/index.js +1 -1
  424. package/lib/websocket/structures/timeout.d.ts +0 -1
  425. package/package.json +65 -74
  426. package/lib/cache/adapters/redis.d.ts +0 -37
  427. package/lib/cache/adapters/redis.js +0 -218
  428. package/lib/client/oninteractioncreate.d.ts +0 -4
  429. package/lib/client/oninteractioncreate.js +0 -198
  430. package/lib/client/onmessagecreate.d.ts +0 -3
  431. package/lib/client/onmessagecreate.js +0 -395
  432. package/lib/structures/extra/functions.d.ts +0 -12
  433. package/lib/structures/extra/functions.js +0 -70
@@ -1,7 +1,8 @@
1
- import type { AllChannels, ButtonInteraction, ChannelSelectMenuInteraction, ComponentCommand, Guild, GuildMember, MentionableSelectMenuInteraction, Message, ReturnCache, RoleSelectMenuInteraction, StringSelectMenuInteraction, UserSelectMenuInteraction, WebhookMessage } from '..';
1
+ import type { AllChannels, ButtonInteraction, ChannelSelectMenuInteraction, ComponentCommand, MentionableSelectMenuInteraction, ReturnCache, RoleSelectMenuInteraction, StringSelectMenuInteraction, UserSelectMenuInteraction } from '..';
2
2
  import type { CommandMetadata, ExtendContext, GlobalMetadata, RegisteredMiddlewares, UsingClient } from '../commands';
3
3
  import { BaseContext } from '../commands/basecontext';
4
4
  import type { ComponentInteractionMessageUpdate, InteractionCreateBodyRequest, InteractionMessageUpdateBodyRequest, ModalCreateBodyRequest, UnionToTuple, When } from '../common';
5
+ import type { GuildMemberStructure, GuildStructure, MessageStructure, WebhookMessageStructure } from '../client/transformers';
5
6
  export interface ComponentContext<Type extends keyof ContextComponentCommandInteractionMap = keyof ContextComponentCommandInteractionMap> extends BaseContext, ExtendContext {
6
7
  }
7
8
  /**
@@ -17,14 +18,14 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
17
18
  * @param interaction - The component interaction object.
18
19
  */
19
20
  constructor(client: UsingClient, interaction: ContextComponentCommandInteractionMap[Type]);
20
- command?: ComponentCommand;
21
+ command: ComponentCommand;
21
22
  metadata: CommandMetadata<UnionToTuple<M>>;
22
23
  globalMetadata: GlobalMetadata;
23
24
  /**
24
25
  * Gets the language object for the interaction's locale.
25
26
  */
26
27
  get t(): import("..").__InternalParseLocale<import("..").DefaultLocale> & {
27
- get(locale?: string | undefined): import("..").DefaultLocale;
28
+ get(locale?: string): import("..").DefaultLocale;
28
29
  };
29
30
  /**
30
31
  * Gets the custom ID of the interaction.
@@ -35,7 +36,7 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
35
36
  * @param body - The body of the response.
36
37
  * @param fetchReply - Whether to fetch the reply or not.
37
38
  */
38
- write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage, void>>;
39
+ write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, import("..").WebhookMessage, void>>;
39
40
  /**
40
41
  * Defers the reply to the interaction.
41
42
  * @param ephemeral - Whether the reply should be ephemeral or not.
@@ -45,7 +46,7 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
45
46
  * Edits the response of the interaction.
46
47
  * @param body - The updated body of the response.
47
48
  */
48
- editResponse(body: InteractionMessageUpdateBodyRequest): Promise<WebhookMessage>;
49
+ editResponse(body: InteractionMessageUpdateBodyRequest): Promise<import("..").WebhookMessage>;
49
50
  /**
50
51
  * Updates the interaction with new data.
51
52
  * @param body - The updated body of the interaction.
@@ -56,7 +57,7 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
56
57
  * @param body - The body of the response or updated body of the interaction.
57
58
  * @param fetchReply - Whether to fetch the reply or not.
58
59
  */
59
- editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage | Message, void | WebhookMessage | Message>>;
60
+ editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessageStructure | MessageStructure, void | WebhookMessageStructure | MessageStructure>>;
60
61
  /**
61
62
  * Deletes the response of the interaction.
62
63
  * @returns A promise that resolves when the response is deleted.
@@ -75,15 +76,15 @@ export declare class ComponentContext<Type extends keyof ContextComponentCommand
75
76
  * @param mode - The mode to fetch the member.
76
77
  * @returns A promise that resolves to the bot member.
77
78
  */
78
- me(mode?: 'rest' | 'flow'): Promise<GuildMember>;
79
- me(mode?: 'cache'): ReturnCache<GuildMember | undefined>;
79
+ me(mode?: 'rest' | 'flow'): Promise<GuildMemberStructure>;
80
+ me(mode?: 'cache'): ReturnCache<GuildMemberStructure | undefined>;
80
81
  /**
81
82
  * Gets the guild of the interaction.
82
83
  * @param mode - The mode to fetch the guild.
83
84
  * @returns A promise that resolves to the guild.
84
85
  */
85
- guild(mode?: 'rest' | 'flow'): Promise<Guild<'cached' | 'api'> | undefined>;
86
- guild(mode?: 'cache'): ReturnCache<Guild<'cached'> | undefined>;
86
+ guild(mode?: 'rest' | 'flow'): Promise<GuildStructure<'cached' | 'api'> | undefined>;
87
+ guild(mode?: 'cache'): ReturnCache<GuildStructure<'cached'> | undefined>;
87
88
  /**
88
89
  * Gets the ID of the guild of the interaction.
89
90
  */
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComponentContext = void 0;
4
- const v10_1 = require("discord-api-types/v10");
4
+ const types_1 = require("../types");
5
5
  const basecontext_1 = require("../commands/basecontext");
6
6
  /**
7
7
  * Represents a context for interacting with components in a Discord bot.
@@ -48,7 +48,7 @@ class ComponentContext extends basecontext_1.BaseContext {
48
48
  * @param ephemeral - Whether the reply should be ephemeral or not.
49
49
  */
50
50
  deferReply(ephemeral = false) {
51
- return this.interaction.deferReply(ephemeral ? v10_1.MessageFlags.Ephemeral : undefined);
51
+ return this.interaction.deferReply(ephemeral ? types_1.MessageFlags.Ephemeral : undefined);
52
52
  }
53
53
  /**
54
54
  * Edits the response of the interaction.
@@ -135,22 +135,22 @@ class ComponentContext extends basecontext_1.BaseContext {
135
135
  return true;
136
136
  }
137
137
  isButton() {
138
- return this.interaction.data.componentType === v10_1.ComponentType.Button;
138
+ return this.interaction.data.componentType === types_1.ComponentType.Button;
139
139
  }
140
140
  isChannelSelectMenu() {
141
- return this.interaction.componentType === v10_1.ComponentType.ChannelSelect;
141
+ return this.interaction.componentType === types_1.ComponentType.ChannelSelect;
142
142
  }
143
143
  isRoleSelectMenu() {
144
- return this.interaction.componentType === v10_1.ComponentType.RoleSelect;
144
+ return this.interaction.componentType === types_1.ComponentType.RoleSelect;
145
145
  }
146
146
  isMentionableSelectMenu() {
147
- return this.interaction.componentType === v10_1.ComponentType.MentionableSelect;
147
+ return this.interaction.componentType === types_1.ComponentType.MentionableSelect;
148
148
  }
149
149
  isUserSelectMenu() {
150
- return this.interaction.componentType === v10_1.ComponentType.UserSelect;
150
+ return this.interaction.componentType === types_1.ComponentType.UserSelect;
151
151
  }
152
152
  isStringSelectMenu() {
153
- return this.interaction.componentType === v10_1.ComponentType.StringSelect;
153
+ return this.interaction.componentType === types_1.ComponentType.StringSelect;
154
154
  }
155
155
  }
156
156
  exports.ComponentContext = ComponentContext;
@@ -1,7 +1,7 @@
1
- /// <reference types="node" />
2
1
  import type { ComponentCallback, ListenerOptions, ModalSubmitCallback } from '../builders/types';
3
2
  import { LimitedCollection } from '../collection';
4
3
  import { type UsingClient } from '../commands';
4
+ import type { FileLoaded } from '../commands/handler';
5
5
  import { BaseHandler, type Logger, type OnFailCallback } from '../common';
6
6
  import type { ComponentInteraction, ModalSubmitInteraction, StringSelectMenuInteraction } from '../structures';
7
7
  import { ComponentCommand } from './componentcommand';
@@ -19,16 +19,18 @@ type COMPONENTS = {
19
19
  timeout?: NodeJS.Timeout;
20
20
  __run: (customId: string | string[] | RegExp, callback: ComponentCallback) => any;
21
21
  };
22
+ export type CollectorInteraction = ComponentInteraction | StringSelectMenuInteraction;
23
+ export type ComponentCommands = ComponentCommand | ModalCommand;
22
24
  export declare class ComponentHandler extends BaseHandler {
23
25
  protected client: UsingClient;
24
26
  onFail: OnFailCallback;
25
27
  readonly values: Map<string, COMPONENTS>;
26
28
  readonly modals: LimitedCollection<string, ModalSubmitCallback>;
27
- readonly commands: (ComponentCommand | ModalCommand)[];
29
+ readonly commands: ComponentCommands[];
28
30
  protected filter: (path: string) => boolean;
29
31
  constructor(logger: Logger, client: UsingClient);
30
32
  createComponentCollector(messageId: string, options?: ListenerOptions): {
31
- run<T extends ComponentInteraction | StringSelectMenuInteraction = ComponentInteraction | StringSelectMenuInteraction>(customId: string | string[] | RegExp, callback: ComponentCallback<T>): any;
33
+ run<T extends CollectorInteraction = CollectorInteraction>(customId: string | string[] | RegExp, callback: ComponentCallback<T>): any;
32
34
  stop(reason?: string): any;
33
35
  };
34
36
  onComponent(id: string, interaction: ComponentInteraction): Promise<void>;
@@ -38,18 +40,17 @@ export declare class ComponentHandler extends BaseHandler {
38
40
  onModalSubmit(interaction: ModalSubmitInteraction): any;
39
41
  deleteValue(id: string, reason?: string): void;
40
42
  onMessageDelete(id: string): void;
41
- load(componentsDir: string, instances?: {
42
- new (): ModalCommand | ComponentCommand;
43
- }[]): Promise<void>;
43
+ stablishDefaults(component: ComponentCommands): void;
44
+ set(instances: (new () => ComponentCommands)[]): void;
45
+ load(componentsDir: string): Promise<void>;
44
46
  reload(path: string): Promise<any>;
45
- reloadAll(): Promise<void>;
46
- executeComponent(context: ComponentContext): Promise<any>;
47
- executeModal(context: ModalContext): Promise<any>;
48
- setHandlers({ callback }: {
49
- callback: ComponentHandler['callback'];
50
- }): void;
51
- callback: (file: {
52
- new (): ModalCommand | ComponentCommand;
53
- }) => ModalCommand | ComponentCommand | false;
47
+ reloadAll(stopIfFail?: boolean): Promise<void>;
48
+ execute(i: ComponentCommands, context: ComponentContext | ModalContext): Promise<any>;
49
+ executeComponent(context: ComponentContext): Promise<void>;
50
+ executeModal(context: ModalContext): Promise<void>;
51
+ onFile(file: FileLoaded<new () => ComponentCommands>): (new () => ComponentCommands)[] | undefined;
52
+ callback(file: {
53
+ new (): ComponentCommands;
54
+ }): ComponentCommands | false;
54
55
  }
55
56
  export {};
@@ -22,7 +22,7 @@ class ComponentHandler extends common_1.BaseHandler {
22
22
  this.values.set(messageId, {
23
23
  components: [],
24
24
  options,
25
- idle: options.idle
25
+ idle: options.idle && options.idle > 0
26
26
  ? setTimeout(() => {
27
27
  this.deleteValue(messageId);
28
28
  options.onStop?.('idle', () => {
@@ -30,7 +30,7 @@ class ComponentHandler extends common_1.BaseHandler {
30
30
  });
31
31
  }, options.idle)
32
32
  : undefined,
33
- timeout: options.timeout
33
+ timeout: options.timeout && options.timeout > 0
34
34
  ? setTimeout(() => {
35
35
  this.deleteValue(messageId);
36
36
  options.onStop?.('timeout', () => {
@@ -117,55 +117,72 @@ class ComponentHandler extends common_1.BaseHandler {
117
117
  onMessageDelete(id) {
118
118
  this.deleteValue(id, 'messageDelete');
119
119
  }
120
- async load(componentsDir, instances) {
121
- const paths = instances?.map(x => {
122
- const i = new x();
123
- return { file: x, path: i.__filePath ?? '*' };
124
- }) ?? (await this.loadFilesK(await this.getFiles(componentsDir)));
125
- for (let i = 0; i < paths.length; i++) {
120
+ stablishDefaults(component) {
121
+ component.props ??= this.client.options.commands?.defaults?.props ?? {};
122
+ const is = component instanceof modalcommand_1.ModalCommand ? 'modals' : 'components';
123
+ component.onInternalError ??= this.client.options?.[is]?.defaults?.onInternalError;
124
+ component.onMiddlewaresError ??= this.client.options?.[is]?.defaults?.onMiddlewaresError;
125
+ component.onRunError ??= this.client.options?.[is]?.defaults?.onRunError;
126
+ component.onAfterRun ??= this.client.options?.[is]?.defaults?.onAfterRun;
127
+ }
128
+ set(instances) {
129
+ for (const i of instances) {
126
130
  let component;
127
131
  try {
128
- component = this.callback(paths[i].file);
132
+ component = this.callback(i);
129
133
  if (!component)
130
134
  continue;
131
135
  }
132
136
  catch (e) {
133
- if (e instanceof Error && e.message.includes('is not a constructor')) {
134
- this.logger.warn(`${paths[i].path
135
- .split(process.cwd())
136
- .slice(1)
137
- .join(process.cwd())} doesn't export the class by \`export default <ComponentCommand>\``);
138
- }
139
- else
140
- this.logger.warn(e, paths[i]);
137
+ this.logger.warn(e, i);
141
138
  continue;
142
139
  }
143
- if (!(component instanceof modalcommand_1.ModalCommand) && !(component instanceof componentcommand_1.ComponentCommand))
140
+ this.stablishDefaults(component);
141
+ this.commands.push(component);
142
+ }
143
+ }
144
+ async load(componentsDir) {
145
+ const paths = await this.loadFilesK(await this.getFiles(componentsDir));
146
+ for (const { components, file } of paths.map(x => ({ components: this.onFile(x.file), file: x }))) {
147
+ if (!components)
144
148
  continue;
145
- if (component instanceof modalcommand_1.ModalCommand) {
146
- component.onInternalError ??= this.client.options?.modals?.defaults?.onInternalError;
147
- component.onMiddlewaresError ??= this.client.options?.modals?.defaults?.onMiddlewaresError;
148
- component.onRunError ??= this.client.options?.modals?.defaults?.onRunError;
149
- component.onAfterRun ??= this.client.options?.modals?.defaults?.onAfterRun;
150
- }
151
- else {
152
- component.onInternalError ??= this.client.options?.components?.defaults?.onInternalError;
153
- component.onMiddlewaresError ??= this.client.options?.components?.defaults?.onMiddlewaresError;
154
- component.onRunError ??= this.client.options?.components?.defaults?.onRunError;
155
- component.onAfterRun ??= this.client.options?.components?.defaults?.onAfterRun;
149
+ for (const value of components) {
150
+ let component;
151
+ try {
152
+ component = this.callback(value);
153
+ if (!component)
154
+ continue;
155
+ }
156
+ catch (e) {
157
+ if (e instanceof Error && e.message.includes('is not a constructor')) {
158
+ this.logger.warn(`${file.path
159
+ .split(process.cwd())
160
+ .slice(1)
161
+ .join(process.cwd())} doesn't export the class by \`export default <ComponentCommand>\``);
162
+ }
163
+ else
164
+ this.logger.warn(e, value);
165
+ continue;
166
+ }
167
+ if (!(component instanceof modalcommand_1.ModalCommand || component instanceof componentcommand_1.ComponentCommand))
168
+ continue;
169
+ this.stablishDefaults(component);
170
+ component.__filePath = file.path;
171
+ this.commands.push(component);
156
172
  }
157
- component.__filePath = paths[i].path;
158
- this.commands.push(component);
159
173
  }
160
174
  }
161
175
  async reload(path) {
162
176
  if (!this.client.components)
163
177
  return;
178
+ if ((0, common_1.isCloudfareWorker)()) {
179
+ throw new Error('Reload in cloudfare worker is not supported');
180
+ }
164
181
  const component = this.client.components.commands.find(x => x.__filePath?.endsWith(`${path}.js`) ||
165
182
  x.__filePath?.endsWith(`${path}.ts`) ||
166
183
  x.__filePath?.endsWith(path) ||
167
184
  x.__filePath === path);
168
- if (!component || !component.__filePath)
185
+ if (!component?.__filePath)
169
186
  return null;
170
187
  delete require.cache[component.__filePath];
171
188
  const index = this.client.components.commands.findIndex(x => x.__filePath === component.__filePath);
@@ -178,13 +195,51 @@ class ComponentHandler extends common_1.BaseHandler {
178
195
  this.client.components.commands.push(command);
179
196
  return imported;
180
197
  }
181
- async reloadAll() {
182
- if (!this.client.components)
183
- return;
184
- for (const i of this.client.components.commands) {
185
- if (!i.__filePath)
186
- return this.logger.warn('Unknown command dont have __filePath property', i);
187
- await this.reload(i.__filePath);
198
+ async reloadAll(stopIfFail = true) {
199
+ for (const i of this.commands) {
200
+ try {
201
+ await this.reload(i.__filePath ?? '');
202
+ }
203
+ catch (e) {
204
+ if (stopIfFail) {
205
+ throw e;
206
+ }
207
+ }
208
+ }
209
+ }
210
+ async execute(i, context) {
211
+ try {
212
+ const resultRunGlobalMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, (context.client.options?.globalMiddlewares ?? []), true);
213
+ if (resultRunGlobalMiddlewares.pass) {
214
+ return;
215
+ }
216
+ if ('error' in resultRunGlobalMiddlewares) {
217
+ return i.onMiddlewaresError?.(context, resultRunGlobalMiddlewares.error ?? 'Unknown error');
218
+ }
219
+ const resultRunMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, i.middlewares, false);
220
+ if (resultRunMiddlewares.pass) {
221
+ return;
222
+ }
223
+ if ('error' in resultRunMiddlewares) {
224
+ return i.onMiddlewaresError?.(context, resultRunMiddlewares.error ?? 'Unknown error');
225
+ }
226
+ try {
227
+ await i.run(context);
228
+ await i.onAfterRun?.(context, undefined);
229
+ }
230
+ catch (error) {
231
+ await i.onRunError?.(context, error);
232
+ await i.onAfterRun?.(context, error);
233
+ }
234
+ }
235
+ catch (error) {
236
+ try {
237
+ await i.onInternalError?.(this.client, error);
238
+ }
239
+ catch (e) {
240
+ // supress error
241
+ this.logger.error(e);
242
+ }
188
243
  }
189
244
  }
190
245
  async executeComponent(context) {
@@ -194,39 +249,7 @@ class ComponentHandler extends common_1.BaseHandler {
194
249
  i.cType === context.interaction.componentType &&
195
250
  (await i.filter(context))) {
196
251
  context.command = i;
197
- try {
198
- const resultRunGlobalMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, (context.client.options?.globalMiddlewares ?? []), true);
199
- if (resultRunGlobalMiddlewares.pass) {
200
- return;
201
- }
202
- if ('error' in resultRunGlobalMiddlewares) {
203
- return i.onMiddlewaresError?.(context, resultRunGlobalMiddlewares.error ?? 'Unknown error');
204
- }
205
- const resultRunMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, i.middlewares, false);
206
- if (resultRunMiddlewares.pass) {
207
- return;
208
- }
209
- if ('error' in resultRunMiddlewares) {
210
- return i.onMiddlewaresError?.(context, resultRunMiddlewares.error ?? 'Unknown error');
211
- }
212
- try {
213
- await i.run(context);
214
- await i.onAfterRun?.(context, undefined);
215
- }
216
- catch (error) {
217
- await i.onRunError?.(context, error);
218
- await i.onAfterRun?.(context, error);
219
- }
220
- }
221
- catch (error) {
222
- try {
223
- await i.onInternalError?.(this.client, error);
224
- }
225
- catch {
226
- // supress error
227
- }
228
- }
229
- break;
252
+ await this.execute(i, context);
230
253
  }
231
254
  }
232
255
  catch (e) {
@@ -239,39 +262,7 @@ class ComponentHandler extends common_1.BaseHandler {
239
262
  try {
240
263
  if (i.type === componentcommand_1.InteractionCommandType.MODAL && (await i.filter(context))) {
241
264
  context.command = i;
242
- try {
243
- const resultRunGlobalMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, (context.client.options?.globalMiddlewares ?? []), true);
244
- if (resultRunGlobalMiddlewares.pass) {
245
- return;
246
- }
247
- if ('error' in resultRunGlobalMiddlewares) {
248
- return i.onMiddlewaresError?.(context, resultRunGlobalMiddlewares.error ?? 'Unknown error');
249
- }
250
- const resultRunMiddlewares = await commands_1.BaseCommand.__runMiddlewares(context, i.middlewares, false);
251
- if (resultRunMiddlewares.pass) {
252
- return;
253
- }
254
- if ('error' in resultRunMiddlewares) {
255
- return i.onMiddlewaresError?.(context, resultRunMiddlewares.error ?? 'Unknown error');
256
- }
257
- try {
258
- await i.run(context);
259
- await i.onAfterRun?.(context, undefined);
260
- }
261
- catch (error) {
262
- await i.onRunError?.(context, error);
263
- await i.onAfterRun?.(context, error);
264
- }
265
- }
266
- catch (error) {
267
- try {
268
- await i.onInternalError?.(this.client, error);
269
- }
270
- catch {
271
- // supress error
272
- }
273
- }
274
- break;
265
+ await this.execute(i, context);
275
266
  }
276
267
  }
277
268
  catch (e) {
@@ -279,9 +270,11 @@ class ComponentHandler extends common_1.BaseHandler {
279
270
  }
280
271
  }
281
272
  }
282
- setHandlers({ callback }) {
283
- this.callback = callback;
273
+ onFile(file) {
274
+ return file.default ? [file.default] : undefined;
275
+ }
276
+ callback(file) {
277
+ return new file();
284
278
  }
285
- callback = (file) => new file();
286
279
  }
287
280
  exports.ComponentHandler = ComponentHandler;
@@ -1,13 +1,13 @@
1
- import { type APIMessageActionRowComponent } from 'discord-api-types/v10';
1
+ import { type APIMessageActionRowComponent } from '../types';
2
2
  import { BaseComponent } from './BaseComponent';
3
- import { ButtonComponent, LinkButtonComponent } from './ButtonComponent';
3
+ import { ButtonComponent, LinkButtonComponent, SKUButtonComponent } from './ButtonComponent';
4
4
  import { ChannelSelectMenuComponent } from './ChannelSelectMenuComponent';
5
5
  import { MentionableSelectMenuComponent } from './MentionableSelectMenuComponent';
6
6
  import { RoleSelectMenuComponent } from './RoleSelectMenuComponent';
7
7
  import { StringSelectMenuComponent } from './StringSelectMenuComponent';
8
8
  import type { TextInputComponent } from './TextInputComponent';
9
9
  import { UserSelectMenuComponent } from './UserSelectMenuComponent';
10
- export type MessageComponents = ButtonComponent | LinkButtonComponent | RoleSelectMenuComponent | UserSelectMenuComponent | StringSelectMenuComponent | ChannelSelectMenuComponent | MentionableSelectMenuComponent | TextInputComponent;
10
+ export type MessageComponents = ButtonComponent | LinkButtonComponent | SKUButtonComponent | RoleSelectMenuComponent | UserSelectMenuComponent | StringSelectMenuComponent | ChannelSelectMenuComponent | MentionableSelectMenuComponent | TextInputComponent;
11
11
  export type ActionRowMessageComponents = Exclude<MessageComponents, TextInputComponent>;
12
12
  export * from './componentcommand';
13
13
  export * from './componentcontext';
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.componentFactory = void 0;
18
- const v10_1 = require("discord-api-types/v10");
17
+ exports.componentFactory = componentFactory;
18
+ const types_1 = require("../types");
19
19
  const BaseComponent_1 = require("./BaseComponent");
20
20
  const ButtonComponent_1 = require("./ButtonComponent");
21
21
  const ChannelSelectMenuComponent_1 = require("./ChannelSelectMenuComponent");
@@ -35,23 +35,25 @@ __exportStar(require("./modalcontext"), exports);
35
35
  */
36
36
  function componentFactory(component) {
37
37
  switch (component.type) {
38
- case v10_1.ComponentType.Button:
39
- if (component.style === v10_1.ButtonStyle.Link) {
38
+ case types_1.ComponentType.Button:
39
+ if (component.style === types_1.ButtonStyle.Link) {
40
40
  return new ButtonComponent_1.LinkButtonComponent(component);
41
41
  }
42
+ if (component.style === types_1.ButtonStyle.Premium) {
43
+ return new ButtonComponent_1.SKUButtonComponent(component);
44
+ }
42
45
  return new ButtonComponent_1.ButtonComponent(component);
43
- case v10_1.ComponentType.ChannelSelect:
46
+ case types_1.ComponentType.ChannelSelect:
44
47
  return new ChannelSelectMenuComponent_1.ChannelSelectMenuComponent(component);
45
- case v10_1.ComponentType.RoleSelect:
48
+ case types_1.ComponentType.RoleSelect:
46
49
  return new RoleSelectMenuComponent_1.RoleSelectMenuComponent(component);
47
- case v10_1.ComponentType.StringSelect:
50
+ case types_1.ComponentType.StringSelect:
48
51
  return new StringSelectMenuComponent_1.StringSelectMenuComponent(component);
49
- case v10_1.ComponentType.UserSelect:
52
+ case types_1.ComponentType.UserSelect:
50
53
  return new UserSelectMenuComponent_1.UserSelectMenuComponent(component);
51
- case v10_1.ComponentType.MentionableSelect:
54
+ case types_1.ComponentType.MentionableSelect:
52
55
  return new MentionableSelectMenuComponent_1.MentionableSelectMenuComponent(component);
53
56
  default:
54
57
  return new BaseComponent_1.BaseComponent(component);
55
58
  }
56
59
  }
57
- exports.componentFactory = componentFactory;
@@ -1,4 +1,4 @@
1
- import type { RegisteredMiddlewares, UsingClient } from '../commands';
1
+ import type { ExtraProps, RegisteredMiddlewares, UsingClient } from '../commands';
2
2
  import type { ModalContext } from './modalcontext';
3
3
  export interface ModalCommand {
4
4
  __filePath?: string;
@@ -8,6 +8,7 @@ export declare abstract class ModalCommand {
8
8
  abstract filter(context: ModalContext): Promise<boolean> | boolean;
9
9
  abstract run(context: ModalContext): any;
10
10
  middlewares: (keyof RegisteredMiddlewares)[];
11
+ props: ExtraProps;
11
12
  onAfterRun?(context: ModalContext, error: unknown | undefined): any;
12
13
  onRunError?(context: ModalContext, error: unknown): any;
13
14
  onMiddlewaresError?(context: ModalContext, error: string): any;
@@ -5,5 +5,6 @@ const componentcommand_1 = require("./componentcommand");
5
5
  class ModalCommand {
6
6
  type = componentcommand_1.InteractionCommandType.MODAL;
7
7
  middlewares = [];
8
+ props;
8
9
  }
9
10
  exports.ModalCommand = ModalCommand;
@@ -1,7 +1,8 @@
1
- import type { AllChannels, Guild, GuildMember, Message, ModalCommand, ModalSubmitInteraction, ReturnCache, WebhookMessage } from '..';
1
+ import type { AllChannels, ModalCommand, ModalSubmitInteraction, ReturnCache } from '..';
2
2
  import type { CommandMetadata, ExtendContext, GlobalMetadata, RegisteredMiddlewares, UsingClient } from '../commands';
3
3
  import { BaseContext } from '../commands/basecontext';
4
4
  import type { InteractionCreateBodyRequest, InteractionMessageUpdateBodyRequest, ModalCreateBodyRequest, UnionToTuple, When } from '../common';
5
+ import type { GuildMemberStructure, GuildStructure, MessageStructure, WebhookMessageStructure } from '../client/transformers';
5
6
  export interface ModalContext extends BaseContext, ExtendContext {
6
7
  }
7
8
  /**
@@ -17,30 +18,30 @@ export declare class ModalContext<M extends keyof RegisteredMiddlewares = never>
17
18
  * @param interaction - The component interaction object.
18
19
  */
19
20
  constructor(client: UsingClient, interaction: ModalSubmitInteraction);
20
- command?: ModalCommand;
21
+ command: ModalCommand;
21
22
  metadata: CommandMetadata<UnionToTuple<M>>;
22
23
  globalMetadata: GlobalMetadata;
23
24
  get customId(): string;
24
25
  get components(): {
25
26
  components: {
26
- type: import("discord-api-types/v10").ComponentType;
27
+ type: import("../types").ComponentType;
27
28
  customId: string;
28
29
  value: string;
29
30
  }[];
30
- type: import("discord-api-types/v10").ComponentType.ActionRow;
31
+ type: import("../types").ComponentType.ActionRow;
31
32
  }[];
32
33
  /**
33
34
  * Gets the language object for the interaction's locale.
34
35
  */
35
36
  get t(): import("..").__InternalParseLocale<import("..").DefaultLocale> & {
36
- get(locale?: string | undefined): import("..").DefaultLocale;
37
+ get(locale?: string): import("..").DefaultLocale;
37
38
  };
38
39
  /**
39
40
  * Writes a response to the interaction.
40
41
  * @param body - The body of the response.
41
42
  * @param fetchReply - Whether to fetch the reply or not.
42
43
  */
43
- write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage, void>>;
44
+ write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, import("..").WebhookMessage, void>>;
44
45
  /**
45
46
  * Defers the reply to the interaction.
46
47
  * @param ephemeral - Whether the reply should be ephemeral or not.
@@ -50,13 +51,13 @@ export declare class ModalContext<M extends keyof RegisteredMiddlewares = never>
50
51
  * Edits the response of the interaction.
51
52
  * @param body - The updated body of the response.
52
53
  */
53
- editResponse(body: InteractionMessageUpdateBodyRequest): Promise<WebhookMessage>;
54
+ editResponse(body: InteractionMessageUpdateBodyRequest): Promise<import("..").WebhookMessage>;
54
55
  /**
55
56
  * Edits the response or replies to the interaction.
56
57
  * @param body - The body of the response or updated body of the interaction.
57
58
  * @param fetchReply - Whether to fetch the reply or not.
58
59
  */
59
- editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage | Message, void | WebhookMessage | Message>>;
60
+ editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessageStructure | MessageStructure, void | WebhookMessageStructure | MessageStructure>>;
60
61
  /**
61
62
  * Deletes the response of the interaction.
62
63
  * @returns A promise that resolves when the response is deleted.
@@ -75,15 +76,15 @@ export declare class ModalContext<M extends keyof RegisteredMiddlewares = never>
75
76
  * @param mode - The mode to fetch the member.
76
77
  * @returns A promise that resolves to the bot member.
77
78
  */
78
- me(mode?: 'rest' | 'flow'): Promise<GuildMember>;
79
- me(mode?: 'cache'): ReturnCache<GuildMember | undefined>;
79
+ me(mode?: 'rest' | 'flow'): Promise<GuildMemberStructure>;
80
+ me(mode?: 'cache'): ReturnCache<GuildMemberStructure | undefined>;
80
81
  /**
81
82
  * Gets the guild of the interaction.
82
83
  * @param mode - The mode to fetch the guild.
83
84
  * @returns A promise that resolves to the guild.
84
85
  */
85
- guild(mode?: 'rest' | 'flow'): Promise<Guild<'cached' | 'api'> | undefined>;
86
- guild(mode?: 'cache'): ReturnCache<Guild<'cached'> | undefined>;
86
+ guild(mode?: 'rest' | 'flow'): Promise<GuildStructure<'cached' | 'api'> | undefined>;
87
+ guild(mode?: 'cache'): ReturnCache<GuildStructure<'cached'> | undefined>;
87
88
  /**
88
89
  * Gets the ID of the guild of the interaction.
89
90
  */
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModalContext = void 0;
4
- const v10_1 = require("discord-api-types/v10");
4
+ const types_1 = require("../types");
5
5
  const basecontext_1 = require("../commands/basecontext");
6
6
  /**
7
7
  * Represents a context for interacting with components in a Discord bot.
@@ -48,7 +48,7 @@ class ModalContext extends basecontext_1.BaseContext {
48
48
  * @param ephemeral - Whether the reply should be ephemeral or not.
49
49
  */
50
50
  deferReply(ephemeral = false) {
51
- return this.interaction.deferReply(ephemeral ? v10_1.MessageFlags.Ephemeral : undefined);
51
+ return this.interaction.deferReply(ephemeral ? types_1.MessageFlags.Ephemeral : undefined);
52
52
  }
53
53
  /**
54
54
  * Edits the response of the interaction.