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,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Roles = 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 Roles extends guild_related_1.GuildRelatedResource {
8
8
  namespace = 'role';
9
9
  //@ts-expect-error
@@ -11,13 +11,22 @@ class Roles 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(rawRole => rawRole ? new structures_1.GuildRole(this.client, rawRole, rawRole.guild_id) : undefined);
14
+ return (0, common_1.fakePromise)(super.get(id)).then(rawRole => rawRole ? transformers_1.Transformers.GuildRole(this.client, rawRole, rawRole.guild_id) : 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(roles => roles.map(rawRole => new structures_1.GuildRole(this.client, rawRole, rawRole.guild_id)));
20
+ return (0, common_1.fakePromise)(super.bulk(ids)).then(roles => roles.map(rawRole => transformers_1.Transformers.GuildRole(this.client, rawRole, rawRole.guild_id)));
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(roles => roles.map(rawRole => new structures_1.GuildRole(this.client, rawRole, rawRole.guild_id)));
26
+ return (0, common_1.fakePromise)(super.values(guild)).then(roles => roles.map(rawRole => transformers_1.Transformers.GuildRole(this.client, rawRole, rawRole.guild_id)));
27
+ }
28
+ valuesRaw(guild) {
29
+ return super.values(guild);
21
30
  }
22
31
  }
23
32
  exports.Roles = Roles;
@@ -1,6 +1,6 @@
1
- import type { APIStageInstance } from 'discord-api-types/v10';
1
+ import type { APIStageInstance } from '../../types';
2
2
  import { GuildRelatedResource } from './default/guild-related';
3
- export declare class StageInstances extends GuildRelatedResource<APIStageInstance> {
3
+ export declare class StageInstances extends GuildRelatedResource<APIStageInstance, APIStageInstance> {
4
4
  namespace: string;
5
5
  filter(data: APIStageInstance, id: string, guild_id?: string): boolean;
6
6
  }
@@ -1,11 +1,14 @@
1
- import type { APISticker } from 'discord-api-types/v10';
1
+ import type { APISticker } from '../../types';
2
2
  import type { ReturnCache } from '../..';
3
- import { Sticker } from '../../structures';
4
3
  import { GuildRelatedResource } from './default/guild-related';
5
- export declare class Stickers extends GuildRelatedResource {
4
+ import { type StickerStructure } from '../../client/transformers';
5
+ export declare class Stickers extends GuildRelatedResource<any, APISticker> {
6
6
  namespace: string;
7
7
  filter(data: APISticker, id: string, guild_id?: string): boolean;
8
- get(id: string): ReturnCache<Sticker | undefined>;
9
- bulk(ids: string[]): ReturnCache<Sticker[]>;
10
- values(guild: string): ReturnCache<Sticker[]>;
8
+ get(id: string): ReturnCache<StickerStructure | undefined>;
9
+ raw(id: string): ReturnCache<APISticker | undefined>;
10
+ bulk(ids: string[]): ReturnCache<StickerStructure[]>;
11
+ bulkRaw(ids: string[]): ReturnCache<APISticker[]>;
12
+ values(guild: string): ReturnCache<StickerStructure[]>;
13
+ valuesRaw(guild: string): ReturnCache<APISticker[]>;
11
14
  }
@@ -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,19 +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, 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 { 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, MessageCommandInteraction, ModalSubmitInteraction, UserCommandInteraction } from '../structures';
13
13
  import type { ComponentCommand, ModalCommand } from '../components';
14
+ import { BanShorter } from '../common/shorters/bans';
15
+ import { HandleCommand } from '../commands/handle';
16
+ import type { MessageStructure } from './transformers';
14
17
  export declare class BaseClient {
15
18
  rest: ApiHandler;
16
19
  cache: Cache;
20
+ applications: ApplicationShorter;
17
21
  users: UsersShorter;
18
22
  channels: ChannelShorter;
19
23
  guilds: GuildShorter;
@@ -25,12 +29,14 @@ export declare class BaseClient {
25
29
  reactions: ReactionShorter;
26
30
  emojis: EmojiShorter;
27
31
  threads: ThreadShorter;
32
+ bans: BanShorter;
28
33
  interactions: InteractionShorter;
29
34
  debugger?: Logger;
30
35
  logger: Logger;
31
36
  langs?: LangsHandler | undefined;
32
37
  commands?: CommandHandler | undefined;
33
38
  components?: ComponentHandler | undefined;
39
+ handleCommand: HandleCommand;
34
40
  private _applicationId?;
35
41
  private _botId?;
36
42
  middlewares?: Record<string, MiddlewareContext>;
@@ -43,21 +49,25 @@ export declare class BaseClient {
43
49
  set applicationId(id: string);
44
50
  get applicationId(): string;
45
51
  get proxy(): import("../api").APIRoutes;
46
- setServices({ rest, cache, langs, middlewares, handlers }: ServicesOptions): void;
52
+ setServices({ rest, cache, langs, middlewares, handlers, handleCommand }: ServicesOptions): void;
47
53
  protected execute(..._options: unknown[]): Promise<void>;
48
54
  start(options?: Pick<DeepPartial<StartOptions>, 'langsDir' | 'commandsDir' | 'connection' | 'token' | 'componentsDir'>): Promise<void>;
49
- protected onPacket(..._packet: unknown[]): Promise<void>;
50
- shouldUploadCommands(cachePath: string): Promise<boolean>;
51
- 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>;
52
62
  loadCommands(dir?: string): Promise<void>;
53
63
  loadComponents(dir?: string): Promise<void>;
54
64
  loadLangs(dir?: string): Promise<void>;
55
65
  t(locale: string): import("..").__InternalParseLocale<import("../commands").DefaultLocale> & {
56
- get(locale?: string | undefined): import("../commands").DefaultLocale;
66
+ get(locale?: string): import("../commands").DefaultLocale;
57
67
  };
58
68
  getRC<T extends InternalRuntimeConfigHTTP | InternalRuntimeConfig = InternalRuntimeConfigHTTP | InternalRuntimeConfig>(): Promise<{
59
69
  debug: boolean;
60
- } & Omit<T, "locations" | "debug"> & {
70
+ } & Omit<T, "debug" | "locations"> & {
61
71
  templates: string | undefined;
62
72
  langs: string | undefined;
63
73
  events: string | undefined;
@@ -68,17 +78,18 @@ export declare class BaseClient {
68
78
  }>;
69
79
  }
70
80
  export interface BaseClientOptions {
71
- 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 | When<InferWithPrefix, MessageStructure, never>) => {};
72
82
  globalMiddlewares?: readonly (keyof RegisteredMiddlewares)[];
73
83
  commands?: {
74
84
  defaults?: {
75
- onRunError?: Command['onRunError'];
85
+ onRunError?: (context: MenuCommandContext<any, never> | CommandContext, error: unknown) => unknown;
76
86
  onPermissionsFail?: Command['onPermissionsFail'];
77
- onBotPermissionsFail?: Command['onBotPermissionsFail'];
78
- onInternalError?: Command['onInternalError'];
79
- 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;
80
90
  onOptionsError?: Command['onOptionsError'];
81
- onAfterRun?: Command['onAfterRun'];
91
+ onAfterRun?: (context: CommandContext | MenuCommandContext<any, never>, error: unknown) => unknown;
92
+ props?: ExtraProps;
82
93
  };
83
94
  };
84
95
  components?: {
@@ -100,6 +111,7 @@ export interface BaseClientOptions {
100
111
  allowedMentions?: Omit<NonNullable<RESTPostAPIChannelMessageJSONBody['allowed_mentions']>, 'parse'> & {
101
112
  parse?: ('everyone' | 'roles' | 'users')[];
102
113
  };
114
+ getRC?(): Awaitable<InternalRuntimeConfig | InternalRuntimeConfigHTTP>;
103
115
  }
104
116
  export interface StartOptions {
105
117
  eventsDir: string;
@@ -112,7 +124,6 @@ export interface StartOptions {
112
124
  httpConnection: {
113
125
  publicKey: string;
114
126
  port: number;
115
- useUWS: boolean;
116
127
  };
117
128
  token: string;
118
129
  }
@@ -158,8 +169,9 @@ export interface ServicesOptions {
158
169
  middlewares?: Record<string, MiddlewareContext>;
159
170
  handlers?: {
160
171
  components?: ComponentHandler | ComponentHandler['callback'];
161
- commands?: CommandHandler | Parameters<CommandHandler['setHandlers']>[0];
162
- langs?: LangsHandler | LangsHandler['callback'];
172
+ commands?: CommandHandler;
173
+ langs?: LangsHandler;
163
174
  };
175
+ handleCommand?: typeof HandleCommand;
164
176
  }
165
177
  export {};
@@ -10,9 +10,12 @@ const common_1 = require("../common");
10
10
  const handler_2 = require("../components/handler");
11
11
  const handler_3 = require("../langs/handler");
12
12
  const node_fs_1 = require("node:fs");
13
+ const bans_1 = require("../common/shorters/bans");
14
+ const handle_1 = require("../commands/handle");
13
15
  class BaseClient {
14
16
  rest;
15
17
  cache;
18
+ applications = new common_1.ApplicationShorter(this);
16
19
  users = new common_1.UsersShorter(this);
17
20
  channels = new common_1.ChannelShorter(this);
18
21
  guilds = new common_1.GuildShorter(this);
@@ -24,6 +27,7 @@ class BaseClient {
24
27
  reactions = new common_1.ReactionShorter(this);
25
28
  emojis = new common_1.EmojiShorter(this);
26
29
  threads = new common_1.ThreadShorter(this);
30
+ bans = new bans_1.BanShorter(this);
27
31
  interactions = new common_1.InteractionShorter(this);
28
32
  debugger;
29
33
  logger = new common_1.Logger({
@@ -32,6 +36,7 @@ class BaseClient {
32
36
  langs = new handler_3.LangsHandler(this.logger);
33
37
  commands = new handler_1.CommandHandler(this.logger, this);
34
38
  components = new handler_2.ComponentHandler(this.logger, this);
39
+ handleCommand;
35
40
  _applicationId;
36
41
  _botId;
37
42
  middlewares;
@@ -45,7 +50,7 @@ class BaseClient {
45
50
  }
46
51
  options;
47
52
  /**@internal */
48
- static _seyferHttpConfig;
53
+ static _seyfertCfWorkerConfig;
49
54
  constructor(options) {
50
55
  this.options = (0, common_1.MergeOptions)({
51
56
  commands: {
@@ -113,7 +118,7 @@ class BaseClient {
113
118
  get proxy() {
114
119
  return new api_1.Router(this.rest).createProxy();
115
120
  }
116
- setServices({ rest, cache, langs, middlewares, handlers }) {
121
+ setServices({ rest, cache, langs, middlewares, handlers, handleCommand }) {
117
122
  if (rest) {
118
123
  this.rest = rest;
119
124
  }
@@ -130,7 +135,6 @@ class BaseClient {
130
135
  }
131
136
  else if (typeof handlers.components === 'function') {
132
137
  this.components ??= new handler_2.ComponentHandler(this.logger, this);
133
- this.components.setHandlers({ callback: handlers.components });
134
138
  }
135
139
  else {
136
140
  this.components = handlers.components;
@@ -142,7 +146,6 @@ class BaseClient {
142
146
  }
143
147
  else if (typeof handlers.commands === 'object') {
144
148
  this.commands ??= new handler_1.CommandHandler(this.logger, this);
145
- this.commands.setHandlers(handlers.commands);
146
149
  }
147
150
  else {
148
151
  this.commands = handlers.commands;
@@ -154,7 +157,6 @@ class BaseClient {
154
157
  }
155
158
  else if (typeof handlers.langs === 'function') {
156
159
  this.langs ??= new handler_3.LangsHandler(this.logger);
157
- this.langs.setHandlers({ callback: handlers.langs });
158
160
  }
159
161
  else {
160
162
  this.langs = handlers.langs;
@@ -167,6 +169,8 @@ class BaseClient {
167
169
  if (langs.aliases)
168
170
  this.langs.aliases = Object.entries(langs.aliases);
169
171
  }
172
+ if (handleCommand)
173
+ this.handleCommand = new handleCommand(this);
170
174
  }
171
175
  async execute(..._options) {
172
176
  if ((await this.getRC()).debug) {
@@ -186,7 +190,7 @@ class BaseClient {
186
190
  await this.loadLangs(options.langsDir);
187
191
  await this.loadCommands(options.commandsDir);
188
192
  await this.loadComponents(options.componentsDir);
189
- const { token: tokenRC } = await this.getRC();
193
+ const { token: tokenRC, debug } = await this.getRC();
190
194
  const token = options?.token ?? tokenRC;
191
195
  if (!this.rest) {
192
196
  BaseClient.assertString(token, 'token is not a string');
@@ -194,50 +198,67 @@ class BaseClient {
194
198
  token,
195
199
  baseUrl: 'api/v10',
196
200
  domain: 'https://discord.com',
197
- debug: (await this.getRC()).debug,
201
+ debug,
198
202
  });
199
203
  }
200
- if (!this.cache) {
201
- this.cache = new cache_1.Cache(0, new cache_1.MemoryAdapter(), [], this);
204
+ if (this.cache) {
205
+ this.cache.__setClient(this);
202
206
  }
203
207
  else {
204
- this.cache.__setClient(this);
208
+ this.cache = new cache_1.Cache(0, new cache_1.MemoryAdapter(), {}, this);
205
209
  }
210
+ if (!this.handleCommand)
211
+ this.handleCommand = new handle_1.HandleCommand(this);
212
+ // The reason of this method is so for adapters that need to connect somewhere, have time to connect.
213
+ // Or maybe clear cache?
214
+ await this.cache.adapter.start();
206
215
  }
207
216
  async onPacket(..._packet) {
208
217
  throw new Error('Function not implemented');
209
218
  }
210
- shouldUploadCommands(cachePath) {
211
- return this.commands.shouldUpload(cachePath).then(async (should) => {
212
- if (should)
213
- await node_fs_1.promises.writeFile(cachePath, JSON.stringify(this.commands.values.map(x => x.toJSON())));
219
+ shouldUploadCommands(cachePath, guildId) {
220
+ return this.commands.shouldUpload(cachePath, guildId).then(should => {
221
+ this.logger.debug(should
222
+ ? `[${guildId ?? 'global'}] Change(s) detected, uploading commands`
223
+ : `[${guildId ?? 'global'}] commands seems to be up to date`);
214
224
  return should;
215
225
  });
216
226
  }
217
- async uploadCommands(applicationId) {
227
+ syncCachePath(cachePath) {
228
+ this.logger.debug('Syncing commands cache');
229
+ 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())));
230
+ }
231
+ async uploadCommands({ applicationId, cachePath } = {}) {
218
232
  applicationId ??= await this.getRC().then(x => x.applicationId ?? this.applicationId);
219
233
  BaseClient.assertString(applicationId, 'applicationId is not a string');
220
234
  const commands = this.commands.values;
221
235
  const filter = (0, common_1.filterSplit)(commands, command => !command.guildId);
222
- await this.proxy.applications(applicationId).commands.put({
223
- body: filter.expect.filter(cmd => !('ignore' in cmd) || cmd.ignore !== shared_1.IgnoreCommand.Slash).map(x => x.toJSON()),
224
- });
236
+ if (!cachePath || (await this.shouldUploadCommands(cachePath)))
237
+ await this.proxy.applications(applicationId).commands.put({
238
+ body: filter.expect
239
+ .filter(cmd => !('ignore' in cmd) || cmd.ignore !== shared_1.IgnoreCommand.Slash)
240
+ .map(x => x.toJSON()),
241
+ });
225
242
  const guilds = new Set();
226
243
  for (const command of filter.never) {
227
244
  for (const guild_id of command.guildId) {
228
245
  guilds.add(guild_id);
229
246
  }
230
247
  }
231
- for (const guild of guilds) {
232
- await this.proxy
233
- .applications(applicationId)
234
- .guilds(guild)
235
- .commands.put({
236
- body: filter.never
237
- .filter(cmd => cmd.guildId?.includes(guild) && (!('ignore' in cmd) || cmd.ignore !== shared_1.IgnoreCommand.Slash))
238
- .map(x => x.toJSON()),
239
- });
248
+ for (const guildId of guilds) {
249
+ if (!cachePath || (await this.shouldUploadCommands(cachePath, guildId))) {
250
+ await this.proxy
251
+ .applications(applicationId)
252
+ .guilds(guildId)
253
+ .commands.put({
254
+ body: filter.never
255
+ .filter(cmd => cmd.guildId?.includes(guildId) && (!('ignore' in cmd) || cmd.ignore !== shared_1.IgnoreCommand.Slash))
256
+ .map(x => x.toJSON()),
257
+ });
258
+ }
240
259
  }
260
+ if (cachePath)
261
+ await this.syncCachePath(cachePath);
241
262
  }
242
263
  async loadCommands(dir) {
243
264
  dir ??= await this.getRC().then(x => x.commands);
@@ -264,8 +285,9 @@ class BaseClient {
264
285
  return this.langs.get(locale);
265
286
  }
266
287
  async getRC() {
267
- const seyfertConfig = (BaseClient._seyferHttpConfig ||
268
- (await (0, common_1.magicImport)((0, node_path_1.join)(process.cwd(), 'seyfert.config.js')).then(x => x.default ?? x)));
288
+ const seyfertConfig = (BaseClient._seyfertCfWorkerConfig ||
289
+ (await this.options?.getRC?.()) ||
290
+ (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)))));
269
291
  const { locations, debug, ...env } = seyfertConfig;
270
292
  const obj = {
271
293
  debug: !!debug,
@@ -278,7 +300,6 @@ class BaseClient {
278
300
  base: (0, node_path_1.join)(process.cwd(), locations.base),
279
301
  output: (0, node_path_1.join)(process.cwd(), locations.output),
280
302
  };
281
- BaseClient._seyferHttpConfig = seyfertConfig;
282
303
  return obj;
283
304
  }
284
305
  }