seyfert 1.4.0 → 2.0.0

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