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,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Transformers = void 0;
4
+ const commands_1 = require("../commands");
5
+ const structures_1 = require("../structures");
6
+ const GuildBan_1 = require("../structures/GuildBan");
7
+ class Transformers {
8
+ static AnonymousGuild(...args) {
9
+ return new structures_1.AnonymousGuild(...args);
10
+ }
11
+ static AutoModerationRule(...args) {
12
+ return new structures_1.AutoModerationRule(...args);
13
+ }
14
+ static BaseChannel(...args) {
15
+ return new structures_1.BaseChannel(...args);
16
+ }
17
+ static BaseGuildChannel(...args) {
18
+ return new structures_1.BaseGuildChannel(...args);
19
+ }
20
+ static TextGuildChannel(...args) {
21
+ return new structures_1.TextGuildChannel(...args);
22
+ }
23
+ static DMChannel(...args) {
24
+ return new structures_1.DMChannel(...args);
25
+ }
26
+ static VoiceChannel(...args) {
27
+ return new structures_1.VoiceChannel(...args);
28
+ }
29
+ static StageChannel(...args) {
30
+ return new structures_1.StageChannel(...args);
31
+ }
32
+ static MediaChannel(...args) {
33
+ return new structures_1.MediaChannel(...args);
34
+ }
35
+ static ForumChannel(...args) {
36
+ return new structures_1.ForumChannel(...args);
37
+ }
38
+ static ThreadChannel(...args) {
39
+ return new structures_1.ThreadChannel(...args);
40
+ }
41
+ static CategoryChannel(...args) {
42
+ return new structures_1.CategoryChannel(...args);
43
+ }
44
+ static NewsChannel(...args) {
45
+ return new structures_1.NewsChannel(...args);
46
+ }
47
+ static DirectoryChannel(...args) {
48
+ return new structures_1.DirectoryChannel(...args);
49
+ }
50
+ static ClientUser(...args) {
51
+ return new structures_1.ClientUser(...args);
52
+ }
53
+ static Guild(...args) {
54
+ return new structures_1.Guild(...args);
55
+ }
56
+ static GuildBan(...args) {
57
+ return new GuildBan_1.GuildBan(...args);
58
+ }
59
+ static GuildEmoji(...args) {
60
+ return new structures_1.GuildEmoji(...args);
61
+ }
62
+ static GuildMember(...args) {
63
+ return new structures_1.GuildMember(...args);
64
+ }
65
+ static InteractionGuildMember(...args) {
66
+ return new structures_1.InteractionGuildMember(...args);
67
+ }
68
+ static GuildRole(...args) {
69
+ return new structures_1.GuildRole(...args);
70
+ }
71
+ static GuildTemplate(...args) {
72
+ return new structures_1.GuildTemplate(...args);
73
+ }
74
+ static Message(...args) {
75
+ return new structures_1.Message(...args);
76
+ }
77
+ static WebhookMessage(...args) {
78
+ return new structures_1.WebhookMessage(...args);
79
+ }
80
+ static Poll(...args) {
81
+ return new structures_1.Poll(...args);
82
+ }
83
+ static Sticker(...args) {
84
+ return new structures_1.Sticker(...args);
85
+ }
86
+ static User(...args) {
87
+ return new structures_1.User(...args);
88
+ }
89
+ static VoiceState(...args) {
90
+ return new structures_1.VoiceState(...args);
91
+ }
92
+ static Webhook(...args) {
93
+ return new structures_1.Webhook(...args);
94
+ }
95
+ static OptionResolver(...args) {
96
+ return new commands_1.OptionResolver(...args);
97
+ }
98
+ }
99
+ exports.Transformers = Transformers;
@@ -0,0 +1,5 @@
1
+ import type { HttpClient } from './httpclient';
2
+ export interface HttpServerAdapter {
3
+ client: HttpClient;
4
+ start?(path: `/${string}`): any;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,32 +1,30 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- /// <reference types="node" />
5
- /// <reference types="node" />
6
- import { type GatewayDispatchPayload } from 'discord-api-types/v10';
7
- import { Logger } from '..';
1
+ import { type GatewayDispatchPayload } from '../types';
8
2
  import type { Cache } from '../cache';
9
3
  import { type DeepPartial, type When } from '../common';
10
4
  import { EventHandler } from '../events';
11
- import { ClientUser } from '../structures';
12
- import { Shard, type ShardManagerOptions } from '../websocket';
5
+ import { Shard, type ShardManagerOptions, type WorkerData } from '../websocket';
13
6
  import type { WorkerShardInfo } from '../websocket/discord/worker';
14
7
  import type { ManagerMessages } from '../websocket/discord/workermanager';
15
8
  import type { BaseClientOptions, ServicesOptions, StartOptions } from './base';
16
9
  import { BaseClient } from './base';
17
10
  import type { Client, ClientOptions } from './client';
18
11
  import { Collectors } from './collectors';
12
+ import { type ClientUserStructure } from './transformers';
13
+ import { MemberUpdateHandler } from '../websocket/discord/events/memberUpdate';
14
+ import { PresenceUpdateHandler } from '../websocket/discord/events/presenceUpdate';
19
15
  export declare class WorkerClient<Ready extends boolean = boolean> extends BaseClient {
20
16
  private __handleGuilds?;
21
- logger: Logger;
17
+ memberUpdateHandler: MemberUpdateHandler;
18
+ presenceUpdateHandler: PresenceUpdateHandler;
22
19
  collectors: Collectors;
23
20
  events?: EventHandler | undefined;
24
- me: When<Ready, ClientUser>;
21
+ me: When<Ready, ClientUserStructure>;
25
22
  promises: Map<string, {
26
23
  resolve: (value: any) => void;
27
24
  timeout: NodeJS.Timeout;
28
25
  }>;
29
26
  shards: Map<number, Shard>;
27
+ private __setServicesCache?;
30
28
  options: WorkerClientOptions;
31
29
  constructor(options?: WorkerClientOptions);
32
30
  get workerId(): number;
@@ -36,10 +34,11 @@ export declare class WorkerClient<Ready extends boolean = boolean> extends BaseC
36
34
  events?: EventHandler['callback'];
37
35
  };
38
36
  }): void;
37
+ setWorkerData(data: WorkerData): void;
39
38
  start(options?: Omit<DeepPartial<StartOptions>, 'httpConnection' | 'token' | 'connection'>): Promise<void>;
40
39
  loadEvents(dir?: string): Promise<void>;
41
- postMessage(body: any): boolean | void;
42
- protected handleManagerMessages(data: ManagerMessages): Promise<any>;
40
+ postMessage(body: unknown): unknown;
41
+ handleManagerMessages(data: ManagerMessages): Promise<any>;
43
42
  private generateNonce;
44
43
  private generateSendPromise;
45
44
  tellWorker(workerId: number, func: (_: this) => {}): Promise<unknown>;
@@ -47,9 +46,10 @@ export declare class WorkerClient<Ready extends boolean = boolean> extends BaseC
47
46
  }
48
47
  export declare function generateShardInfo(shard: Shard): WorkerShardInfo;
49
48
  interface WorkerClientOptions extends BaseClientOptions {
50
- disabledCache: Cache['disabledCache'];
49
+ disabledCache?: Cache['disabledCache'];
51
50
  commands?: NonNullable<Client['options']>['commands'];
52
51
  handlePayload?: ShardManagerOptions['handlePayload'];
53
52
  gateway?: ClientOptions['gateway'];
53
+ postMessage?: (body: unknown) => unknown;
54
54
  }
55
55
  export {};
@@ -1,18 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateShardInfo = exports.WorkerClient = void 0;
4
- const v10_1 = require("discord-api-types/v10");
3
+ exports.WorkerClient = void 0;
4
+ exports.generateShardInfo = generateShardInfo;
5
+ const types_1 = require("../types");
5
6
  const node_crypto_1 = require("node:crypto");
6
7
  const __1 = require("..");
7
8
  const cache_1 = require("../cache");
8
9
  const common_1 = require("../common");
9
10
  const events_1 = require("../events");
10
- const structures_1 = require("../structures");
11
11
  const websocket_1 = require("../websocket");
12
12
  const base_1 = require("./base");
13
- const oninteractioncreate_1 = require("./oninteractioncreate");
14
- const onmessagecreate_1 = require("./onmessagecreate");
15
13
  const collectors_1 = require("./collectors");
14
+ const transformers_1 = require("./transformers");
15
+ const memberUpdate_1 = require("../websocket/discord/events/memberUpdate");
16
+ const presenceUpdate_1 = require("../websocket/discord/events/presenceUpdate");
16
17
  let workerData;
17
18
  let manager;
18
19
  try {
@@ -24,59 +25,25 @@ try {
24
25
  token: process.env.SEYFERT_WORKER_TOKEN,
25
26
  workerId: Number.parseInt(process.env.SEYFERT_WORKER_WORKERID),
26
27
  workerProxy: process.env.SEYFERT_WORKER_WORKERPROXY === 'true',
28
+ totalShards: Number(process.env.SEYFERT_WORKER_TOTALSHARDS),
29
+ mode: process.env.SEYFERT_WORKER_MODE,
27
30
  };
28
31
  }
29
32
  catch { }
30
33
  class WorkerClient extends base_1.BaseClient {
31
34
  __handleGuilds = new Set();
32
- logger = new __1.Logger({
33
- name: `[Worker #${workerData.workerId}]`,
34
- });
35
+ memberUpdateHandler = new memberUpdate_1.MemberUpdateHandler();
36
+ presenceUpdateHandler = new presenceUpdate_1.PresenceUpdateHandler();
35
37
  collectors = new collectors_1.Collectors();
36
38
  events = new events_1.EventHandler(this);
37
39
  me;
38
40
  promises = new Map();
39
41
  shards = new Map();
42
+ __setServicesCache;
40
43
  constructor(options) {
41
44
  super(options);
42
- this.options = (0, common_1.MergeOptions)({
43
- commands: {
44
- argsParser: onmessagecreate_1.defaultArgsParser,
45
- optionsParser: onmessagecreate_1.defaultOptionsParser,
46
- },
47
- }, this.options);
48
- if (!process.env.SEYFERT_SPAWNING) {
49
- throw new Error('WorkerClient cannot spawn without manager');
50
- }
51
- this.postMessage({
52
- type: 'WORKER_START',
53
- workerId: workerData.workerId,
54
- });
55
- const worker_threads = (0, common_1.lazyLoadPackage)('node:worker_threads');
56
- if (worker_threads?.parentPort) {
57
- manager = worker_threads?.parentPort;
58
- }
59
- (manager ?? process).on('message', (data) => this.handleManagerMessages(data));
60
- this.setServices({
61
- cache: {
62
- adapter: new cache_1.WorkerAdapter(workerData),
63
- disabledCache: options?.disabledCache,
64
- },
65
- });
66
- if (workerData.debug) {
67
- this.debugger = new __1.Logger({
68
- name: `[Worker #${workerData.workerId}]`,
69
- logLevel: common_1.LogLevels.Debug,
70
- });
71
- }
72
- if (workerData.workerProxy) {
73
- this.setServices({
74
- rest: new __1.ApiHandler({
75
- token: workerData.token,
76
- workerProxy: true,
77
- debug: workerData.debug,
78
- }),
79
- });
45
+ if (options?.postMessage) {
46
+ this.postMessage = options.postMessage;
80
47
  }
81
48
  }
82
49
  get workerId() {
@@ -89,22 +56,73 @@ class WorkerClient extends base_1.BaseClient {
89
56
  }
90
57
  setServices({ ...rest }) {
91
58
  super.setServices(rest);
59
+ if (rest.cache) {
60
+ this.__setServicesCache = true;
61
+ }
92
62
  if (rest.handlers && 'events' in rest.handlers) {
93
63
  if (!rest.handlers.events) {
94
64
  this.events = undefined;
95
65
  }
96
66
  else if (typeof rest.handlers.events === 'function') {
97
67
  this.events = new events_1.EventHandler(this);
98
- this.events.setHandlers({
99
- callback: rest.handlers.events,
100
- });
101
68
  }
102
69
  else {
103
70
  this.events = rest.handlers.events;
104
71
  }
105
72
  }
106
73
  }
74
+ setWorkerData(data) {
75
+ workerData = data;
76
+ }
107
77
  async start(options = {}) {
78
+ const worker_threads = (0, common_1.lazyLoadPackage)('node:worker_threads');
79
+ if (worker_threads?.parentPort) {
80
+ manager = worker_threads?.parentPort;
81
+ }
82
+ if (workerData.mode !== 'custom')
83
+ (manager ?? process).on('message', (data) => this.handleManagerMessages(data));
84
+ this.logger = new __1.Logger({
85
+ name: `[Worker #${workerData.workerId}]`,
86
+ });
87
+ if (this.__setServicesCache) {
88
+ this.setServices({
89
+ cache: {
90
+ disabledCache: this.options.disabledCache,
91
+ },
92
+ });
93
+ }
94
+ else {
95
+ const adapter = new cache_1.WorkerAdapter(workerData);
96
+ if (this.options.postMessage) {
97
+ adapter.postMessage = this.options.postMessage;
98
+ }
99
+ this.setServices({
100
+ cache: {
101
+ adapter,
102
+ disabledCache: this.options.disabledCache,
103
+ },
104
+ });
105
+ }
106
+ delete this.__setServicesCache;
107
+ if (workerData.debug) {
108
+ this.debugger = new __1.Logger({
109
+ name: `[Worker #${workerData.workerId}]`,
110
+ logLevel: common_1.LogLevels.Debug,
111
+ });
112
+ }
113
+ if (workerData.workerProxy) {
114
+ this.setServices({
115
+ rest: new __1.ApiHandler({
116
+ token: workerData.token,
117
+ workerProxy: true,
118
+ debug: workerData.debug,
119
+ }),
120
+ });
121
+ }
122
+ this.postMessage({
123
+ type: 'WORKER_START',
124
+ workerId: workerData.workerId,
125
+ });
108
126
  await super.start(options);
109
127
  await this.loadEvents(options.eventsDir);
110
128
  this.cache.intents = workerData.intents;
@@ -241,7 +259,6 @@ class WorkerClient extends base_1.BaseClient {
241
259
  {
242
260
  let result;
243
261
  try {
244
- // biome-ignore lint/security/noGlobalEval: yes
245
262
  result = await eval(`
246
263
  (${data.func})(this)
247
264
  `);
@@ -297,37 +314,70 @@ class WorkerClient extends base_1.BaseClient {
297
314
  return this.generateSendPromise(nonce);
298
315
  }
299
316
  async onPacket(packet, shardId) {
300
- await this.events?.execute('RAW', packet, this, shardId);
317
+ Promise.allSettled([
318
+ this.events?.runEvent('RAW', this, packet, shardId, false),
319
+ this.collectors.run('RAW', packet, this),
320
+ ]); //ignore promise
301
321
  switch (packet.t) {
322
+ //// Cases where we must obtain the old data before updating
323
+ case 'GUILD_MEMBER_UPDATE':
324
+ {
325
+ if (!this.memberUpdateHandler.check(packet.d)) {
326
+ return;
327
+ }
328
+ await this.events?.execute(packet.t, packet, this, shardId);
329
+ }
330
+ break;
331
+ case 'PRESENCE_UPDATE':
332
+ {
333
+ if (!this.presenceUpdateHandler.check(packet.d)) {
334
+ return;
335
+ }
336
+ await this.events?.execute(packet.t, packet, this, shardId);
337
+ }
338
+ break;
339
+ case 'GUILD_DELETE':
302
340
  case 'GUILD_CREATE': {
303
341
  if (this.__handleGuilds?.has(packet.d.id)) {
304
- this.__handleGuilds.delete(packet.d.id);
305
- if (!this.__handleGuilds.size && [...this.shards.values()].every(shard => shard.data.session_id)) {
342
+ this.__handleGuilds?.delete(packet.d.id);
343
+ if (!this.__handleGuilds?.size && [...this.shards.values()].every(shard => shard.data.session_id)) {
344
+ delete this.__handleGuilds;
345
+ await this.cache.onPacket?.(packet);
306
346
  this.postMessage({
307
347
  type: 'WORKER_READY',
308
348
  workerId: this.workerId,
309
349
  });
310
- await this.events?.runEvent('WORKER_READY', this, this.me, -1);
350
+ return this.events?.runEvent('WORKER_READY', this, this.me, -1);
311
351
  }
312
- if (!this.__handleGuilds.size)
352
+ if (!this.__handleGuilds?.size)
313
353
  delete this.__handleGuilds;
314
- return this.cache.onPacket(packet);
354
+ return this.cache.onPacket?.(packet);
315
355
  }
316
356
  await this.events?.execute(packet.t, packet, this, shardId);
317
357
  break;
318
358
  }
319
359
  default: {
320
- await this.events?.execute(packet.t, packet, this, shardId);
321
360
  switch (packet.t) {
361
+ case 'INTERACTION_CREATE':
362
+ await this.events?.execute(packet.t, packet, this, shardId);
363
+ await this.handleCommand.interaction(packet.d, shardId);
364
+ break;
365
+ case 'MESSAGE_CREATE':
366
+ await this.events?.execute(packet.t, packet, this, shardId);
367
+ await this.handleCommand.message(packet.d, shardId);
368
+ break;
322
369
  case 'READY':
370
+ if (!this.__handleGuilds)
371
+ this.__handleGuilds = new Set();
323
372
  for (const g of packet.d.guilds) {
324
373
  this.__handleGuilds?.add(g.id);
325
374
  }
326
375
  this.botId = packet.d.user.id;
327
376
  this.applicationId = packet.d.application.id;
328
- this.me = new structures_1.ClientUser(this, packet.d.user, packet.d.application);
377
+ this.me = transformers_1.Transformers.ClientUser(this, packet.d.user, packet.d.application);
378
+ await this.events?.execute(packet.t, packet, this, shardId);
329
379
  if (!(this.__handleGuilds?.size &&
330
- (workerData.intents & v10_1.GatewayIntentBits.Guilds) === v10_1.GatewayIntentBits.Guilds)) {
380
+ (workerData.intents & types_1.GatewayIntentBits.Guilds) === types_1.GatewayIntentBits.Guilds)) {
331
381
  if ([...this.shards.values()].every(shard => shard.data.session_id)) {
332
382
  this.postMessage({
333
383
  type: 'WORKER_READY',
@@ -337,13 +387,10 @@ class WorkerClient extends base_1.BaseClient {
337
387
  }
338
388
  delete this.__handleGuilds;
339
389
  }
340
- this.debugger?.debug(`#${shardId} [${packet.d.user.username}](${this.botId}) is online...`);
390
+ this.debugger?.debug(`#${shardId}[${packet.d.user.username}](${this.botId}) is online...`);
341
391
  break;
342
- case 'INTERACTION_CREATE':
343
- await (0, oninteractioncreate_1.onInteractionCreate)(this, packet.d, shardId);
344
- break;
345
- case 'MESSAGE_CREATE':
346
- await (0, onmessagecreate_1.onMessageCreate)(this, packet.d, shardId);
392
+ default:
393
+ await this.events?.execute(packet.t, packet, this, shardId);
347
394
  break;
348
395
  }
349
396
  break;
@@ -360,4 +407,3 @@ function generateShardInfo(shard) {
360
407
  resumable: shard.resumable,
361
408
  };
362
409
  }
363
- exports.generateShardInfo = generateShardInfo;
@@ -1,21 +1,22 @@
1
- import { ApplicationCommandOptionType, ApplicationCommandType, type ApplicationIntegrationType, type InteractionContextType, type APIApplicationCommandBasicOption, type APIApplicationCommandOption, type LocaleString } from 'discord-api-types/v10';
1
+ import { ApplicationCommandOptionType, ApplicationCommandType, type ApplicationIntegrationType, type InteractionContextType, type APIApplicationCommandBasicOption, type APIApplicationCommandOption, type LocaleString } from '../../types';
2
2
  import type { PermissionStrings, SeyfertNumberOption, SeyfertStringOption } from '../..';
3
3
  import type { Attachment } from '../../builders';
4
- import { type FlatObjectKeys } from '../../common';
5
- import type { AllChannels, AutocompleteInteraction, GuildRole, InteractionGuildMember, User } from '../../structures';
4
+ import { type Awaitable, type FlatObjectKeys } from '../../common';
5
+ import type { AllChannels, AutocompleteInteraction } from '../../structures';
6
6
  import type { Groups, RegisteredMiddlewares } from '../decorators';
7
7
  import type { CommandContext } from './chatcontext';
8
8
  import type { DefaultLocale, ExtraProps, IgnoreCommand, OKFunction, OnOptionsReturnObject, StopFunction, UsingClient } from './shared';
9
+ import type { GuildRoleStructure, InteractionGuildMemberStructure, UserStructure } from '../../client/transformers';
9
10
  export interface ReturnOptionsTypes {
10
11
  1: never;
11
12
  2: never;
12
13
  3: string;
13
14
  4: number;
14
15
  5: boolean;
15
- 6: InteractionGuildMember | User;
16
+ 6: InteractionGuildMemberStructure | UserStructure;
16
17
  7: AllChannels;
17
- 8: GuildRole;
18
- 9: GuildRole | AllChannels | User;
18
+ 8: GuildRoleStructure;
19
+ 9: GuildRoleStructure | AllChannels | UserStructure;
19
20
  10: number;
20
21
  11: Attachment;
21
22
  }
@@ -24,7 +25,7 @@ type Wrap<N extends ApplicationCommandOptionType> = N extends ApplicationCommand
24
25
  value?(data: {
25
26
  context: CommandContext;
26
27
  value: ReturnOptionsTypes[N];
27
- }, ok: OKFunction<any>, fail: StopFunction): void;
28
+ }, ok: OKFunction<any>, fail: StopFunction): Awaitable<void>;
28
29
  } & {
29
30
  description: string;
30
31
  description_localizations?: APIApplicationCommandBasicOption['description_localizations'];
@@ -88,16 +89,16 @@ export declare class BaseCommand {
88
89
  aliases?: string[];
89
90
  props: ExtraProps;
90
91
  toJSON(): {
91
- name: BaseCommand['name'];
92
- type: BaseCommand['type'];
93
- nsfw: BaseCommand['nsfw'];
94
- description: BaseCommand['description'];
95
- name_localizations: BaseCommand['name_localizations'];
96
- description_localizations: BaseCommand['description_localizations'];
97
- guild_id: BaseCommand['guildId'];
92
+ name: BaseCommand["name"];
93
+ type: BaseCommand["type"];
94
+ nsfw: BaseCommand["nsfw"];
95
+ description: BaseCommand["description"];
96
+ name_localizations: BaseCommand["name_localizations"];
97
+ description_localizations: BaseCommand["description_localizations"];
98
+ guild_id: BaseCommand["guildId"];
98
99
  default_member_permissions: string;
99
- contexts: BaseCommand['contexts'];
100
- integration_types: BaseCommand['integrationTypes'];
100
+ contexts: BaseCommand["contexts"];
101
+ integration_types: BaseCommand["integrationTypes"];
101
102
  };
102
103
  reload(): Promise<void>;
103
104
  run?(context: CommandContext): any;
@@ -120,16 +121,16 @@ export declare class Command extends BaseCommand {
120
121
  }>;
121
122
  toJSON(): {
122
123
  options: APIApplicationCommandOption[];
123
- name: string;
124
- type: number;
125
- nsfw: boolean | undefined;
126
- description: string;
127
- name_localizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>> | undefined;
128
- description_localizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>> | undefined;
129
- guild_id: string[] | undefined;
124
+ name: BaseCommand["name"];
125
+ type: BaseCommand["type"];
126
+ nsfw: BaseCommand["nsfw"];
127
+ description: BaseCommand["description"];
128
+ name_localizations: BaseCommand["name_localizations"];
129
+ description_localizations: BaseCommand["description_localizations"];
130
+ guild_id: BaseCommand["guildId"];
130
131
  default_member_permissions: string;
131
- contexts: InteractionContextType[];
132
- integration_types: ApplicationIntegrationType[];
132
+ contexts: BaseCommand["contexts"];
133
+ integration_types: BaseCommand["integrationTypes"];
133
134
  };
134
135
  }
135
136
  export declare abstract class SubCommand extends BaseCommand {
@@ -138,16 +139,16 @@ export declare abstract class SubCommand extends BaseCommand {
138
139
  options?: CommandOption[];
139
140
  toJSON(): {
140
141
  options: APIApplicationCommandBasicOption[];
141
- name: string;
142
- type: number;
143
- nsfw: boolean | undefined;
144
- description: string;
145
- name_localizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>> | undefined;
146
- description_localizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>> | undefined;
147
- guild_id: string[] | undefined;
142
+ name: BaseCommand["name"];
143
+ type: BaseCommand["type"];
144
+ nsfw: BaseCommand["nsfw"];
145
+ description: BaseCommand["description"];
146
+ name_localizations: BaseCommand["name_localizations"];
147
+ description_localizations: BaseCommand["description_localizations"];
148
+ guild_id: BaseCommand["guildId"];
148
149
  default_member_permissions: string;
149
- contexts: InteractionContextType[];
150
- integration_types: ApplicationIntegrationType[];
150
+ contexts: BaseCommand["contexts"];
151
+ integration_types: BaseCommand["integrationTypes"];
151
152
  };
152
153
  abstract run(context: CommandContext<any>): any;
153
154
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SubCommand = exports.Command = exports.BaseCommand = void 0;
4
- const v10_1 = require("discord-api-types/v10");
4
+ const types_1 = require("../../types");
5
5
  const common_1 = require("../../common");
6
6
  const node_util_1 = require("node:util");
7
7
  class BaseCommand {
@@ -35,9 +35,7 @@ class BaseCommand {
35
35
  try {
36
36
  const option = this.options.find(x => x.name === i.name);
37
37
  const value = resolver.getHoisted(i.name)?.value !== undefined
38
- ? await new Promise(
39
- // biome-ignore lint/suspicious/noAsyncPromiseExecutor: yes
40
- async (res, rej) => {
38
+ ? await new Promise(async (res, rej) => {
41
39
  try {
42
40
  (await option.value?.({ context: ctx, value: resolver.getValue(i.name) }, res, rej)) ||
43
41
  res(resolver.getValue(i.name));
@@ -95,8 +93,6 @@ class BaseCommand {
95
93
  if (!running) {
96
94
  return;
97
95
  }
98
- // biome-ignore lint/style/noArguments: yes
99
- // biome-ignore lint/correctness/noUndeclaredVariables: xd
100
96
  if (arguments.length) {
101
97
  // @ts-expect-error
102
98
  context[global ? 'globalMetadata' : 'metadata'][middlewares[index]] = obj;
@@ -153,7 +149,7 @@ class BaseCommand {
153
149
  }
154
150
  exports.BaseCommand = BaseCommand;
155
151
  class Command extends BaseCommand {
156
- type = v10_1.ApplicationCommandType.ChatInput;
152
+ type = types_1.ApplicationCommandType.ChatInput;
157
153
  groups;
158
154
  groupsAliases;
159
155
  __tGroups;
@@ -167,7 +163,7 @@ class Command extends BaseCommand {
167
163
  if (i.group) {
168
164
  if (!options.find(x => x.name === i.group)) {
169
165
  options.push({
170
- type: v10_1.ApplicationCommandOptionType.SubcommandGroup,
166
+ type: types_1.ApplicationCommandOptionType.SubcommandGroup,
171
167
  name: i.group,
172
168
  description: this.groups[i.group].defaultDescription,
173
169
  description_localizations: Object.fromEntries(this.groups?.[i.group].description ?? []),
@@ -189,7 +185,7 @@ class Command extends BaseCommand {
189
185
  }
190
186
  exports.Command = Command;
191
187
  class SubCommand extends BaseCommand {
192
- type = v10_1.ApplicationCommandOptionType.Subcommand;
188
+ type = types_1.ApplicationCommandOptionType.Subcommand;
193
189
  group;
194
190
  toJSON() {
195
191
  return {