seyfert 1.5.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +18 -10
  3. package/lib/api/Router.js +2 -2
  4. package/lib/api/Routes/applications.d.ts +23 -1
  5. package/lib/api/Routes/channels.d.ts +1 -1
  6. package/lib/api/Routes/gateway.d.ts +1 -1
  7. package/lib/api/Routes/guilds.d.ts +5 -2
  8. package/lib/api/Routes/interactions.d.ts +8 -2
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/skus.d.ts +11 -0
  11. package/lib/api/Routes/skus.js +2 -0
  12. package/lib/api/Routes/stage-instances.d.ts +1 -1
  13. package/lib/api/Routes/stickers.d.ts +2 -2
  14. package/lib/api/Routes/users.d.ts +1 -1
  15. package/lib/api/Routes/voice.d.ts +1 -1
  16. package/lib/api/Routes/webhooks.d.ts +2 -2
  17. package/lib/api/api.d.ts +3 -3
  18. package/lib/api/api.js +15 -25
  19. package/lib/api/bucket.d.ts +0 -1
  20. package/lib/api/shared.d.ts +1 -2
  21. package/lib/api/utils/constants.d.ts +2 -5
  22. package/lib/api/utils/constants.js +3 -7
  23. package/lib/api/utils/utils.d.ts +1 -2
  24. package/lib/api/utils/utils.js +2 -3
  25. package/lib/builders/ActionRow.d.ts +1 -1
  26. package/lib/builders/ActionRow.js +3 -3
  27. package/lib/builders/Attachment.d.ts +3 -4
  28. package/lib/builders/Attachment.js +24 -25
  29. package/lib/builders/Base.d.ts +2 -2
  30. package/lib/builders/Base.js +1 -1
  31. package/lib/builders/Button.d.ts +7 -7
  32. package/lib/builders/Button.js +11 -9
  33. package/lib/builders/Embed.d.ts +1 -1
  34. package/lib/builders/Modal.d.ts +1 -1
  35. package/lib/builders/Modal.js +2 -2
  36. package/lib/builders/Poll.d.ts +2 -2
  37. package/lib/builders/Poll.js +5 -6
  38. package/lib/builders/SelectMenu.d.ts +1 -1
  39. package/lib/builders/SelectMenu.js +17 -18
  40. package/lib/builders/index.d.ts +1 -1
  41. package/lib/builders/index.js +10 -11
  42. package/lib/cache/adapters/default.d.ts +16 -9
  43. package/lib/cache/adapters/default.js +42 -31
  44. package/lib/cache/adapters/index.d.ts +0 -1
  45. package/lib/cache/adapters/index.js +0 -1
  46. package/lib/cache/adapters/limited.d.ts +17 -12
  47. package/lib/cache/adapters/limited.js +80 -36
  48. package/lib/cache/adapters/types.d.ts +6 -7
  49. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  50. package/lib/cache/adapters/workeradapter.js +13 -0
  51. package/lib/cache/index.d.ts +20 -8
  52. package/lib/cache/index.js +328 -22
  53. package/lib/cache/resources/bans.d.ts +9 -6
  54. package/lib/cache/resources/bans.js +13 -4
  55. package/lib/cache/resources/channels.d.ts +6 -4
  56. package/lib/cache/resources/channels.js +13 -7
  57. package/lib/cache/resources/default/base.d.ts +7 -7
  58. package/lib/cache/resources/default/base.js +2 -2
  59. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  60. package/lib/cache/resources/default/guild-based.js +6 -6
  61. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  62. package/lib/cache/resources/default/guild-related.js +10 -8
  63. package/lib/cache/resources/emojis.d.ts +15 -6
  64. package/lib/cache/resources/emojis.js +13 -4
  65. package/lib/cache/resources/guilds.d.ts +9 -6
  66. package/lib/cache/resources/guilds.js +27 -6
  67. package/lib/cache/resources/members.d.ts +9 -6
  68. package/lib/cache/resources/members.js +22 -6
  69. package/lib/cache/resources/messages.d.ts +11 -7
  70. package/lib/cache/resources/messages.js +19 -7
  71. package/lib/cache/resources/overwrites.d.ts +11 -2
  72. package/lib/cache/resources/overwrites.js +9 -0
  73. package/lib/cache/resources/presence.d.ts +3 -2
  74. package/lib/cache/resources/roles.d.ts +9 -6
  75. package/lib/cache/resources/roles.js +13 -4
  76. package/lib/cache/resources/stage-instances.d.ts +2 -2
  77. package/lib/cache/resources/stickers.d.ts +9 -6
  78. package/lib/cache/resources/stickers.js +13 -4
  79. package/lib/cache/resources/threads.d.ts +9 -6
  80. package/lib/cache/resources/threads.js +13 -4
  81. package/lib/cache/resources/users.d.ts +9 -6
  82. package/lib/cache/resources/users.js +13 -4
  83. package/lib/cache/resources/voice-states.d.ts +11 -8
  84. package/lib/cache/resources/voice-states.js +15 -4
  85. package/lib/client/base.d.ts +29 -21
  86. package/lib/client/base.js +64 -57
  87. package/lib/client/client.d.ts +11 -16
  88. package/lib/client/client.js +51 -37
  89. package/lib/client/collectors.d.ts +10 -10
  90. package/lib/client/collectors.js +26 -1
  91. package/lib/client/httpclient.d.ts +8 -13
  92. package/lib/client/httpclient.js +27 -218
  93. package/lib/client/index.d.ts +1 -0
  94. package/lib/client/index.js +1 -0
  95. package/lib/client/transformers.d.ts +68 -0
  96. package/lib/client/transformers.js +99 -0
  97. package/lib/client/types.d.ts +5 -0
  98. package/lib/client/types.js +2 -0
  99. package/lib/client/workerclient.d.ts +16 -15
  100. package/lib/client/workerclient.js +130 -72
  101. package/lib/commands/applications/chat.d.ts +35 -34
  102. package/lib/commands/applications/chat.js +5 -9
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/entryPoint.d.ts +46 -0
  106. package/lib/commands/applications/entryPoint.js +56 -0
  107. package/lib/commands/applications/entrycontext.d.ts +40 -0
  108. package/lib/commands/applications/entrycontext.js +85 -0
  109. package/lib/commands/applications/menu.d.ts +2 -3
  110. package/lib/commands/applications/menu.js +2 -5
  111. package/lib/commands/applications/menucontext.d.ts +14 -13
  112. package/lib/commands/applications/menucontext.js +9 -9
  113. package/lib/commands/applications/options.d.ts +4 -3
  114. package/lib/commands/applications/options.js +20 -21
  115. package/lib/commands/applications/shared.d.ts +3 -1
  116. package/lib/commands/decorators.d.ts +47 -35
  117. package/lib/commands/decorators.js +20 -18
  118. package/lib/commands/handle.d.ts +65 -0
  119. package/lib/commands/handle.js +727 -0
  120. package/lib/commands/handler.d.ts +29 -18
  121. package/lib/commands/handler.js +295 -164
  122. package/lib/commands/index.d.ts +2 -0
  123. package/lib/commands/index.js +2 -0
  124. package/lib/commands/optionresolver.d.ts +13 -13
  125. package/lib/commands/optionresolver.js +24 -29
  126. package/lib/common/bot/watcher.d.ts +4 -33
  127. package/lib/common/bot/watcher.js +0 -109
  128. package/lib/common/index.d.ts +1 -0
  129. package/lib/common/index.js +1 -0
  130. package/lib/common/it/colors.js +48 -49
  131. package/lib/common/it/formatter.d.ts +32 -0
  132. package/lib/common/it/formatter.js +42 -0
  133. package/lib/common/it/logger.d.ts +0 -1
  134. package/lib/common/it/logger.js +3 -3
  135. package/lib/common/it/utils.d.ts +24 -4
  136. package/lib/common/it/utils.js +88 -17
  137. package/lib/common/shorters/application.d.ts +56 -0
  138. package/lib/common/shorters/application.js +81 -0
  139. package/lib/common/shorters/bans.d.ts +4 -5
  140. package/lib/common/shorters/bans.js +3 -3
  141. package/lib/common/shorters/channels.d.ts +7 -6
  142. package/lib/common/shorters/channels.js +19 -15
  143. package/lib/common/shorters/emojis.d.ts +5 -6
  144. package/lib/common/shorters/emojis.js +5 -5
  145. package/lib/common/shorters/guilds.d.ts +18 -16
  146. package/lib/common/shorters/guilds.js +31 -26
  147. package/lib/common/shorters/interaction.d.ts +7 -7
  148. package/lib/common/shorters/interaction.js +3 -2
  149. package/lib/common/shorters/members.d.ts +29 -12
  150. package/lib/common/shorters/members.js +55 -16
  151. package/lib/common/shorters/messages.d.ts +7 -8
  152. package/lib/common/shorters/messages.js +8 -7
  153. package/lib/common/shorters/reactions.d.ts +3 -3
  154. package/lib/common/shorters/reactions.js +11 -11
  155. package/lib/common/shorters/roles.d.ts +9 -7
  156. package/lib/common/shorters/roles.js +26 -7
  157. package/lib/common/shorters/templates.d.ts +7 -8
  158. package/lib/common/shorters/templates.js +7 -7
  159. package/lib/common/shorters/threads.d.ts +6 -7
  160. package/lib/common/shorters/threads.js +6 -9
  161. package/lib/common/shorters/users.d.ts +4 -4
  162. package/lib/common/shorters/users.js +8 -4
  163. package/lib/common/shorters/webhook.d.ts +10 -10
  164. package/lib/common/shorters/webhook.js +10 -9
  165. package/lib/common/types/resolvables.d.ts +2 -2
  166. package/lib/common/types/util.d.ts +4 -2
  167. package/lib/common/types/write.d.ts +3 -3
  168. package/lib/components/ActionRow.d.ts +1 -1
  169. package/lib/components/BaseComponent.d.ts +1 -1
  170. package/lib/components/BaseComponent.js +1 -1
  171. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  172. package/lib/components/ButtonComponent.d.ts +17 -7
  173. package/lib/components/ButtonComponent.js +19 -2
  174. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  175. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  176. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  177. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  178. package/lib/components/TextInputComponent.d.ts +2 -2
  179. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  180. package/lib/components/componentcommand.js +2 -2
  181. package/lib/components/componentcontext.d.ts +10 -9
  182. package/lib/components/componentcontext.js +8 -8
  183. package/lib/components/handler.d.ts +15 -14
  184. package/lib/components/handler.js +89 -93
  185. package/lib/components/index.d.ts +3 -3
  186. package/lib/components/index.js +12 -10
  187. package/lib/components/modalcontext.d.ts +12 -11
  188. package/lib/components/modalcontext.js +2 -2
  189. package/lib/deps/mixer.d.ts +8 -0
  190. package/lib/deps/mixer.js +71 -0
  191. package/lib/events/handler.d.ts +35 -13
  192. package/lib/events/handler.js +57 -24
  193. package/lib/events/hooks/application_command.d.ts +2 -2
  194. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  195. package/lib/events/hooks/auto_moderation.js +4 -4
  196. package/lib/events/hooks/channel.d.ts +2 -2
  197. package/lib/events/hooks/channel.js +4 -7
  198. package/lib/events/hooks/custom.d.ts +4 -3
  199. package/lib/events/hooks/custom.js +5 -1
  200. package/lib/events/hooks/dispatch.d.ts +3 -4
  201. package/lib/events/hooks/dispatch.js +2 -2
  202. package/lib/events/hooks/entitlement.d.ts +5 -37
  203. package/lib/events/hooks/entitlement.js +7 -7
  204. package/lib/events/hooks/guild.d.ts +125 -125
  205. package/lib/events/hooks/guild.js +13 -15
  206. package/lib/events/hooks/integration.d.ts +27 -28
  207. package/lib/events/hooks/integration.js +3 -3
  208. package/lib/events/hooks/interactions.d.ts +2 -2
  209. package/lib/events/hooks/invite.d.ts +18 -17
  210. package/lib/events/hooks/message.d.ts +69 -54
  211. package/lib/events/hooks/message.js +4 -8
  212. package/lib/events/hooks/presence.d.ts +17 -16
  213. package/lib/events/hooks/stage.d.ts +4 -4
  214. package/lib/events/hooks/subscriptions.d.ts +35 -0
  215. package/lib/events/hooks/subscriptions.js +16 -0
  216. package/lib/events/hooks/thread.d.ts +132 -63
  217. package/lib/events/hooks/thread.js +4 -4
  218. package/lib/events/hooks/typing.d.ts +28 -6
  219. package/lib/events/hooks/typing.js +2 -2
  220. package/lib/events/hooks/user.d.ts +3 -3
  221. package/lib/events/hooks/user.js +2 -2
  222. package/lib/events/hooks/voice.d.ts +28 -3
  223. package/lib/events/hooks/voice.js +8 -4
  224. package/lib/events/hooks/webhook.d.ts +1 -1
  225. package/lib/index.d.ts +5 -14
  226. package/lib/index.js +7 -12
  227. package/lib/langs/handler.d.ts +14 -10
  228. package/lib/langs/handler.js +40 -9
  229. package/lib/structures/AutoModerationRule.d.ts +4 -4
  230. package/lib/structures/AutoModerationRule.js +1 -2
  231. package/lib/structures/ClientUser.d.ts +1 -1
  232. package/lib/structures/Entitlement.d.ts +10 -0
  233. package/lib/structures/Entitlement.js +16 -0
  234. package/lib/structures/Guild.d.ts +33 -34
  235. package/lib/structures/Guild.js +5 -2
  236. package/lib/structures/GuildBan.d.ts +6 -6
  237. package/lib/structures/GuildBan.js +2 -1
  238. package/lib/structures/GuildEmoji.d.ts +4 -4
  239. package/lib/structures/GuildEmoji.js +3 -2
  240. package/lib/structures/GuildMember.d.ts +20 -17
  241. package/lib/structures/GuildMember.js +18 -8
  242. package/lib/structures/GuildPreview.d.ts +1 -1
  243. package/lib/structures/GuildRole.d.ts +5 -3
  244. package/lib/structures/GuildRole.js +8 -1
  245. package/lib/structures/GuildTemplate.d.ts +2 -2
  246. package/lib/structures/GuildTemplate.js +1 -1
  247. package/lib/structures/Interaction.d.ts +76 -39
  248. package/lib/structures/Interaction.js +179 -94
  249. package/lib/structures/Message.d.ts +29 -33
  250. package/lib/structures/Message.js +8 -12
  251. package/lib/structures/Poll.d.ts +4 -3
  252. package/lib/structures/Poll.js +6 -2
  253. package/lib/structures/Sticker.d.ts +7 -7
  254. package/lib/structures/Sticker.js +7 -7
  255. package/lib/structures/User.d.ts +5 -4
  256. package/lib/structures/User.js +2 -1
  257. package/lib/structures/VoiceState.d.ts +15 -11
  258. package/lib/structures/VoiceState.js +35 -17
  259. package/lib/structures/Webhook.d.ts +6 -7
  260. package/lib/structures/Webhook.js +6 -7
  261. package/lib/structures/channels.d.ts +11 -10
  262. package/lib/structures/channels.js +70 -65
  263. package/lib/structures/extra/BaseGuild.d.ts +12 -2
  264. package/lib/structures/extra/BaseGuild.js +30 -3
  265. package/lib/structures/extra/BitField.d.ts +1 -1
  266. package/lib/structures/extra/BitField.js +3 -2
  267. package/lib/structures/extra/DiscordBase.js +2 -2
  268. package/lib/structures/extra/Permissions.d.ts +3 -1
  269. package/lib/structures/extra/Permissions.js +8 -3
  270. package/lib/types/gateway.d.ts +1554 -0
  271. package/lib/types/gateway.js +4 -0
  272. package/lib/types/index.d.ts +9 -1
  273. package/lib/types/index.js +28 -1
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +65 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  303. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  304. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  305. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  306. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  307. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  308. package/lib/types/payloads/_interactions/applicationCommands.d.ts +188 -0
  309. package/lib/types/payloads/_interactions/applicationCommands.js +88 -0
  310. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  311. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  312. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  313. package/lib/types/payloads/_interactions/base.js +2 -0
  314. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  315. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  316. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  317. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  318. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  319. package/lib/types/payloads/_interactions/ping.js +2 -0
  320. package/lib/types/payloads/_interactions/responses.d.ts +184 -0
  321. package/lib/types/payloads/_interactions/responses.js +58 -0
  322. package/lib/types/payloads/application.d.ts +292 -0
  323. package/lib/types/payloads/application.js +117 -0
  324. package/lib/types/payloads/auditLog.d.ts +644 -0
  325. package/lib/types/payloads/auditLog.js +80 -0
  326. package/lib/types/payloads/autoModeration.d.ts +219 -0
  327. package/lib/types/payloads/autoModeration.js +87 -0
  328. package/lib/types/payloads/channel.d.ts +1748 -0
  329. package/lib/types/payloads/channel.js +376 -0
  330. package/lib/types/payloads/emoji.d.ts +48 -0
  331. package/lib/types/payloads/emoji.js +5 -0
  332. package/lib/types/payloads/gateway.d.ts +373 -0
  333. package/lib/types/payloads/gateway.js +82 -0
  334. package/lib/types/payloads/guild.d.ts +1060 -0
  335. package/lib/types/payloads/guild.js +324 -0
  336. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  337. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  338. package/lib/types/payloads/index.d.ts +64 -0
  339. package/lib/types/payloads/index.js +37 -0
  340. package/lib/types/payloads/interactions.d.ts +24 -0
  341. package/lib/types/payloads/interactions.js +23 -0
  342. package/lib/types/payloads/invite.d.ts +121 -0
  343. package/lib/types/payloads/invite.js +23 -0
  344. package/lib/types/payloads/monetization.d.ts +178 -0
  345. package/lib/types/payloads/monetization.js +88 -0
  346. package/lib/types/payloads/oauth2.d.ts +131 -0
  347. package/lib/types/payloads/oauth2.js +135 -0
  348. package/lib/types/payloads/permissions.d.ts +97 -0
  349. package/lib/types/payloads/permissions.js +16 -0
  350. package/lib/types/payloads/poll.d.ts +104 -0
  351. package/lib/types/payloads/poll.js +16 -0
  352. package/lib/types/payloads/stageInstance.d.ts +77 -0
  353. package/lib/types/payloads/stageInstance.js +19 -0
  354. package/lib/types/payloads/sticker.d.ts +123 -0
  355. package/lib/types/payloads/sticker.js +30 -0
  356. package/lib/types/payloads/teams.d.ts +78 -0
  357. package/lib/types/payloads/teams.js +23 -0
  358. package/lib/types/payloads/template.d.ts +62 -0
  359. package/lib/types/payloads/template.js +5 -0
  360. package/lib/types/payloads/user.d.ts +337 -0
  361. package/lib/types/payloads/user.js +167 -0
  362. package/lib/types/payloads/voice.d.ts +89 -0
  363. package/lib/types/payloads/voice.js +5 -0
  364. package/lib/types/payloads/webhook.d.ts +76 -0
  365. package/lib/types/payloads/webhook.js +21 -0
  366. package/lib/types/rest/application.d.ts +57 -0
  367. package/lib/types/rest/application.js +2 -0
  368. package/lib/types/rest/auditLog.d.ts +30 -0
  369. package/lib/types/rest/auditLog.js +2 -0
  370. package/lib/types/rest/autoModeration.d.ts +66 -0
  371. package/lib/types/rest/autoModeration.js +2 -0
  372. package/lib/types/rest/channel.d.ts +699 -0
  373. package/lib/types/rest/channel.js +11 -0
  374. package/lib/types/rest/emoji.d.ts +54 -0
  375. package/lib/types/rest/emoji.js +2 -0
  376. package/lib/types/rest/gateway.d.ts +9 -0
  377. package/lib/types/rest/gateway.js +2 -0
  378. package/lib/types/rest/guild.d.ts +865 -0
  379. package/lib/types/rest/guild.js +2 -0
  380. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  381. package/lib/types/rest/guildScheduledEvent.js +2 -0
  382. package/lib/types/rest/index.d.ts +296 -0
  383. package/lib/types/rest/index.js +292 -0
  384. package/lib/types/rest/interactions.d.ts +216 -0
  385. package/lib/types/rest/interactions.js +2 -0
  386. package/lib/types/rest/invite.d.ts +24 -0
  387. package/lib/types/rest/invite.js +2 -0
  388. package/lib/types/rest/monetization.d.ts +103 -0
  389. package/lib/types/rest/monetization.js +11 -0
  390. package/lib/types/rest/oauth2.d.ts +172 -0
  391. package/lib/types/rest/oauth2.js +2 -0
  392. package/lib/types/rest/poll.d.ts +44 -0
  393. package/lib/types/rest/poll.js +2 -0
  394. package/lib/types/rest/stageInstance.d.ts +58 -0
  395. package/lib/types/rest/stageInstance.js +2 -0
  396. package/lib/types/rest/sticker.d.ts +77 -0
  397. package/lib/types/rest/sticker.js +2 -0
  398. package/lib/types/rest/template.d.ts +62 -0
  399. package/lib/types/rest/template.js +2 -0
  400. package/lib/types/rest/user.d.ts +120 -0
  401. package/lib/types/rest/user.js +2 -0
  402. package/lib/types/rest/voice.d.ts +17 -0
  403. package/lib/types/rest/voice.js +2 -0
  404. package/lib/types/rest/webhook.d.ts +250 -0
  405. package/lib/types/rest/webhook.js +2 -0
  406. package/lib/types/utils/index.d.ts +808 -0
  407. package/lib/types/utils/index.js +810 -0
  408. package/lib/websocket/SharedTypes.d.ts +12 -5
  409. package/lib/websocket/SharedTypes.js +1 -1
  410. package/lib/websocket/constants/index.d.ts +3 -3
  411. package/lib/websocket/constants/index.js +11 -1
  412. package/lib/websocket/discord/basesocket.d.ts +7 -7
  413. package/lib/websocket/discord/basesocket.js +34 -22
  414. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  415. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  416. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  417. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  418. package/lib/websocket/discord/shard.d.ts +9 -8
  419. package/lib/websocket/discord/shard.js +83 -57
  420. package/lib/websocket/discord/sharder.d.ts +6 -5
  421. package/lib/websocket/discord/sharder.js +70 -11
  422. package/lib/websocket/discord/shared.d.ts +34 -6
  423. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  424. package/lib/websocket/discord/socket/custom.js +300 -0
  425. package/lib/websocket/discord/worker.d.ts +6 -10
  426. package/lib/websocket/discord/workermanager.d.ts +10 -16
  427. package/lib/websocket/discord/workermanager.js +63 -50
  428. package/lib/websocket/structures/index.d.ts +0 -1
  429. package/lib/websocket/structures/index.js +1 -1
  430. package/lib/websocket/structures/timeout.d.ts +0 -1
  431. package/package.json +70 -74
  432. package/lib/cache/adapters/redis.d.ts +0 -37
  433. package/lib/cache/adapters/redis.js +0 -218
  434. package/lib/client/oninteractioncreate.d.ts +0 -4
  435. package/lib/client/oninteractioncreate.js +0 -198
  436. package/lib/client/onmessagecreate.d.ts +0 -13
  437. package/lib/client/onmessagecreate.js +0 -410
  438. package/lib/structures/extra/functions.d.ts +0 -12
  439. package/lib/structures/extra/functions.js +0 -70
@@ -0,0 +1,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,29 @@
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 '..';
8
- import type { Cache } from '../cache';
1
+ import { type GatewayDispatchPayload } from '../types';
9
2
  import { type DeepPartial, type When } from '../common';
10
3
  import { EventHandler } from '../events';
11
- import { ClientUser } from '../structures';
12
- import { Shard, type ShardManagerOptions } from '../websocket';
4
+ import { Shard, type ShardManagerOptions, type WorkerData } from '../websocket';
13
5
  import type { WorkerShardInfo } from '../websocket/discord/worker';
14
6
  import type { ManagerMessages } from '../websocket/discord/workermanager';
15
7
  import type { BaseClientOptions, ServicesOptions, StartOptions } from './base';
16
8
  import { BaseClient } from './base';
17
9
  import type { Client, ClientOptions } from './client';
18
10
  import { Collectors } from './collectors';
11
+ import { type ClientUserStructure } from './transformers';
12
+ import { MemberUpdateHandler } from '../websocket/discord/events/memberUpdate';
13
+ import { PresenceUpdateHandler } from '../websocket/discord/events/presenceUpdate';
19
14
  export declare class WorkerClient<Ready extends boolean = boolean> extends BaseClient {
20
15
  private __handleGuilds?;
21
- logger: Logger;
16
+ memberUpdateHandler: MemberUpdateHandler;
17
+ presenceUpdateHandler: PresenceUpdateHandler;
22
18
  collectors: Collectors;
23
19
  events?: EventHandler | undefined;
24
- me: When<Ready, ClientUser>;
20
+ me: When<Ready, ClientUserStructure>;
25
21
  promises: Map<string, {
26
22
  resolve: (value: any) => void;
27
23
  timeout: NodeJS.Timeout;
28
24
  }>;
29
25
  shards: Map<number, Shard>;
26
+ private __setServicesCache?;
30
27
  options: WorkerClientOptions;
31
28
  constructor(options?: WorkerClientOptions);
32
29
  get workerId(): number;
@@ -36,10 +33,12 @@ export declare class WorkerClient<Ready extends boolean = boolean> extends BaseC
36
33
  events?: EventHandler['callback'];
37
34
  };
38
35
  }): void;
36
+ setWorkerData(data: WorkerData): void;
37
+ get workerData(): WorkerData;
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,11 @@ 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'];
51
49
  commands?: NonNullable<Client['options']>['commands'];
52
50
  handlePayload?: ShardManagerOptions['handlePayload'];
53
51
  gateway?: ClientOptions['gateway'];
52
+ postMessage?: (body: unknown) => unknown;
53
+ /** can have perfomance issues in big bots if the client sends every event, specially in startup (false by default) */
54
+ sendPayloadToParent?: boolean;
54
55
  }
55
56
  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,76 @@ 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
+ }
77
+ get workerData() {
78
+ return workerData;
79
+ }
107
80
  async start(options = {}) {
81
+ const worker_threads = (0, common_1.lazyLoadPackage)('node:worker_threads');
82
+ if (worker_threads?.parentPort) {
83
+ manager = worker_threads?.parentPort;
84
+ }
85
+ if (workerData.mode !== 'custom')
86
+ (manager ?? process).on('message', (data) => this.handleManagerMessages(data));
87
+ this.logger = new __1.Logger({
88
+ name: `[Worker #${workerData.workerId}]`,
89
+ });
90
+ if (this.__setServicesCache) {
91
+ this.setServices({
92
+ cache: {
93
+ disabledCache: this.cache.disabledCache,
94
+ },
95
+ });
96
+ }
97
+ else {
98
+ const adapter = new cache_1.WorkerAdapter(workerData);
99
+ if (this.options.postMessage) {
100
+ adapter.postMessage = this.options.postMessage;
101
+ }
102
+ this.setServices({
103
+ cache: {
104
+ adapter,
105
+ disabledCache: this.cache.disabledCache,
106
+ },
107
+ });
108
+ }
109
+ delete this.__setServicesCache;
110
+ if (workerData.debug) {
111
+ this.debugger = new __1.Logger({
112
+ name: `[Worker #${workerData.workerId}]`,
113
+ logLevel: common_1.LogLevels.Debug,
114
+ });
115
+ }
116
+ if (workerData.workerProxy) {
117
+ this.setServices({
118
+ rest: new __1.ApiHandler({
119
+ token: workerData.token,
120
+ workerProxy: true,
121
+ debug: workerData.debug,
122
+ }),
123
+ });
124
+ }
125
+ this.postMessage({
126
+ type: 'WORKER_START',
127
+ workerId: workerData.workerId,
128
+ });
108
129
  await super.start(options);
109
130
  await this.loadEvents(options.eventsDir);
110
131
  this.cache.intents = workerData.intents;
@@ -164,6 +185,7 @@ class WorkerClient extends base_1.BaseClient {
164
185
  const onPacket = this.onPacket.bind(this);
165
186
  const handlePayload = this.options?.handlePayload?.bind(this);
166
187
  const self = this;
188
+ const { sendPayloadToParent } = this.options;
167
189
  for (const id of workerData.shards) {
168
190
  let shard = this.shards.get(id);
169
191
  if (!shard) {
@@ -179,13 +201,14 @@ class WorkerClient extends base_1.BaseClient {
179
201
  },
180
202
  async handlePayload(shardId, payload) {
181
203
  await handlePayload?.(shardId, payload);
182
- await onPacket?.(payload, shardId);
183
- self.postMessage({
184
- workerId: workerData.workerId,
185
- shardId,
186
- type: 'RECEIVE_PAYLOAD',
187
- payload,
188
- });
204
+ await onPacket(payload, shardId);
205
+ if (sendPayloadToParent)
206
+ self.postMessage({
207
+ workerId: workerData.workerId,
208
+ shardId,
209
+ type: 'RECEIVE_PAYLOAD',
210
+ payload,
211
+ });
189
212
  },
190
213
  });
191
214
  this.shards.set(id, shard);
@@ -241,7 +264,6 @@ class WorkerClient extends base_1.BaseClient {
241
264
  {
242
265
  let result;
243
266
  try {
244
- // biome-ignore lint/security/noGlobalEval: yes
245
267
  result = await eval(`
246
268
  (${data.func})(this)
247
269
  `);
@@ -297,19 +319,42 @@ class WorkerClient extends base_1.BaseClient {
297
319
  return this.generateSendPromise(nonce);
298
320
  }
299
321
  async onPacket(packet, shardId) {
300
- await this.events?.execute('RAW', packet, this, shardId);
322
+ Promise.allSettled([
323
+ this.events?.runEvent('RAW', this, packet, shardId, false),
324
+ this.collectors.run('RAW', packet, this),
325
+ ]); //ignore promise
301
326
  switch (packet.t) {
327
+ //// Cases where we must obtain the old data before updating
328
+ case 'GUILD_MEMBER_UPDATE':
329
+ {
330
+ if (!this.memberUpdateHandler.check(packet.d)) {
331
+ return;
332
+ }
333
+ await this.events?.execute(packet.t, packet, this, shardId);
334
+ }
335
+ break;
336
+ case 'PRESENCE_UPDATE':
337
+ {
338
+ if (!this.presenceUpdateHandler.check(packet.d)) {
339
+ return;
340
+ }
341
+ await this.events?.execute(packet.t, packet, this, shardId);
342
+ }
343
+ break;
344
+ case 'GUILD_DELETE':
302
345
  case 'GUILD_CREATE': {
303
346
  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)) {
347
+ this.__handleGuilds?.delete(packet.d.id);
348
+ if (!this.__handleGuilds?.size && [...this.shards.values()].every(shard => shard.data.session_id)) {
349
+ delete this.__handleGuilds;
350
+ await this.cache.onPacket(packet);
306
351
  this.postMessage({
307
352
  type: 'WORKER_READY',
308
353
  workerId: this.workerId,
309
354
  });
310
- await this.events?.runEvent('WORKER_READY', this, this.me, -1);
355
+ return this.events?.runEvent('WORKER_READY', this, this.me, -1);
311
356
  }
312
- if (!this.__handleGuilds.size)
357
+ if (!this.__handleGuilds?.size)
313
358
  delete this.__handleGuilds;
314
359
  return this.cache.onPacket(packet);
315
360
  }
@@ -317,17 +362,34 @@ class WorkerClient extends base_1.BaseClient {
317
362
  break;
318
363
  }
319
364
  default: {
320
- await this.events?.execute(packet.t, packet, this, shardId);
321
365
  switch (packet.t) {
366
+ case 'INTERACTION_CREATE':
367
+ await this.events?.execute(packet.t, packet, this, shardId);
368
+ await this.handleCommand.interaction(packet.d, shardId);
369
+ break;
370
+ case 'MESSAGE_CREATE':
371
+ await this.events?.execute(packet.t, packet, this, shardId);
372
+ await this.handleCommand.message(packet.d, shardId);
373
+ break;
322
374
  case 'READY':
375
+ if (!this.__handleGuilds)
376
+ this.__handleGuilds = new Set();
323
377
  for (const g of packet.d.guilds) {
324
378
  this.__handleGuilds?.add(g.id);
325
379
  }
326
380
  this.botId = packet.d.user.id;
327
381
  this.applicationId = packet.d.application.id;
328
- this.me = new structures_1.ClientUser(this, packet.d.user, packet.d.application);
382
+ this.me = transformers_1.Transformers.ClientUser(this, packet.d.user, packet.d.application);
383
+ await this.events?.execute(packet.t, packet, this, shardId);
384
+ if ([...this.shards.values()].every(shard => shard.data.session_id)) {
385
+ this.postMessage({
386
+ type: 'WORKER_SHARDS_CONNECTED',
387
+ workerId: this.workerId,
388
+ });
389
+ await this.events?.runEvent('WORKER_SHARDS_CONNECTED', this, this.me, -1);
390
+ }
329
391
  if (!(this.__handleGuilds?.size &&
330
- (workerData.intents & v10_1.GatewayIntentBits.Guilds) === v10_1.GatewayIntentBits.Guilds)) {
392
+ (workerData.intents & types_1.GatewayIntentBits.Guilds) === types_1.GatewayIntentBits.Guilds)) {
331
393
  if ([...this.shards.values()].every(shard => shard.data.session_id)) {
332
394
  this.postMessage({
333
395
  type: 'WORKER_READY',
@@ -337,13 +399,10 @@ class WorkerClient extends base_1.BaseClient {
337
399
  }
338
400
  delete this.__handleGuilds;
339
401
  }
340
- this.debugger?.debug(`#${shardId} [${packet.d.user.username}](${this.botId}) is online...`);
402
+ this.debugger?.debug(`#${shardId}[${packet.d.user.username}](${this.botId}) is online...`);
341
403
  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);
404
+ default:
405
+ await this.events?.execute(packet.t, packet, this, shardId);
347
406
  break;
348
407
  }
349
408
  break;
@@ -360,4 +419,3 @@ function generateShardInfo(shard) {
360
419
  resumable: shard.resumable,
361
420
  };
362
421
  }
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 {