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
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Stickers = void 0;
4
4
  const common_1 = require("../../common");
5
- const structures_1 = require("../../structures");
6
5
  const guild_related_1 = require("./default/guild-related");
6
+ const transformers_1 = require("../../client/transformers");
7
7
  class Stickers extends guild_related_1.GuildRelatedResource {
8
8
  namespace = 'sticker';
9
9
  //@ts-expect-error
@@ -11,13 +11,22 @@ class Stickers extends guild_related_1.GuildRelatedResource {
11
11
  return true;
12
12
  }
13
13
  get(id) {
14
- return (0, common_1.fakePromise)(super.get(id)).then(rawSticker => rawSticker ? new structures_1.Sticker(this.client, rawSticker) : undefined);
14
+ return (0, common_1.fakePromise)(super.get(id)).then(rawSticker => rawSticker ? transformers_1.Transformers.Sticker(this.client, rawSticker) : undefined);
15
+ }
16
+ raw(id) {
17
+ return super.get(id);
15
18
  }
16
19
  bulk(ids) {
17
- return (0, common_1.fakePromise)(super.bulk(ids)).then(emojis => emojis.map(rawSticker => new structures_1.Sticker(this.client, rawSticker)));
20
+ return (0, common_1.fakePromise)(super.bulk(ids)).then(emojis => emojis.map(rawSticker => transformers_1.Transformers.Sticker(this.client, rawSticker)));
21
+ }
22
+ bulkRaw(ids) {
23
+ return super.bulk(ids);
18
24
  }
19
25
  values(guild) {
20
- return (0, common_1.fakePromise)(super.values(guild)).then(emojis => emojis.map(rawSticker => new structures_1.Sticker(this.client, rawSticker)));
26
+ return (0, common_1.fakePromise)(super.values(guild)).then(emojis => emojis.map(rawSticker => transformers_1.Transformers.Sticker(this.client, rawSticker)));
27
+ }
28
+ valuesRaw(guild) {
29
+ return super.values(guild);
21
30
  }
22
31
  }
23
32
  exports.Stickers = Stickers;
@@ -1,11 +1,14 @@
1
- import type { APIThreadChannel } from 'discord-api-types/v10';
1
+ import type { APIThreadChannel } from '../../types';
2
2
  import type { ReturnCache } from '../..';
3
- import { ThreadChannel } from '../../structures';
4
3
  import { GuildRelatedResource } from './default/guild-related';
5
- export declare class Threads extends GuildRelatedResource {
4
+ import { type ThreadChannelStructure } from '../../client/transformers';
5
+ export declare class Threads extends GuildRelatedResource<any, APIThreadChannel> {
6
6
  namespace: string;
7
7
  filter(data: APIThreadChannel, id: string, guild_id?: string): boolean;
8
- get(id: string): ReturnCache<ThreadChannel | undefined>;
9
- bulk(ids: string[]): ReturnCache<ThreadChannel[]>;
10
- values(guild: string): ReturnCache<ThreadChannel[]>;
8
+ get(id: string): ReturnCache<ThreadChannelStructure | undefined>;
9
+ raw(id: string): ReturnCache<APIThreadChannel | undefined>;
10
+ bulk(ids: string[]): ReturnCache<ThreadChannelStructure[]>;
11
+ bulkRaw(ids: string[]): ReturnCache<APIThreadChannel[]>;
12
+ values(guild: string): ReturnCache<ThreadChannelStructure[]>;
13
+ valuesRaw(guild: string): ReturnCache<APIThreadChannel[]>;
11
14
  }
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Threads = void 0;
4
4
  const common_1 = require("../../common");
5
- const structures_1 = require("../../structures");
6
5
  const guild_related_1 = require("./default/guild-related");
6
+ const transformers_1 = require("../../client/transformers");
7
7
  class Threads extends guild_related_1.GuildRelatedResource {
8
8
  namespace = 'thread';
9
9
  //@ts-expect-error
@@ -11,13 +11,22 @@ class Threads extends guild_related_1.GuildRelatedResource {
11
11
  return true;
12
12
  }
13
13
  get(id) {
14
- return (0, common_1.fakePromise)(super.get(id)).then(rawThread => rawThread ? new structures_1.ThreadChannel(this.client, rawThread) : undefined);
14
+ return (0, common_1.fakePromise)(super.get(id)).then(rawThread => rawThread ? transformers_1.Transformers.ThreadChannel(this.client, rawThread) : undefined);
15
+ }
16
+ raw(id) {
17
+ return super.get(id);
15
18
  }
16
19
  bulk(ids) {
17
- return (0, common_1.fakePromise)(super.bulk(ids)).then(threads => threads.map(rawThread => new structures_1.ThreadChannel(this.client, rawThread)));
20
+ return (0, common_1.fakePromise)(super.bulk(ids)).then(threads => threads.map(rawThread => transformers_1.Transformers.ThreadChannel(this.client, rawThread)));
21
+ }
22
+ bulkRaw(ids) {
23
+ return super.bulk(ids);
18
24
  }
19
25
  values(guild) {
20
- return (0, common_1.fakePromise)(super.values(guild)).then(threads => threads.map(rawThread => new structures_1.ThreadChannel(this.client, rawThread)));
26
+ return (0, common_1.fakePromise)(super.values(guild)).then(threads => threads.map(rawThread => transformers_1.Transformers.ThreadChannel(this.client, rawThread)));
27
+ }
28
+ valuesRaw(guild) {
29
+ return super.values(guild);
21
30
  }
22
31
  }
23
32
  exports.Threads = Threads;
@@ -1,11 +1,14 @@
1
- import type { APIUser } from 'discord-api-types/v10';
1
+ import type { APIUser } from '../../types';
2
2
  import type { ReturnCache } from '../..';
3
- import { User } from '../../structures';
4
3
  import { BaseResource } from './default/base';
5
- export declare class Users extends BaseResource {
4
+ import { type UserStructure } from '../../client/transformers';
5
+ export declare class Users extends BaseResource<any, APIUser> {
6
6
  namespace: string;
7
7
  filter(data: APIUser, id: string): boolean;
8
- get(id: string): ReturnCache<User | undefined>;
9
- bulk(ids: string[]): ReturnCache<User[]>;
10
- values(): ReturnCache<User[]>;
8
+ get(id: string): ReturnCache<UserStructure | undefined>;
9
+ raw(id: string): ReturnCache<APIUser | undefined>;
10
+ bulk(ids: string[]): ReturnCache<UserStructure[]>;
11
+ bulkRaw(ids: string[]): ReturnCache<APIUser[]>;
12
+ values(): ReturnCache<UserStructure[]>;
13
+ valuesRaw(): ReturnCache<APIUser[]>;
11
14
  }
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Users = void 0;
4
4
  const common_1 = require("../../common");
5
- const structures_1 = require("../../structures");
6
5
  const base_1 = require("./default/base");
6
+ const transformers_1 = require("../../client/transformers");
7
7
  class Users extends base_1.BaseResource {
8
8
  namespace = 'user';
9
9
  //@ts-expect-error
@@ -11,13 +11,22 @@ class Users extends base_1.BaseResource {
11
11
  return true;
12
12
  }
13
13
  get(id) {
14
- return (0, common_1.fakePromise)(super.get(id)).then(rawUser => (rawUser ? new structures_1.User(this.client, rawUser) : undefined));
14
+ return (0, common_1.fakePromise)(super.get(id)).then(rawUser => (rawUser ? transformers_1.Transformers.User(this.client, rawUser) : undefined));
15
+ }
16
+ raw(id) {
17
+ return super.get(id);
15
18
  }
16
19
  bulk(ids) {
17
- return (0, common_1.fakePromise)(super.bulk(ids)).then(users => users.map(rawUser => new structures_1.User(this.client, rawUser)));
20
+ return (0, common_1.fakePromise)(super.bulk(ids)).then(users => users.map(rawUser => transformers_1.Transformers.User(this.client, rawUser)));
21
+ }
22
+ bulkRaw(ids) {
23
+ return super.bulk(ids);
18
24
  }
19
25
  values() {
20
- return (0, common_1.fakePromise)(super.values()).then(users => users.map(rawUser => new structures_1.User(this.client, rawUser)));
26
+ return (0, common_1.fakePromise)(super.values()).then(users => users.map(rawUser => transformers_1.Transformers.User(this.client, rawUser)));
27
+ }
28
+ valuesRaw() {
29
+ return super.values();
21
30
  }
22
31
  }
23
32
  exports.Users = Users;
@@ -1,15 +1,18 @@
1
- import type { GatewayVoiceState } from 'discord-api-types/v10';
1
+ import type { APIVoiceState } from '../../types';
2
2
  import type { ReturnCache } from '../..';
3
- import { VoiceState } from '../../structures';
4
3
  import { GuildBasedResource } from './default/guild-based';
5
- export declare class VoiceStates extends GuildBasedResource {
4
+ import { type VoiceStateStructure } from '../../client/transformers';
5
+ export declare class VoiceStates extends GuildBasedResource<any, APIVoiceState> {
6
6
  namespace: string;
7
- filter(data: GatewayVoiceState, id: string, guild_id: string): boolean;
7
+ filter(data: APIVoiceState, id: string, guild_id: string): boolean;
8
8
  parse(data: any, id: string, guild_id: string): any;
9
- get(memberId: string, guildId: string): ReturnCache<VoiceState | undefined>;
10
- bulk(ids: string[], guild: string): ReturnCache<VoiceState[]>;
11
- values(guildId: string): ReturnCache<VoiceState[]>;
9
+ get(memberId: string, guildId: string): ReturnCache<VoiceStateStructure | undefined>;
10
+ raw(memberId: string, guildId: string): ReturnCache<APIVoiceState | undefined>;
11
+ bulk(ids: string[], guild: string): ReturnCache<VoiceStateStructure[]>;
12
+ bulkRaw(ids: string[], guild: string): ReturnCache<APIVoiceState[]>;
13
+ values(guildId: string): ReturnCache<VoiceStateStructure[]>;
14
+ valuesRaw(guildId: string): ReturnCache<APIVoiceState[]>;
12
15
  }
13
- export type VoiceStateResource = Omit<GatewayVoiceState, 'member'> & {
16
+ export type VoiceStateResource = Omit<APIVoiceState, 'member'> & {
14
17
  guild_id: string;
15
18
  };
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VoiceStates = void 0;
4
4
  const common_1 = require("../../common");
5
- const structures_1 = require("../../structures");
6
5
  const guild_based_1 = require("./default/guild-based");
6
+ const transformers_1 = require("../../client/transformers");
7
7
  class VoiceStates extends guild_based_1.GuildBasedResource {
8
8
  namespace = 'voice_state';
9
9
  //@ts-expect-error
@@ -15,13 +15,24 @@ class VoiceStates extends guild_based_1.GuildBasedResource {
15
15
  return rest;
16
16
  }
17
17
  get(memberId, guildId) {
18
- return (0, common_1.fakePromise)(super.get(memberId, guildId)).then(state => state ? new structures_1.VoiceState(this.client, state) : undefined);
18
+ return (0, common_1.fakePromise)(super.get(memberId, guildId)).then(state => state ? transformers_1.Transformers.VoiceState(this.client, state) : undefined);
19
+ }
20
+ raw(memberId, guildId) {
21
+ return super.get(memberId, guildId);
19
22
  }
20
23
  bulk(ids, guild) {
21
- return (0, common_1.fakePromise)(super.bulk(ids, guild)).then(states => states.map(state => (state ? new structures_1.VoiceState(this.client, state) : undefined)).filter(y => !!y));
24
+ return (0, common_1.fakePromise)(super.bulk(ids, guild)).then(states => states
25
+ .map(state => (state ? transformers_1.Transformers.VoiceState(this.client, state) : undefined))
26
+ .filter(y => !!y));
27
+ }
28
+ bulkRaw(ids, guild) {
29
+ return super.bulk(ids, guild);
22
30
  }
23
31
  values(guildId) {
24
- return (0, common_1.fakePromise)(super.values(guildId)).then(states => states.map(state => new structures_1.VoiceState(this.client, state)));
32
+ return (0, common_1.fakePromise)(super.values(guildId)).then(states => states.map(state => transformers_1.Transformers.VoiceState(this.client, state)));
33
+ }
34
+ valuesRaw(guildId) {
35
+ return super.values(guildId);
25
36
  }
26
37
  }
27
38
  exports.VoiceStates = VoiceStates;
@@ -1,20 +1,23 @@
1
1
  import { ApiHandler } from '../api';
2
2
  import type { Adapter } from '../cache';
3
3
  import { Cache } from '../cache';
4
- import type { Command, ExtraProps, RegisteredMiddlewares } from '../commands';
4
+ import type { Command, CommandContext, ContextMenuCommand, ExtraProps, MenuCommandContext, RegisteredMiddlewares, SubCommand, UsingClient } from '../commands';
5
5
  import { type InferWithPrefix, type MiddlewareContext } from '../commands/applications/shared';
6
6
  import { CommandHandler } from '../commands/handler';
7
- import { ChannelShorter, EmojiShorter, GuildShorter, InteractionShorter, Logger, MemberShorter, MessageShorter, ReactionShorter, RoleShorter, TemplateShorter, ThreadShorter, UsersShorter, WebhookShorter, type MakeRequired } from '../common';
8
- import type { LocaleString, RESTPostAPIChannelMessageJSONBody } from 'discord-api-types/rest/v10';
9
- import type { Awaitable, DeepPartial, IntentStrings, OmitInsert, When } from '../common/types/util';
7
+ import { ApplicationShorter, ChannelShorter, EmojiShorter, GuildShorter, InteractionShorter, Logger, MemberShorter, MessageShorter, ReactionShorter, RoleShorter, TemplateShorter, ThreadShorter, UsersShorter, WebhookShorter, type MakeRequired } from '../common';
8
+ import type { LocaleString, RESTPostAPIChannelMessageJSONBody } from '../types';
9
+ import type { Awaitable, DeepPartial, IntentStrings, OmitInsert, PermissionStrings, When } from '../common/types/util';
10
10
  import { ComponentHandler } from '../components/handler';
11
11
  import { LangsHandler } from '../langs/handler';
12
- import type { ChatInputCommandInteraction, ComponentInteraction, Message, MessageCommandInteraction, ModalSubmitInteraction, UserCommandInteraction } from '../structures';
12
+ import type { ChatInputCommandInteraction, ComponentInteraction, EntryPointInteraction, MessageCommandInteraction, ModalSubmitInteraction, UserCommandInteraction } from '../structures';
13
13
  import type { ComponentCommand, ModalCommand } from '../components';
14
14
  import { BanShorter } from '../common/shorters/bans';
15
+ import { HandleCommand } from '../commands/handle';
16
+ import type { MessageStructure } from './transformers';
15
17
  export declare class BaseClient {
16
18
  rest: ApiHandler;
17
19
  cache: Cache;
20
+ applications: ApplicationShorter;
18
21
  users: UsersShorter;
19
22
  channels: ChannelShorter;
20
23
  guilds: GuildShorter;
@@ -33,6 +36,7 @@ export declare class BaseClient {
33
36
  langs?: LangsHandler | undefined;
34
37
  commands?: CommandHandler | undefined;
35
38
  components?: ComponentHandler | undefined;
39
+ handleCommand: HandleCommand;
36
40
  private _applicationId?;
37
41
  private _botId?;
38
42
  middlewares?: Record<string, MiddlewareContext>;
@@ -45,21 +49,25 @@ export declare class BaseClient {
45
49
  set applicationId(id: string);
46
50
  get applicationId(): string;
47
51
  get proxy(): import("../api").APIRoutes;
48
- setServices({ rest, cache, langs, middlewares, handlers, }: ServicesOptions): void;
52
+ setServices({ rest, cache, langs, middlewares, handlers, handleCommand }: ServicesOptions): void;
49
53
  protected execute(..._options: unknown[]): Promise<void>;
50
54
  start(options?: Pick<DeepPartial<StartOptions>, 'langsDir' | 'commandsDir' | 'connection' | 'token' | 'componentsDir'>): Promise<void>;
51
- protected onPacket(..._packet: unknown[]): Promise<void>;
52
- shouldUploadCommands(cachePath: string): Promise<boolean>;
53
- uploadCommands(applicationId?: string): Promise<void>;
55
+ protected onPacket(..._packet: unknown[]): Promise<any>;
56
+ private shouldUploadCommands;
57
+ private syncCachePath;
58
+ uploadCommands({ applicationId, cachePath }?: {
59
+ applicationId?: string;
60
+ cachePath?: string;
61
+ }): Promise<void>;
54
62
  loadCommands(dir?: string): Promise<void>;
55
63
  loadComponents(dir?: string): Promise<void>;
56
64
  loadLangs(dir?: string): Promise<void>;
57
65
  t(locale: string): import("..").__InternalParseLocale<import("../commands").DefaultLocale> & {
58
- get(locale?: string | undefined): import("../commands").DefaultLocale;
66
+ get(locale?: string): import("../commands").DefaultLocale;
59
67
  };
60
68
  getRC<T extends InternalRuntimeConfigHTTP | InternalRuntimeConfig = InternalRuntimeConfigHTTP | InternalRuntimeConfig>(): Promise<{
61
69
  debug: boolean;
62
- } & Omit<T, "locations" | "debug"> & {
70
+ } & Omit<T, "debug" | "locations"> & {
63
71
  templates: string | undefined;
64
72
  langs: string | undefined;
65
73
  events: string | undefined;
@@ -70,17 +78,17 @@ export declare class BaseClient {
70
78
  }>;
71
79
  }
72
80
  export interface BaseClientOptions {
73
- context?: (interaction: ChatInputCommandInteraction<boolean> | UserCommandInteraction<boolean> | MessageCommandInteraction<boolean> | ComponentInteraction | ModalSubmitInteraction | When<InferWithPrefix, Message, never>) => {};
81
+ context?: (interaction: ChatInputCommandInteraction<boolean> | UserCommandInteraction<boolean> | MessageCommandInteraction<boolean> | ComponentInteraction | ModalSubmitInteraction | EntryPointInteraction<boolean> | When<InferWithPrefix, MessageStructure, never>) => {};
74
82
  globalMiddlewares?: readonly (keyof RegisteredMiddlewares)[];
75
83
  commands?: {
76
84
  defaults?: {
77
- onRunError?: Command['onRunError'];
85
+ onRunError?: (context: MenuCommandContext<any, never> | CommandContext, error: unknown) => unknown;
78
86
  onPermissionsFail?: Command['onPermissionsFail'];
79
- onBotPermissionsFail?: Command['onBotPermissionsFail'];
80
- onInternalError?: Command['onInternalError'];
81
- onMiddlewaresError?: Command['onMiddlewaresError'];
87
+ onBotPermissionsFail?: (context: MenuCommandContext<any, never> | CommandContext, permissions: PermissionStrings) => unknown;
88
+ onInternalError?: (client: UsingClient, command: Command | SubCommand | ContextMenuCommand, error?: unknown) => unknown;
89
+ onMiddlewaresError?: (context: CommandContext | MenuCommandContext<any, never>, error: string) => unknown;
82
90
  onOptionsError?: Command['onOptionsError'];
83
- onAfterRun?: Command['onAfterRun'];
91
+ onAfterRun?: (context: CommandContext | MenuCommandContext<any, never>, error: unknown) => unknown;
84
92
  props?: ExtraProps;
85
93
  };
86
94
  };
@@ -116,7 +124,6 @@ export interface StartOptions {
116
124
  httpConnection: {
117
125
  publicKey: string;
118
126
  port: number;
119
- useUWS: boolean;
120
127
  };
121
128
  token: string;
122
129
  }
@@ -153,7 +160,7 @@ export interface ServicesOptions {
153
160
  rest?: ApiHandler;
154
161
  cache?: {
155
162
  adapter?: Adapter;
156
- disabledCache?: Cache['disabledCache'];
163
+ disabledCache?: true | Cache['disabledCache'];
157
164
  };
158
165
  langs?: {
159
166
  default?: string;
@@ -162,8 +169,9 @@ export interface ServicesOptions {
162
169
  middlewares?: Record<string, MiddlewareContext>;
163
170
  handlers?: {
164
171
  components?: ComponentHandler | ComponentHandler['callback'];
165
- commands?: CommandHandler | Parameters<CommandHandler['setHandlers']>[0];
166
- langs?: LangsHandler | LangsHandler['callback'];
172
+ commands?: CommandHandler;
173
+ langs?: LangsHandler;
167
174
  };
175
+ handleCommand?: typeof HandleCommand;
168
176
  }
169
177
  export {};
@@ -11,9 +11,11 @@ const handler_2 = require("../components/handler");
11
11
  const handler_3 = require("../langs/handler");
12
12
  const node_fs_1 = require("node:fs");
13
13
  const bans_1 = require("../common/shorters/bans");
14
+ const handle_1 = require("../commands/handle");
14
15
  class BaseClient {
15
16
  rest;
16
17
  cache;
18
+ applications = new common_1.ApplicationShorter(this);
17
19
  users = new common_1.UsersShorter(this);
18
20
  channels = new common_1.ChannelShorter(this);
19
21
  guilds = new common_1.GuildShorter(this);
@@ -34,6 +36,7 @@ class BaseClient {
34
36
  langs = new handler_3.LangsHandler(this.logger);
35
37
  commands = new handler_1.CommandHandler(this.logger, this);
36
38
  components = new handler_2.ComponentHandler(this.logger, this);
39
+ handleCommand;
37
40
  _applicationId;
38
41
  _botId;
39
42
  middlewares;
@@ -47,7 +50,7 @@ class BaseClient {
47
50
  }
48
51
  options;
49
52
  /**@internal */
50
- static _seyfertConfig;
53
+ static _seyfertCfWorkerConfig;
51
54
  constructor(options) {
52
55
  this.options = (0, common_1.MergeOptions)({
53
56
  commands: {
@@ -104,7 +107,7 @@ class BaseClient {
104
107
  this._botId = id;
105
108
  }
106
109
  get botId() {
107
- return (this._botId ?? BaseClient.getBotIdFromToken(this.rest.options.token));
110
+ return this._botId ?? BaseClient.getBotIdFromToken(this.rest.options.token);
108
111
  }
109
112
  set applicationId(id) {
110
113
  this._applicationId = id;
@@ -115,12 +118,14 @@ class BaseClient {
115
118
  get proxy() {
116
119
  return new api_1.Router(this.rest).createProxy();
117
120
  }
118
- setServices({ rest, cache, langs, middlewares, handlers, }) {
121
+ setServices({ rest, cache, langs, middlewares, handlers, handleCommand }) {
119
122
  if (rest) {
120
123
  this.rest = rest;
121
124
  }
122
125
  if (cache) {
123
- this.cache = new cache_1.Cache(this.cache?.intents ?? 0, cache?.adapter ?? this.cache?.adapter ?? new cache_1.MemoryAdapter(), cache.disabledCache ?? this.cache?.disabledCache ?? [], this);
126
+ this.cache = new cache_1.Cache(this.cache?.intents ?? 0, cache?.adapter ?? this.cache?.adapter ?? new cache_1.MemoryAdapter(), (typeof cache.disabledCache === 'boolean' ? { onPacket: cache.disabledCache } : cache.disabledCache) ??
127
+ this.cache?.disabledCache ??
128
+ [], this);
124
129
  }
125
130
  if (middlewares) {
126
131
  this.middlewares = middlewares;
@@ -132,9 +137,6 @@ class BaseClient {
132
137
  }
133
138
  else if (typeof handlers.components === 'function') {
134
139
  this.components ??= new handler_2.ComponentHandler(this.logger, this);
135
- this.components.setHandlers({
136
- callback: handlers.components,
137
- });
138
140
  }
139
141
  else {
140
142
  this.components = handlers.components;
@@ -146,7 +148,6 @@ class BaseClient {
146
148
  }
147
149
  else if (typeof handlers.commands === 'object') {
148
150
  this.commands ??= new handler_1.CommandHandler(this.logger, this);
149
- this.commands.setHandlers(handlers.commands);
150
151
  }
151
152
  else {
152
153
  this.commands = handlers.commands;
@@ -158,7 +159,6 @@ class BaseClient {
158
159
  }
159
160
  else if (typeof handlers.langs === 'function') {
160
161
  this.langs ??= new handler_3.LangsHandler(this.logger);
161
- this.langs.setHandlers({ callback: handlers.langs });
162
162
  }
163
163
  else {
164
164
  this.langs = handlers.langs;
@@ -171,6 +171,8 @@ class BaseClient {
171
171
  if (langs.aliases)
172
172
  this.langs.aliases = Object.entries(langs.aliases);
173
173
  }
174
+ if (handleCommand)
175
+ this.handleCommand = new handleCommand(this);
174
176
  }
175
177
  async execute(..._options) {
176
178
  if ((await this.getRC()).debug) {
@@ -190,7 +192,7 @@ class BaseClient {
190
192
  await this.loadLangs(options.langsDir);
191
193
  await this.loadCommands(options.commandsDir);
192
194
  await this.loadComponents(options.componentsDir);
193
- const { token: tokenRC } = await this.getRC();
195
+ const { token: tokenRC, debug } = await this.getRC();
194
196
  const token = options?.token ?? tokenRC;
195
197
  if (!this.rest) {
196
198
  BaseClient.assertString(token, 'token is not a string');
@@ -198,71 +200,87 @@ class BaseClient {
198
200
  token,
199
201
  baseUrl: 'api/v10',
200
202
  domain: 'https://discord.com',
201
- debug: (await this.getRC()).debug,
203
+ debug,
202
204
  });
203
205
  }
204
206
  if (this.cache) {
205
207
  this.cache.__setClient(this);
206
208
  }
207
209
  else {
208
- this.cache = new cache_1.Cache(0, new cache_1.MemoryAdapter(), [], this);
210
+ this.cache = new cache_1.Cache(0, new cache_1.MemoryAdapter(), {}, this);
209
211
  }
212
+ if (!this.handleCommand)
213
+ this.handleCommand = new handle_1.HandleCommand(this);
214
+ // The reason of this method is so for adapters that need to connect somewhere, have time to connect.
215
+ // Or maybe clear cache?
216
+ await this.cache.adapter.start();
210
217
  }
211
218
  async onPacket(..._packet) {
212
219
  throw new Error('Function not implemented');
213
220
  }
214
- shouldUploadCommands(cachePath) {
215
- return this.commands.shouldUpload(cachePath).then(async (should) => {
216
- if (should)
217
- await node_fs_1.promises.writeFile(cachePath, JSON.stringify(this.commands.values.map((x) => x.toJSON())));
221
+ shouldUploadCommands(cachePath, guildId) {
222
+ return this.commands.shouldUpload(cachePath, guildId).then(should => {
223
+ this.logger.debug(should
224
+ ? `[${guildId ?? 'global'}] Change(s) detected, uploading commands`
225
+ : `[${guildId ?? 'global'}] commands seems to be up to date`);
218
226
  return should;
219
227
  });
220
228
  }
221
- async uploadCommands(applicationId) {
222
- applicationId ??= await this.getRC().then((x) => x.applicationId ?? this.applicationId);
229
+ syncCachePath(cachePath) {
230
+ this.logger.debug('Syncing commands cache');
231
+ return node_fs_1.promises.writeFile(cachePath, JSON.stringify(this.commands.values.filter(cmd => !('ignore' in cmd) || cmd.ignore !== shared_1.IgnoreCommand.Slash).map(x => x.toJSON())));
232
+ }
233
+ async uploadCommands({ applicationId, cachePath } = {}) {
234
+ applicationId ??= await this.getRC().then(x => x.applicationId ?? this.applicationId);
223
235
  BaseClient.assertString(applicationId, 'applicationId is not a string');
224
236
  const commands = this.commands.values;
225
- const filter = (0, common_1.filterSplit)(commands, (command) => !command.guildId);
226
- await this.proxy.applications(applicationId).commands.put({
227
- body: filter.expect
228
- .filter((cmd) => !('ignore' in cmd) || cmd.ignore !== shared_1.IgnoreCommand.Slash)
229
- .map((x) => x.toJSON()),
230
- });
237
+ const filter = (0, common_1.filterSplit)(commands, command => ('guildId' in command ? !command.guildId : true));
238
+ if (this.commands?.entryPoint) {
239
+ filter.expect.push(this.commands.entryPoint);
240
+ }
241
+ if (!cachePath || (await this.shouldUploadCommands(cachePath)))
242
+ await this.proxy.applications(applicationId).commands.put({
243
+ body: filter.expect
244
+ .filter(cmd => !('ignore' in cmd) || cmd.ignore !== shared_1.IgnoreCommand.Slash)
245
+ .map(x => x.toJSON()),
246
+ });
231
247
  const guilds = new Set();
232
248
  for (const command of filter.never) {
233
249
  for (const guild_id of command.guildId) {
234
250
  guilds.add(guild_id);
235
251
  }
236
252
  }
237
- for (const guild of guilds) {
238
- await this.proxy
239
- .applications(applicationId)
240
- .guilds(guild)
241
- .commands.put({
242
- body: filter.never
243
- .filter((cmd) => cmd.guildId?.includes(guild) &&
244
- (!('ignore' in cmd) ||
245
- cmd.ignore !== shared_1.IgnoreCommand.Slash))
246
- .map((x) => x.toJSON()),
247
- });
253
+ for (const guildId of guilds) {
254
+ if (!cachePath || (await this.shouldUploadCommands(cachePath, guildId))) {
255
+ await this.proxy
256
+ .applications(applicationId)
257
+ .guilds(guildId)
258
+ .commands.put({
259
+ body: filter.never
260
+ .filter(cmd => cmd.guildId.includes(guildId) && (!('ignore' in cmd) || cmd.ignore !== shared_1.IgnoreCommand.Slash))
261
+ .map(x => x.toJSON()),
262
+ });
263
+ }
248
264
  }
265
+ if (cachePath)
266
+ await this.syncCachePath(cachePath);
249
267
  }
250
268
  async loadCommands(dir) {
251
- dir ??= await this.getRC().then((x) => x.commands);
269
+ dir ??= await this.getRC().then(x => x.commands);
252
270
  if (dir && this.commands) {
253
271
  await this.commands.load(dir, this);
254
272
  this.logger.info('CommandHandler loaded');
255
273
  }
256
274
  }
257
275
  async loadComponents(dir) {
258
- dir ??= await this.getRC().then((x) => x.components);
276
+ dir ??= await this.getRC().then(x => x.components);
259
277
  if (dir && this.components) {
260
278
  await this.components.load(dir);
261
279
  this.logger.info('ComponentHandler loaded');
262
280
  }
263
281
  }
264
282
  async loadLangs(dir) {
265
- dir ??= await this.getRC().then((x) => x.langs);
283
+ dir ??= await this.getRC().then(x => x.langs);
266
284
  if (dir && this.langs) {
267
285
  await this.langs.load(dir);
268
286
  this.logger.info('LangsHandler loaded');
@@ -272,32 +290,21 @@ class BaseClient {
272
290
  return this.langs.get(locale);
273
291
  }
274
292
  async getRC() {
275
- const seyfertConfig = (BaseClient._seyfertConfig ||
276
- (await this.options.getRC?.()) ||
277
- (await (0, common_1.magicImport)((0, node_path_1.join)(process.cwd(), 'seyfert.config.js')).then((x) => x.default ?? x)));
293
+ const seyfertConfig = (BaseClient._seyfertCfWorkerConfig ||
294
+ (await this.options?.getRC?.()) ||
295
+ (await Promise.any(['.js', '.mjs', '.cjs', '.ts', '.mts', '.cts'].map(ext => (0, common_1.magicImport)((0, node_path_1.join)(process.cwd(), `seyfert.config${ext}`)).then(x => x.default ?? x)))));
278
296
  const { locations, debug, ...env } = seyfertConfig;
279
297
  const obj = {
280
298
  debug: !!debug,
281
299
  ...env,
282
- templates: locations.templates
283
- ? (0, node_path_1.join)(process.cwd(), locations.base, locations.templates)
284
- : undefined,
285
- langs: locations.langs
286
- ? (0, node_path_1.join)(process.cwd(), locations.output, locations.langs)
287
- : undefined,
288
- events: 'events' in locations && locations.events
289
- ? (0, node_path_1.join)(process.cwd(), locations.output, locations.events)
290
- : undefined,
291
- components: locations.components
292
- ? (0, node_path_1.join)(process.cwd(), locations.output, locations.components)
293
- : undefined,
294
- commands: locations.commands
295
- ? (0, node_path_1.join)(process.cwd(), locations.output, locations.commands)
296
- : undefined,
300
+ templates: locations.templates ? (0, node_path_1.join)(process.cwd(), locations.base, locations.templates) : undefined,
301
+ langs: locations.langs ? (0, node_path_1.join)(process.cwd(), locations.output, locations.langs) : undefined,
302
+ events: 'events' in locations && locations.events ? (0, node_path_1.join)(process.cwd(), locations.output, locations.events) : undefined,
303
+ components: locations.components ? (0, node_path_1.join)(process.cwd(), locations.output, locations.components) : undefined,
304
+ commands: locations.commands ? (0, node_path_1.join)(process.cwd(), locations.output, locations.commands) : undefined,
297
305
  base: (0, node_path_1.join)(process.cwd(), locations.base),
298
306
  output: (0, node_path_1.join)(process.cwd(), locations.output),
299
307
  };
300
- BaseClient._seyfertConfig = seyfertConfig;
301
308
  return obj;
302
309
  }
303
310
  }
@@ -1,20 +1,20 @@
1
- import { type APIApplicationCommandInteractionDataOption, type GatewayMessageCreateDispatchData, type GatewayDispatchPayload, type GatewayPresenceUpdateData } from 'discord-api-types/v10';
2
- import type { Command, CommandContext, ContextOptionsResolved, Message, MessageCommandOptionErrors, SubCommand, UsingClient } from '..';
3
- import { type Awaitable, type MakeRequired, type DeepPartial, type If } from '../common';
1
+ import { type GatewayDispatchPayload, type GatewayPresenceUpdateData } from '../types';
2
+ import type { CommandContext, Message } from '..';
3
+ import { type Awaitable, type DeepPartial, type If } from '../common';
4
4
  import { EventHandler } from '../events';
5
- import { ClientUser } from '../structures';
6
5
  import { ShardManager, type ShardManagerOptions } from '../websocket';
7
6
  import { MemberUpdateHandler } from '../websocket/discord/events/memberUpdate';
8
7
  import { PresenceUpdateHandler } from '../websocket/discord/events/presenceUpdate';
9
8
  import type { BaseClientOptions, ServicesOptions, StartOptions } from './base';
10
9
  import { BaseClient } from './base';
11
10
  import { Collectors } from './collectors';
11
+ import { type ClientUserStructure, type MessageStructure } from './transformers';
12
12
  export declare class Client<Ready extends boolean = boolean> extends BaseClient {
13
13
  private __handleGuilds?;
14
14
  gateway: ShardManager;
15
- me: If<Ready, ClientUser>;
15
+ me: If<Ready, ClientUserStructure>;
16
16
  options: Omit<ClientOptions, 'commands'> & {
17
- commands: MakeRequired<NonNullable<ClientOptions['commands']>, 'argsParser' | 'optionsParser'>;
17
+ commands: NonNullable<ClientOptions['commands']>;
18
18
  };
19
19
  memberUpdateHandler: MemberUpdateHandler;
20
20
  presenceUpdateHandler: PresenceUpdateHandler;
@@ -47,18 +47,13 @@ export interface ClientOptions extends BaseClientOptions {
47
47
  compress?: ShardManagerOptions['compress'];
48
48
  };
49
49
  commands?: BaseClientOptions['commands'] & {
50
- prefix?: (message: Message) => Promise<string[]> | string[];
50
+ prefix?: (message: MessageStructure) => Awaitable<string[]>;
51
51
  deferReplyResponse?: (ctx: CommandContext) => Parameters<Message['write']>[0];
52
52
  reply?: (ctx: CommandContext) => boolean;
53
- argsParser?: (content: string, command: SubCommand | Command, message: Message) => Record<string, string>;
54
- optionsParser?: (self: UsingClient, command: Command | SubCommand, message: GatewayMessageCreateDispatchData, args: Partial<Record<string, string>>, resolved: MakeRequired<ContextOptionsResolved>) => Awaitable<{
55
- errors: {
56
- name: string;
57
- error: string;
58
- fullError: MessageCommandOptionErrors;
59
- }[];
60
- options: APIApplicationCommandInteractionDataOption[];
61
- }>;
62
53
  };
63
54
  handlePayload?: ShardManagerOptions['handlePayload'];
55
+ resharding?: {
56
+ interval: number;
57
+ percentage: number;
58
+ };
64
59
  }