seyfert 1.5.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +18 -10
  3. package/lib/api/Router.js +2 -2
  4. package/lib/api/Routes/applications.d.ts +23 -1
  5. package/lib/api/Routes/channels.d.ts +1 -1
  6. package/lib/api/Routes/gateway.d.ts +1 -1
  7. package/lib/api/Routes/guilds.d.ts +5 -2
  8. package/lib/api/Routes/interactions.d.ts +1 -1
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/stage-instances.d.ts +1 -1
  11. package/lib/api/Routes/stickers.d.ts +2 -2
  12. package/lib/api/Routes/users.d.ts +1 -1
  13. package/lib/api/Routes/voice.d.ts +1 -1
  14. package/lib/api/Routes/webhooks.d.ts +2 -2
  15. package/lib/api/api.d.ts +2 -2
  16. package/lib/api/api.js +2 -14
  17. package/lib/api/bucket.d.ts +0 -1
  18. package/lib/api/shared.d.ts +0 -1
  19. package/lib/api/utils/constants.d.ts +2 -5
  20. package/lib/api/utils/constants.js +3 -7
  21. package/lib/api/utils/utils.d.ts +1 -2
  22. package/lib/api/utils/utils.js +2 -3
  23. package/lib/builders/ActionRow.d.ts +1 -1
  24. package/lib/builders/ActionRow.js +3 -3
  25. package/lib/builders/Attachment.d.ts +2 -3
  26. package/lib/builders/Attachment.js +12 -13
  27. package/lib/builders/Base.d.ts +2 -2
  28. package/lib/builders/Base.js +1 -1
  29. package/lib/builders/Button.d.ts +7 -7
  30. package/lib/builders/Button.js +11 -9
  31. package/lib/builders/Embed.d.ts +1 -1
  32. package/lib/builders/Modal.d.ts +1 -1
  33. package/lib/builders/Modal.js +2 -2
  34. package/lib/builders/Poll.d.ts +2 -2
  35. package/lib/builders/Poll.js +5 -6
  36. package/lib/builders/SelectMenu.d.ts +1 -1
  37. package/lib/builders/SelectMenu.js +17 -18
  38. package/lib/builders/index.d.ts +1 -1
  39. package/lib/builders/index.js +10 -11
  40. package/lib/cache/adapters/default.d.ts +16 -9
  41. package/lib/cache/adapters/default.js +42 -31
  42. package/lib/cache/adapters/index.d.ts +0 -1
  43. package/lib/cache/adapters/index.js +0 -1
  44. package/lib/cache/adapters/limited.d.ts +17 -12
  45. package/lib/cache/adapters/limited.js +80 -36
  46. package/lib/cache/adapters/types.d.ts +6 -7
  47. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  48. package/lib/cache/adapters/workeradapter.js +13 -0
  49. package/lib/cache/index.d.ts +18 -9
  50. package/lib/cache/index.js +319 -21
  51. package/lib/cache/resources/bans.d.ts +9 -6
  52. package/lib/cache/resources/bans.js +13 -4
  53. package/lib/cache/resources/channels.d.ts +6 -4
  54. package/lib/cache/resources/channels.js +13 -7
  55. package/lib/cache/resources/default/base.d.ts +7 -7
  56. package/lib/cache/resources/default/base.js +2 -2
  57. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  58. package/lib/cache/resources/default/guild-based.js +6 -6
  59. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  60. package/lib/cache/resources/default/guild-related.js +10 -8
  61. package/lib/cache/resources/emojis.d.ts +15 -6
  62. package/lib/cache/resources/emojis.js +13 -4
  63. package/lib/cache/resources/guilds.d.ts +9 -6
  64. package/lib/cache/resources/guilds.js +27 -6
  65. package/lib/cache/resources/members.d.ts +9 -6
  66. package/lib/cache/resources/members.js +22 -6
  67. package/lib/cache/resources/messages.d.ts +11 -7
  68. package/lib/cache/resources/messages.js +19 -7
  69. package/lib/cache/resources/overwrites.d.ts +11 -2
  70. package/lib/cache/resources/overwrites.js +9 -0
  71. package/lib/cache/resources/presence.d.ts +3 -2
  72. package/lib/cache/resources/roles.d.ts +9 -6
  73. package/lib/cache/resources/roles.js +13 -4
  74. package/lib/cache/resources/stage-instances.d.ts +2 -2
  75. package/lib/cache/resources/stickers.d.ts +9 -6
  76. package/lib/cache/resources/stickers.js +13 -4
  77. package/lib/cache/resources/threads.d.ts +9 -6
  78. package/lib/cache/resources/threads.js +13 -4
  79. package/lib/cache/resources/users.d.ts +9 -6
  80. package/lib/cache/resources/users.js +13 -4
  81. package/lib/cache/resources/voice-states.d.ts +11 -8
  82. package/lib/cache/resources/voice-states.js +15 -4
  83. package/lib/client/base.d.ts +28 -20
  84. package/lib/client/base.js +58 -56
  85. package/lib/client/client.d.ts +7 -16
  86. package/lib/client/client.js +29 -31
  87. package/lib/client/collectors.d.ts +10 -10
  88. package/lib/client/collectors.js +26 -1
  89. package/lib/client/httpclient.d.ts +8 -13
  90. package/lib/client/httpclient.js +27 -218
  91. package/lib/client/index.d.ts +1 -0
  92. package/lib/client/index.js +1 -0
  93. package/lib/client/transformers.d.ts +68 -0
  94. package/lib/client/transformers.js +99 -0
  95. package/lib/client/types.d.ts +5 -0
  96. package/lib/client/types.js +2 -0
  97. package/lib/client/workerclient.d.ts +14 -14
  98. package/lib/client/workerclient.js +112 -66
  99. package/lib/commands/applications/chat.d.ts +35 -34
  100. package/lib/commands/applications/chat.js +5 -9
  101. package/lib/commands/applications/chatcontext.d.ts +17 -17
  102. package/lib/commands/applications/chatcontext.js +5 -5
  103. package/lib/commands/applications/menu.d.ts +2 -3
  104. package/lib/commands/applications/menu.js +2 -5
  105. package/lib/commands/applications/menucontext.d.ts +14 -13
  106. package/lib/commands/applications/menucontext.js +9 -9
  107. package/lib/commands/applications/options.d.ts +1 -1
  108. package/lib/commands/applications/options.js +20 -21
  109. package/lib/commands/applications/shared.d.ts +3 -1
  110. package/lib/commands/decorators.d.ts +38 -20
  111. package/lib/commands/decorators.js +17 -18
  112. package/lib/commands/handle.d.ts +64 -0
  113. package/lib/commands/handle.js +685 -0
  114. package/lib/commands/handler.d.ts +27 -18
  115. package/lib/commands/handler.js +290 -164
  116. package/lib/commands/optionresolver.d.ts +13 -13
  117. package/lib/commands/optionresolver.js +23 -28
  118. package/lib/common/bot/watcher.d.ts +4 -33
  119. package/lib/common/bot/watcher.js +0 -109
  120. package/lib/common/index.d.ts +1 -0
  121. package/lib/common/index.js +1 -0
  122. package/lib/common/it/colors.js +48 -49
  123. package/lib/common/it/formatter.d.ts +32 -0
  124. package/lib/common/it/formatter.js +42 -0
  125. package/lib/common/it/logger.d.ts +0 -1
  126. package/lib/common/it/logger.js +3 -3
  127. package/lib/common/it/utils.d.ts +15 -2
  128. package/lib/common/it/utils.js +78 -17
  129. package/lib/common/shorters/application.d.ts +56 -0
  130. package/lib/common/shorters/application.js +81 -0
  131. package/lib/common/shorters/bans.d.ts +4 -5
  132. package/lib/common/shorters/bans.js +3 -3
  133. package/lib/common/shorters/channels.d.ts +7 -6
  134. package/lib/common/shorters/channels.js +19 -15
  135. package/lib/common/shorters/emojis.d.ts +5 -6
  136. package/lib/common/shorters/emojis.js +5 -5
  137. package/lib/common/shorters/guilds.d.ts +18 -16
  138. package/lib/common/shorters/guilds.js +31 -26
  139. package/lib/common/shorters/interaction.d.ts +6 -6
  140. package/lib/common/shorters/interaction.js +3 -2
  141. package/lib/common/shorters/members.d.ts +29 -12
  142. package/lib/common/shorters/members.js +55 -16
  143. package/lib/common/shorters/messages.d.ts +7 -8
  144. package/lib/common/shorters/messages.js +8 -7
  145. package/lib/common/shorters/reactions.d.ts +3 -3
  146. package/lib/common/shorters/reactions.js +11 -11
  147. package/lib/common/shorters/roles.d.ts +9 -7
  148. package/lib/common/shorters/roles.js +26 -7
  149. package/lib/common/shorters/templates.d.ts +7 -8
  150. package/lib/common/shorters/templates.js +7 -7
  151. package/lib/common/shorters/threads.d.ts +6 -7
  152. package/lib/common/shorters/threads.js +6 -9
  153. package/lib/common/shorters/users.d.ts +4 -4
  154. package/lib/common/shorters/users.js +8 -4
  155. package/lib/common/shorters/webhook.d.ts +10 -10
  156. package/lib/common/shorters/webhook.js +10 -9
  157. package/lib/common/types/resolvables.d.ts +2 -2
  158. package/lib/common/types/util.d.ts +3 -1
  159. package/lib/common/types/write.d.ts +1 -1
  160. package/lib/components/ActionRow.d.ts +1 -1
  161. package/lib/components/BaseComponent.d.ts +1 -1
  162. package/lib/components/BaseComponent.js +1 -1
  163. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  164. package/lib/components/ButtonComponent.d.ts +17 -7
  165. package/lib/components/ButtonComponent.js +19 -2
  166. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  167. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  168. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  169. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  170. package/lib/components/TextInputComponent.d.ts +2 -2
  171. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  172. package/lib/components/componentcommand.js +2 -2
  173. package/lib/components/componentcontext.d.ts +10 -9
  174. package/lib/components/componentcontext.js +8 -8
  175. package/lib/components/handler.d.ts +15 -14
  176. package/lib/components/handler.js +89 -93
  177. package/lib/components/index.d.ts +3 -3
  178. package/lib/components/index.js +12 -10
  179. package/lib/components/modalcontext.d.ts +12 -11
  180. package/lib/components/modalcontext.js +2 -2
  181. package/lib/deps/mixer.d.ts +8 -0
  182. package/lib/deps/mixer.js +66 -0
  183. package/lib/events/handler.d.ts +35 -13
  184. package/lib/events/handler.js +58 -25
  185. package/lib/events/hooks/application_command.d.ts +2 -2
  186. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  187. package/lib/events/hooks/auto_moderation.js +4 -4
  188. package/lib/events/hooks/channel.d.ts +2 -2
  189. package/lib/events/hooks/channel.js +4 -7
  190. package/lib/events/hooks/custom.d.ts +3 -3
  191. package/lib/events/hooks/dispatch.d.ts +3 -4
  192. package/lib/events/hooks/dispatch.js +2 -2
  193. package/lib/events/hooks/entitlement.d.ts +5 -37
  194. package/lib/events/hooks/entitlement.js +7 -7
  195. package/lib/events/hooks/guild.d.ts +125 -125
  196. package/lib/events/hooks/guild.js +13 -15
  197. package/lib/events/hooks/integration.d.ts +27 -28
  198. package/lib/events/hooks/integration.js +3 -3
  199. package/lib/events/hooks/interactions.d.ts +2 -2
  200. package/lib/events/hooks/invite.d.ts +18 -17
  201. package/lib/events/hooks/message.d.ts +69 -54
  202. package/lib/events/hooks/message.js +4 -8
  203. package/lib/events/hooks/presence.d.ts +17 -16
  204. package/lib/events/hooks/stage.d.ts +4 -4
  205. package/lib/events/hooks/thread.d.ts +132 -63
  206. package/lib/events/hooks/thread.js +4 -4
  207. package/lib/events/hooks/typing.d.ts +28 -6
  208. package/lib/events/hooks/typing.js +2 -2
  209. package/lib/events/hooks/user.d.ts +3 -3
  210. package/lib/events/hooks/user.js +2 -2
  211. package/lib/events/hooks/voice.d.ts +28 -3
  212. package/lib/events/hooks/voice.js +8 -4
  213. package/lib/events/hooks/webhook.d.ts +1 -1
  214. package/lib/index.d.ts +5 -14
  215. package/lib/index.js +7 -12
  216. package/lib/langs/handler.d.ts +14 -10
  217. package/lib/langs/handler.js +40 -9
  218. package/lib/structures/AutoModerationRule.d.ts +4 -4
  219. package/lib/structures/AutoModerationRule.js +1 -2
  220. package/lib/structures/ClientUser.d.ts +1 -1
  221. package/lib/structures/Entitlement.d.ts +10 -0
  222. package/lib/structures/Entitlement.js +16 -0
  223. package/lib/structures/Guild.d.ts +33 -34
  224. package/lib/structures/Guild.js +5 -2
  225. package/lib/structures/GuildBan.d.ts +6 -6
  226. package/lib/structures/GuildBan.js +2 -1
  227. package/lib/structures/GuildEmoji.d.ts +4 -4
  228. package/lib/structures/GuildEmoji.js +3 -2
  229. package/lib/structures/GuildMember.d.ts +20 -17
  230. package/lib/structures/GuildMember.js +18 -8
  231. package/lib/structures/GuildPreview.d.ts +1 -1
  232. package/lib/structures/GuildRole.d.ts +5 -3
  233. package/lib/structures/GuildRole.js +8 -1
  234. package/lib/structures/GuildTemplate.d.ts +2 -2
  235. package/lib/structures/GuildTemplate.js +1 -1
  236. package/lib/structures/Interaction.d.ts +53 -36
  237. package/lib/structures/Interaction.js +127 -91
  238. package/lib/structures/Message.d.ts +29 -30
  239. package/lib/structures/Message.js +8 -9
  240. package/lib/structures/Poll.d.ts +4 -3
  241. package/lib/structures/Poll.js +6 -2
  242. package/lib/structures/Sticker.d.ts +7 -7
  243. package/lib/structures/Sticker.js +7 -7
  244. package/lib/structures/User.d.ts +5 -4
  245. package/lib/structures/User.js +2 -1
  246. package/lib/structures/VoiceState.d.ts +15 -11
  247. package/lib/structures/VoiceState.js +35 -17
  248. package/lib/structures/Webhook.d.ts +6 -7
  249. package/lib/structures/Webhook.js +6 -7
  250. package/lib/structures/channels.d.ts +11 -10
  251. package/lib/structures/channels.js +70 -65
  252. package/lib/structures/extra/BaseGuild.d.ts +1 -1
  253. package/lib/structures/extra/BaseGuild.js +3 -3
  254. package/lib/structures/extra/BitField.d.ts +1 -1
  255. package/lib/structures/extra/BitField.js +3 -2
  256. package/lib/structures/extra/DiscordBase.js +2 -2
  257. package/lib/structures/extra/Permissions.d.ts +3 -1
  258. package/lib/structures/extra/Permissions.js +8 -3
  259. package/lib/types/gateway.d.ts +1537 -0
  260. package/lib/types/gateway.js +4 -0
  261. package/lib/types/index.d.ts +9 -1
  262. package/lib/types/index.js +28 -1
  263. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  264. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  265. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  266. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  267. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  268. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  269. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  270. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  271. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  272. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  273. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  297. package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
  298. package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
  299. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  300. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  301. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  302. package/lib/types/payloads/_interactions/base.js +2 -0
  303. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  304. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  305. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  306. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  307. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  308. package/lib/types/payloads/_interactions/ping.js +2 -0
  309. package/lib/types/payloads/_interactions/responses.d.ts +112 -0
  310. package/lib/types/payloads/_interactions/responses.js +54 -0
  311. package/lib/types/payloads/application.d.ts +292 -0
  312. package/lib/types/payloads/application.js +117 -0
  313. package/lib/types/payloads/auditLog.d.ts +644 -0
  314. package/lib/types/payloads/auditLog.js +80 -0
  315. package/lib/types/payloads/autoModeration.d.ts +219 -0
  316. package/lib/types/payloads/autoModeration.js +87 -0
  317. package/lib/types/payloads/channel.d.ts +1708 -0
  318. package/lib/types/payloads/channel.js +372 -0
  319. package/lib/types/payloads/emoji.d.ts +48 -0
  320. package/lib/types/payloads/emoji.js +5 -0
  321. package/lib/types/payloads/gateway.d.ts +373 -0
  322. package/lib/types/payloads/gateway.js +82 -0
  323. package/lib/types/payloads/guild.d.ts +1060 -0
  324. package/lib/types/payloads/guild.js +324 -0
  325. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  326. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  327. package/lib/types/payloads/index.d.ts +64 -0
  328. package/lib/types/payloads/index.js +37 -0
  329. package/lib/types/payloads/interactions.d.ts +24 -0
  330. package/lib/types/payloads/interactions.js +23 -0
  331. package/lib/types/payloads/invite.d.ts +121 -0
  332. package/lib/types/payloads/invite.js +23 -0
  333. package/lib/types/payloads/monetization.d.ts +150 -0
  334. package/lib/types/payloads/monetization.js +79 -0
  335. package/lib/types/payloads/oauth2.d.ts +131 -0
  336. package/lib/types/payloads/oauth2.js +135 -0
  337. package/lib/types/payloads/permissions.d.ts +97 -0
  338. package/lib/types/payloads/permissions.js +16 -0
  339. package/lib/types/payloads/poll.d.ts +104 -0
  340. package/lib/types/payloads/poll.js +16 -0
  341. package/lib/types/payloads/stageInstance.d.ts +77 -0
  342. package/lib/types/payloads/stageInstance.js +19 -0
  343. package/lib/types/payloads/sticker.d.ts +123 -0
  344. package/lib/types/payloads/sticker.js +30 -0
  345. package/lib/types/payloads/teams.d.ts +78 -0
  346. package/lib/types/payloads/teams.js +23 -0
  347. package/lib/types/payloads/template.d.ts +62 -0
  348. package/lib/types/payloads/template.js +5 -0
  349. package/lib/types/payloads/user.d.ts +337 -0
  350. package/lib/types/payloads/user.js +167 -0
  351. package/lib/types/payloads/voice.d.ts +89 -0
  352. package/lib/types/payloads/voice.js +5 -0
  353. package/lib/types/payloads/webhook.d.ts +76 -0
  354. package/lib/types/payloads/webhook.js +21 -0
  355. package/lib/types/rest/application.d.ts +57 -0
  356. package/lib/types/rest/application.js +2 -0
  357. package/lib/types/rest/auditLog.d.ts +30 -0
  358. package/lib/types/rest/auditLog.js +2 -0
  359. package/lib/types/rest/autoModeration.d.ts +66 -0
  360. package/lib/types/rest/autoModeration.js +2 -0
  361. package/lib/types/rest/channel.d.ts +712 -0
  362. package/lib/types/rest/channel.js +11 -0
  363. package/lib/types/rest/emoji.d.ts +54 -0
  364. package/lib/types/rest/emoji.js +2 -0
  365. package/lib/types/rest/gateway.d.ts +9 -0
  366. package/lib/types/rest/gateway.js +2 -0
  367. package/lib/types/rest/guild.d.ts +865 -0
  368. package/lib/types/rest/guild.js +2 -0
  369. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  370. package/lib/types/rest/guildScheduledEvent.js +2 -0
  371. package/lib/types/rest/index.d.ts +296 -0
  372. package/lib/types/rest/index.js +292 -0
  373. package/lib/types/rest/interactions.d.ts +194 -0
  374. package/lib/types/rest/interactions.js +2 -0
  375. package/lib/types/rest/invite.d.ts +24 -0
  376. package/lib/types/rest/invite.js +2 -0
  377. package/lib/types/rest/monetization.d.ts +82 -0
  378. package/lib/types/rest/monetization.js +11 -0
  379. package/lib/types/rest/oauth2.d.ts +172 -0
  380. package/lib/types/rest/oauth2.js +2 -0
  381. package/lib/types/rest/poll.d.ts +44 -0
  382. package/lib/types/rest/poll.js +2 -0
  383. package/lib/types/rest/stageInstance.d.ts +58 -0
  384. package/lib/types/rest/stageInstance.js +2 -0
  385. package/lib/types/rest/sticker.d.ts +77 -0
  386. package/lib/types/rest/sticker.js +2 -0
  387. package/lib/types/rest/template.d.ts +62 -0
  388. package/lib/types/rest/template.js +2 -0
  389. package/lib/types/rest/user.d.ts +120 -0
  390. package/lib/types/rest/user.js +2 -0
  391. package/lib/types/rest/voice.d.ts +17 -0
  392. package/lib/types/rest/voice.js +2 -0
  393. package/lib/types/rest/webhook.d.ts +250 -0
  394. package/lib/types/rest/webhook.js +2 -0
  395. package/lib/types/utils/index.d.ts +797 -0
  396. package/lib/types/utils/index.js +799 -0
  397. package/lib/websocket/SharedTypes.d.ts +4 -3
  398. package/lib/websocket/SharedTypes.js +1 -1
  399. package/lib/websocket/constants/index.d.ts +0 -1
  400. package/lib/websocket/discord/basesocket.d.ts +7 -7
  401. package/lib/websocket/discord/basesocket.js +34 -22
  402. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  403. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  404. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  405. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  406. package/lib/websocket/discord/shard.d.ts +8 -8
  407. package/lib/websocket/discord/shard.js +59 -47
  408. package/lib/websocket/discord/sharder.d.ts +6 -5
  409. package/lib/websocket/discord/sharder.js +11 -10
  410. package/lib/websocket/discord/shared.d.ts +13 -5
  411. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  412. package/lib/websocket/discord/socket/custom.js +283 -0
  413. package/lib/websocket/discord/worker.d.ts +5 -10
  414. package/lib/websocket/discord/workermanager.d.ts +8 -15
  415. package/lib/websocket/discord/workermanager.js +35 -39
  416. package/lib/websocket/structures/index.d.ts +0 -1
  417. package/lib/websocket/structures/index.js +1 -1
  418. package/lib/websocket/structures/timeout.d.ts +0 -1
  419. package/package.json +65 -74
  420. package/lib/cache/adapters/redis.d.ts +0 -37
  421. package/lib/cache/adapters/redis.js +0 -218
  422. package/lib/client/oninteractioncreate.d.ts +0 -4
  423. package/lib/client/oninteractioncreate.js +0 -198
  424. package/lib/client/onmessagecreate.d.ts +0 -13
  425. package/lib/client/onmessagecreate.js +0 -410
  426. package/lib/structures/extra/functions.d.ts +0 -12
  427. package/lib/structures/extra/functions.js +0 -70
@@ -1,13 +1,13 @@
1
- import { type APIMessageActionRowComponent } from 'discord-api-types/v10';
1
+ import { type APIMessageActionRowComponent } from '../types';
2
2
  import { BaseComponent } from './BaseComponent';
3
- import { ButtonComponent, LinkButtonComponent } from './ButtonComponent';
3
+ import { ButtonComponent, LinkButtonComponent, SKUButtonComponent } from './ButtonComponent';
4
4
  import { ChannelSelectMenuComponent } from './ChannelSelectMenuComponent';
5
5
  import { MentionableSelectMenuComponent } from './MentionableSelectMenuComponent';
6
6
  import { RoleSelectMenuComponent } from './RoleSelectMenuComponent';
7
7
  import { StringSelectMenuComponent } from './StringSelectMenuComponent';
8
8
  import type { TextInputComponent } from './TextInputComponent';
9
9
  import { UserSelectMenuComponent } from './UserSelectMenuComponent';
10
- export type MessageComponents = ButtonComponent | LinkButtonComponent | RoleSelectMenuComponent | UserSelectMenuComponent | StringSelectMenuComponent | ChannelSelectMenuComponent | MentionableSelectMenuComponent | TextInputComponent;
10
+ export type MessageComponents = ButtonComponent | LinkButtonComponent | SKUButtonComponent | RoleSelectMenuComponent | UserSelectMenuComponent | StringSelectMenuComponent | ChannelSelectMenuComponent | MentionableSelectMenuComponent | TextInputComponent;
11
11
  export type ActionRowMessageComponents = Exclude<MessageComponents, TextInputComponent>;
12
12
  export * from './componentcommand';
13
13
  export * from './componentcontext';
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.componentFactory = void 0;
18
- const v10_1 = require("discord-api-types/v10");
17
+ exports.componentFactory = componentFactory;
18
+ const types_1 = require("../types");
19
19
  const BaseComponent_1 = require("./BaseComponent");
20
20
  const ButtonComponent_1 = require("./ButtonComponent");
21
21
  const ChannelSelectMenuComponent_1 = require("./ChannelSelectMenuComponent");
@@ -35,23 +35,25 @@ __exportStar(require("./modalcontext"), exports);
35
35
  */
36
36
  function componentFactory(component) {
37
37
  switch (component.type) {
38
- case v10_1.ComponentType.Button:
39
- if (component.style === v10_1.ButtonStyle.Link) {
38
+ case types_1.ComponentType.Button:
39
+ if (component.style === types_1.ButtonStyle.Link) {
40
40
  return new ButtonComponent_1.LinkButtonComponent(component);
41
41
  }
42
+ if (component.style === types_1.ButtonStyle.Premium) {
43
+ return new ButtonComponent_1.SKUButtonComponent(component);
44
+ }
42
45
  return new ButtonComponent_1.ButtonComponent(component);
43
- case v10_1.ComponentType.ChannelSelect:
46
+ case types_1.ComponentType.ChannelSelect:
44
47
  return new ChannelSelectMenuComponent_1.ChannelSelectMenuComponent(component);
45
- case v10_1.ComponentType.RoleSelect:
48
+ case types_1.ComponentType.RoleSelect:
46
49
  return new RoleSelectMenuComponent_1.RoleSelectMenuComponent(component);
47
- case v10_1.ComponentType.StringSelect:
50
+ case types_1.ComponentType.StringSelect:
48
51
  return new StringSelectMenuComponent_1.StringSelectMenuComponent(component);
49
- case v10_1.ComponentType.UserSelect:
52
+ case types_1.ComponentType.UserSelect:
50
53
  return new UserSelectMenuComponent_1.UserSelectMenuComponent(component);
51
- case v10_1.ComponentType.MentionableSelect:
54
+ case types_1.ComponentType.MentionableSelect:
52
55
  return new MentionableSelectMenuComponent_1.MentionableSelectMenuComponent(component);
53
56
  default:
54
57
  return new BaseComponent_1.BaseComponent(component);
55
58
  }
56
59
  }
57
- exports.componentFactory = componentFactory;
@@ -1,7 +1,8 @@
1
- import type { AllChannels, Guild, GuildMember, Message, ModalCommand, ModalSubmitInteraction, ReturnCache, WebhookMessage } from '..';
1
+ import type { AllChannels, ModalCommand, ModalSubmitInteraction, ReturnCache } from '..';
2
2
  import type { CommandMetadata, ExtendContext, GlobalMetadata, RegisteredMiddlewares, UsingClient } from '../commands';
3
3
  import { BaseContext } from '../commands/basecontext';
4
4
  import type { InteractionCreateBodyRequest, InteractionMessageUpdateBodyRequest, ModalCreateBodyRequest, UnionToTuple, When } from '../common';
5
+ import type { GuildMemberStructure, GuildStructure, MessageStructure, WebhookMessageStructure } from '../client/transformers';
5
6
  export interface ModalContext extends BaseContext, ExtendContext {
6
7
  }
7
8
  /**
@@ -23,24 +24,24 @@ export declare class ModalContext<M extends keyof RegisteredMiddlewares = never>
23
24
  get customId(): string;
24
25
  get components(): {
25
26
  components: {
26
- type: import("discord-api-types/v10").ComponentType;
27
+ type: import("../types").ComponentType;
27
28
  customId: string;
28
29
  value: string;
29
30
  }[];
30
- type: import("discord-api-types/v10").ComponentType.ActionRow;
31
+ type: import("../types").ComponentType.ActionRow;
31
32
  }[];
32
33
  /**
33
34
  * Gets the language object for the interaction's locale.
34
35
  */
35
36
  get t(): import("..").__InternalParseLocale<import("..").DefaultLocale> & {
36
- get(locale?: string | undefined): import("..").DefaultLocale;
37
+ get(locale?: string): import("..").DefaultLocale;
37
38
  };
38
39
  /**
39
40
  * Writes a response to the interaction.
40
41
  * @param body - The body of the response.
41
42
  * @param fetchReply - Whether to fetch the reply or not.
42
43
  */
43
- write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage, void>>;
44
+ write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, import("..").WebhookMessage, void>>;
44
45
  /**
45
46
  * Defers the reply to the interaction.
46
47
  * @param ephemeral - Whether the reply should be ephemeral or not.
@@ -50,13 +51,13 @@ export declare class ModalContext<M extends keyof RegisteredMiddlewares = never>
50
51
  * Edits the response of the interaction.
51
52
  * @param body - The updated body of the response.
52
53
  */
53
- editResponse(body: InteractionMessageUpdateBodyRequest): Promise<WebhookMessage>;
54
+ editResponse(body: InteractionMessageUpdateBodyRequest): Promise<import("..").WebhookMessage>;
54
55
  /**
55
56
  * Edits the response or replies to the interaction.
56
57
  * @param body - The body of the response or updated body of the interaction.
57
58
  * @param fetchReply - Whether to fetch the reply or not.
58
59
  */
59
- editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage | Message, void | WebhookMessage | Message>>;
60
+ editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessageStructure | MessageStructure, void | WebhookMessageStructure | MessageStructure>>;
60
61
  /**
61
62
  * Deletes the response of the interaction.
62
63
  * @returns A promise that resolves when the response is deleted.
@@ -75,15 +76,15 @@ export declare class ModalContext<M extends keyof RegisteredMiddlewares = never>
75
76
  * @param mode - The mode to fetch the member.
76
77
  * @returns A promise that resolves to the bot member.
77
78
  */
78
- me(mode?: 'rest' | 'flow'): Promise<GuildMember>;
79
- me(mode?: 'cache'): ReturnCache<GuildMember | undefined>;
79
+ me(mode?: 'rest' | 'flow'): Promise<GuildMemberStructure>;
80
+ me(mode?: 'cache'): ReturnCache<GuildMemberStructure | undefined>;
80
81
  /**
81
82
  * Gets the guild of the interaction.
82
83
  * @param mode - The mode to fetch the guild.
83
84
  * @returns A promise that resolves to the guild.
84
85
  */
85
- guild(mode?: 'rest' | 'flow'): Promise<Guild<'cached' | 'api'> | undefined>;
86
- guild(mode?: 'cache'): ReturnCache<Guild<'cached'> | undefined>;
86
+ guild(mode?: 'rest' | 'flow'): Promise<GuildStructure<'cached' | 'api'> | undefined>;
87
+ guild(mode?: 'cache'): ReturnCache<GuildStructure<'cached'> | undefined>;
87
88
  /**
88
89
  * Gets the ID of the guild of the interaction.
89
90
  */
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModalContext = void 0;
4
- const v10_1 = require("discord-api-types/v10");
4
+ const types_1 = require("../types");
5
5
  const basecontext_1 = require("../commands/basecontext");
6
6
  /**
7
7
  * Represents a context for interacting with components in a Discord bot.
@@ -48,7 +48,7 @@ class ModalContext extends basecontext_1.BaseContext {
48
48
  * @param ephemeral - Whether the reply should be ephemeral or not.
49
49
  */
50
50
  deferReply(ephemeral = false) {
51
- return this.interaction.deferReply(ephemeral ? v10_1.MessageFlags.Ephemeral : undefined);
51
+ return this.interaction.deferReply(ephemeral ? types_1.MessageFlags.Ephemeral : undefined);
52
52
  }
53
53
  /**
54
54
  * Edits the response of the interaction.
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Mixes a class with other classes.
3
+ * @param args The classes to mix.
4
+ * @returns The mixed class.
5
+ */
6
+ export declare function Mixin<T, C extends TypeClass[]>(...args: C): C[number] & T;
7
+ export type TypeClass<InstanceType = {}, StaticType = {}> = (abstract new (...args: any[]) => InstanceType) & StaticType;
8
+ export declare const mix: (...ingredients: TypeClass[]) => (decoratedClass: any) => any;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mix = void 0;
4
+ exports.Mixin = Mixin;
5
+ /**
6
+ * Gets the descriptors of a class.
7
+ * @param c The class to get the descriptors of.
8
+ * @returns The descriptors of the class.
9
+ */
10
+ function getDescriptors(c) {
11
+ let proto = c.prototype;
12
+ const result = [];
13
+ while (proto) {
14
+ const descriptors = Object.getOwnPropertyDescriptors(proto);
15
+ // @ts-expect-error this is not a function in all cases
16
+ if (descriptors.valueOf.configurable)
17
+ break;
18
+ result.push(descriptors);
19
+ proto = proto.__proto__;
20
+ }
21
+ return result;
22
+ }
23
+ /**
24
+ * Mixes a class with other classes.
25
+ * @param args The classes to mix.
26
+ * @returns The mixed class.
27
+ */
28
+ function Mixin(...args) {
29
+ function MixedClass(...constructorArgs) {
30
+ for (const i of args) {
31
+ const descriptors = getDescriptors(i);
32
+ for (const j of descriptors) {
33
+ // @ts-expect-error
34
+ Object.assign(this, new j.constructor.value(...constructorArgs));
35
+ for (const descriptorK in j) {
36
+ if (descriptorK === 'constructor')
37
+ continue;
38
+ if (descriptorK in MixedClass.prototype)
39
+ continue;
40
+ const descriptor = j[descriptorK];
41
+ if (descriptor.value) {
42
+ MixedClass.prototype[descriptorK] = descriptor.value;
43
+ continue;
44
+ }
45
+ if (descriptor.get || descriptor.set) {
46
+ Object.defineProperty(MixedClass.prototype, descriptorK, {
47
+ get: descriptor.get,
48
+ set: descriptor.set,
49
+ });
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ return MixedClass;
56
+ }
57
+ const mix = (...ingredients) => (decoratedClass) => {
58
+ ingredients.unshift(decoratedClass);
59
+ const mixedClass = Mixin(...ingredients);
60
+ Object.defineProperty(mixedClass, 'name', {
61
+ value: decoratedClass.name,
62
+ writable: false,
63
+ });
64
+ return mixedClass;
65
+ };
66
+ exports.mix = mix;
@@ -1,29 +1,51 @@
1
- import type { GatewayDispatchPayload } from 'discord-api-types/v10';
1
+ import type { GatewayDispatchPayload } from '../types';
2
2
  import type { Client, WorkerClient } from '../client';
3
- import { BaseHandler, type MakeRequired, type SnakeCase } from '../common';
3
+ import { BaseHandler, type CamelCase, type MakeRequired, type SnakeCase } from '../common';
4
4
  import type { ClientEvents } from '../events/hooks';
5
- import type { ClientEvent, CustomEvents, CustomEventsKeys } from './event';
5
+ import type { ClientEvent, CustomEvents, CustomEventsKeys, ClientNameEvents, EventContext } from './event';
6
+ import type { FileLoaded } from '../commands/handler';
7
+ import type { UsingClient } from '../commands';
6
8
  export type EventValue = MakeRequired<ClientEvent, '__filePath'> & {
7
9
  fired?: boolean;
8
10
  };
9
11
  export type GatewayEvents = Uppercase<SnakeCase<keyof ClientEvents>>;
12
+ export type ResolveEventParams<T extends ClientNameEvents | CustomEventsKeys | GatewayEvents> = T extends CustomEventsKeys ? [...Parameters<CustomEvents[T]>, UsingClient] : T extends GatewayEvents ? EventContext<{
13
+ data: {
14
+ name: CamelCase<T>;
15
+ };
16
+ }> : T extends ClientNameEvents ? EventContext<{
17
+ data: {
18
+ name: T;
19
+ };
20
+ }> : never;
21
+ export type ResolveEventRunParams<T extends ClientNameEvents | CustomEventsKeys | GatewayEvents> = T extends CustomEventsKeys ? Parameters<CustomEvents[T]> : T extends GatewayEvents ? EventContext<{
22
+ data: {
23
+ name: CamelCase<T>;
24
+ };
25
+ }> : T extends ClientNameEvents ? EventContext<{
26
+ data: {
27
+ name: T;
28
+ };
29
+ }> : never;
30
+ export type EventValues = {
31
+ [K in CustomEventsKeys | GatewayEvents]: Omit<EventValue, 'run'> & {
32
+ run(...args: ResolveEventRunParams<K>): any;
33
+ };
34
+ };
10
35
  export declare class EventHandler extends BaseHandler {
11
36
  protected client: Client | WorkerClient;
12
37
  constructor(client: Client | WorkerClient);
13
38
  onFail: (event: GatewayEvents | CustomEventsKeys, err: unknown) => void;
14
39
  protected filter: (path: string) => boolean;
15
- values: Partial<Record<GatewayEvents | CustomEventsKeys, EventValue>>;
16
- load(eventsDir: string, instances?: {
17
- file: ClientEvent;
18
- path: string;
19
- }[]): Promise<void>;
40
+ values: Partial<EventValues>;
41
+ discordEvents: ClientNameEvents[];
42
+ set(events: ClientEvent[]): void;
43
+ load(eventsDir: string): Promise<void>;
20
44
  execute(name: GatewayEvents, ...args: [GatewayDispatchPayload, Client<true> | WorkerClient<true>, number]): Promise<void>;
21
- runEvent(name: GatewayEvents, client: Client | WorkerClient, packet: any, shardId: number): Promise<void>;
22
- runCustom<T extends CustomEventsKeys>(name: T, ...args: Parameters<CustomEvents[T]>): Promise<void>;
45
+ runEvent(name: GatewayEvents, client: Client | WorkerClient, packet: any, shardId: number, runCache?: boolean): Promise<void>;
46
+ runCustom<T extends CustomEventsKeys>(name: T, ...args: ResolveEventRunParams<T>): Promise<void>;
23
47
  reload(name: GatewayEvents | CustomEventsKeys): Promise<any>;
24
48
  reloadAll(stopIfFail?: boolean): Promise<void>;
25
- setHandlers({ callback }: {
26
- callback: EventHandler['callback'];
27
- }): void;
49
+ onFile(file: FileLoaded<ClientEvent>): ClientEvent[] | undefined;
28
50
  callback: (file: ClientEvent) => ClientEvent | false;
29
51
  }
@@ -35,29 +35,48 @@ class EventHandler extends common_1.BaseHandler {
35
35
  onFail = (event, err) => this.logger.warn('<Client>.events.onFail', err, event);
36
36
  filter = (path) => path.endsWith('.js') || (!path.endsWith('.d.ts') && path.endsWith('.ts'));
37
37
  values = {};
38
- async load(eventsDir, instances) {
39
- const discordEvents = Object.keys(RawEvents).map(x => common_1.ReplaceRegex.camel(x.toLowerCase()));
40
- for (const i of instances ?? (await this.loadFilesK(await this.getFiles(eventsDir)))) {
41
- const instance = this.callback(i.file);
38
+ discordEvents = Object.keys(RawEvents).map(x => common_1.ReplaceRegex.camel(x.toLowerCase()));
39
+ set(events) {
40
+ for (const event of events) {
41
+ const instance = this.callback(event);
42
42
  if (!instance)
43
43
  continue;
44
44
  if (typeof instance?.run !== 'function') {
45
- this.logger.warn(i.path.split(process.cwd()).slice(1).join(process.cwd()), 'Missing run function, use `export default {...}` syntax');
45
+ this.logger.warn('Missing event run function');
46
46
  continue;
47
47
  }
48
- instance.__filePath = i.path;
49
- this.values[discordEvents.includes(instance.data.name)
48
+ this.values[this.discordEvents.includes(instance.data.name)
50
49
  ? common_1.ReplaceRegex.snake(instance.data.name).toUpperCase()
51
50
  : instance.data.name] = instance;
52
51
  }
53
52
  }
53
+ async load(eventsDir) {
54
+ const paths = await this.loadFilesK(await this.getFiles(eventsDir));
55
+ for (const { events, file } of paths.map(x => ({ events: this.onFile(x.file), file: x }))) {
56
+ if (!events)
57
+ continue;
58
+ for (const i of events) {
59
+ const instance = this.callback(i);
60
+ if (!instance)
61
+ continue;
62
+ if (typeof instance?.run !== 'function') {
63
+ this.logger.warn(file.path.split(process.cwd()).slice(1).join(process.cwd()), 'Missing run function, use `export default {...}` syntax');
64
+ continue;
65
+ }
66
+ instance.__filePath = file.path;
67
+ this.values[this.discordEvents.includes(instance.data.name)
68
+ ? common_1.ReplaceRegex.snake(instance.data.name).toUpperCase()
69
+ : instance.data.name] = instance;
70
+ }
71
+ }
72
+ }
54
73
  async execute(name, ...args) {
55
74
  switch (name) {
56
75
  case 'MESSAGE_CREATE':
57
76
  {
58
77
  const { d: data } = args[0];
59
78
  if (args[1].components?.values.has(data.interaction_metadata?.id ?? data.id)) {
60
- args[1].components.values.get(data.interaction_metadata?.id ?? data.id).messageId = data.id;
79
+ args[1].components.values.get(data.interaction_metadata.id ?? data.id).messageId = data.id;
61
80
  }
62
81
  }
63
82
  break;
@@ -85,28 +104,32 @@ class EventHandler extends common_1.BaseHandler {
85
104
  }
86
105
  await Promise.all([
87
106
  this.runEvent(args[0].t, args[1], args[0].d, args[2]),
88
- this.client.collectors.run(args[0].t, args[0].d),
107
+ this.client.collectors.run(args[0].t, args[0].d, this.client),
89
108
  ]);
90
109
  }
91
- async runEvent(name, client, packet, shardId) {
110
+ async runEvent(name, client, packet, shardId, runCache = true) {
92
111
  const Event = this.values[name];
93
112
  if (!Event) {
94
- return this.client.cache.onPacket({
95
- t: name,
96
- d: packet,
97
- });
113
+ return runCache
114
+ ? this.client.cache.onPacket?.({
115
+ t: name,
116
+ d: packet,
117
+ })
118
+ : undefined;
98
119
  }
99
120
  try {
100
121
  if (Event.data.once && Event.fired) {
101
- return this.client.cache.onPacket({
102
- t: name,
103
- d: packet,
104
- });
122
+ return runCache
123
+ ? this.client.cache.onPacket?.({
124
+ t: name,
125
+ d: packet,
126
+ })
127
+ : undefined;
105
128
  }
106
129
  Event.fired = true;
107
130
  const hook = await RawEvents[name]?.(client, packet);
108
- if (name !== 'RAW')
109
- await this.client.cache.onPacket({
131
+ if (runCache)
132
+ await this.client.cache.onPacket?.({
110
133
  t: name,
111
134
  d: packet,
112
135
  });
@@ -119,21 +142,31 @@ class EventHandler extends common_1.BaseHandler {
119
142
  async runCustom(name, ...args) {
120
143
  const Event = this.values[name];
121
144
  if (!Event) {
122
- return this.client.collectors.run(name, args);
145
+ // @ts-expect-error working with non-existent types is hard
146
+ return this.client.collectors.run(name, args, this.client);
123
147
  }
124
148
  try {
125
149
  if (Event.data.once && Event.fired) {
126
- return this.client.collectors.run(name, args);
150
+ // @ts-expect-error working with non-existent types is hard
151
+ return this.client.collectors.run(name, args, this.client);
127
152
  }
128
153
  Event.fired = true;
129
154
  this.logger.debug(`executed a custom event [${name}]`, Event.data.once ? 'once' : '');
130
- await Promise.all([Event.run(args, this.client), this.client.collectors.run(name, args)]);
155
+ await Promise.all([
156
+ // @ts-expect-error working with non-existent types is hard
157
+ Event.run(...args, this.client),
158
+ // @ts-expect-error working with non-existent types is hard
159
+ this.client.collectors.run(name, args, this.client),
160
+ ]);
131
161
  }
132
162
  catch (e) {
133
163
  await this.onFail(name, e);
134
164
  }
135
165
  }
136
166
  async reload(name) {
167
+ if ((0, common_1.isCloudfareWorker)()) {
168
+ throw new Error('Reload in cloudfare worker is not supported');
169
+ }
137
170
  const event = this.values[name];
138
171
  if (!event?.__filePath)
139
172
  return null;
@@ -155,8 +188,8 @@ class EventHandler extends common_1.BaseHandler {
155
188
  }
156
189
  }
157
190
  }
158
- setHandlers({ callback }) {
159
- this.callback = callback;
191
+ onFile(file) {
192
+ return file.default ? [file.default] : undefined;
160
193
  }
161
194
  callback = (file) => file;
162
195
  }
@@ -1,4 +1,4 @@
1
- import type { GatewayApplicationCommandPermissionsUpdateDispatchData } from 'discord-api-types/v10';
1
+ import type { GatewayApplicationCommandPermissionsUpdateDispatchData } from '../../types';
2
2
  import type { UsingClient } from '../../commands';
3
3
  export declare const APPLICATION_COMMAND_PERMISSIONS_UPDATE: (_self: UsingClient, data: GatewayApplicationCommandPermissionsUpdateDispatchData) => {
4
4
  id: string;
@@ -6,7 +6,7 @@ export declare const APPLICATION_COMMAND_PERMISSIONS_UPDATE: (_self: UsingClient
6
6
  guildId: string;
7
7
  permissions: {
8
8
  id: string;
9
- type: import("discord-api-types/v10").ApplicationCommandPermissionType;
9
+ type: import("../../types").ApplicationCommandPermissionType;
10
10
  permission: boolean;
11
11
  }[];
12
12
  };
@@ -1,10 +1,9 @@
1
- import type { GatewayAutoModerationActionExecutionDispatchData, GatewayAutoModerationRuleCreateDispatchData, GatewayAutoModerationRuleDeleteDispatchData, GatewayAutoModerationRuleUpdateDispatchData } from 'discord-api-types/v10';
2
- import { AutoModerationRule } from '../../structures';
1
+ import type { GatewayAutoModerationActionExecutionDispatchData, GatewayAutoModerationRuleCreateDispatchData, GatewayAutoModerationRuleDeleteDispatchData, GatewayAutoModerationRuleUpdateDispatchData } from '../../types';
3
2
  import type { UsingClient } from '../../commands';
4
3
  export declare const AUTO_MODERATION_ACTION_EXECUTION: (_self: UsingClient, data: GatewayAutoModerationActionExecutionDispatchData) => {
5
4
  guildId: string;
6
5
  action: {
7
- type: import("discord-api-types/v10").AutoModerationActionType;
6
+ type: import("../../types").AutoModerationActionType;
8
7
  metadata?: {
9
8
  channelId?: string | undefined;
10
9
  durationSeconds?: number | undefined;
@@ -12,7 +11,7 @@ export declare const AUTO_MODERATION_ACTION_EXECUTION: (_self: UsingClient, data
12
11
  } | undefined;
13
12
  };
14
13
  ruleId: string;
15
- ruleTriggerType: import("discord-api-types/v10").AutoModerationRuleTriggerType;
14
+ ruleTriggerType: import("../../types").AutoModerationRuleTriggerType;
16
15
  userId: string;
17
16
  channelId?: string | undefined;
18
17
  messageId?: string | undefined;
@@ -21,6 +20,6 @@ export declare const AUTO_MODERATION_ACTION_EXECUTION: (_self: UsingClient, data
21
20
  matchedKeyword: string | null;
22
21
  matchedContent: string | null;
23
22
  };
24
- export declare const AUTO_MODERATION_RULE_CREATE: (self: UsingClient, data: GatewayAutoModerationRuleCreateDispatchData) => AutoModerationRule;
25
- export declare const AUTO_MODERATION_RULE_DELETE: (self: UsingClient, data: GatewayAutoModerationRuleDeleteDispatchData) => AutoModerationRule;
26
- export declare const AUTO_MODERATION_RULE_UPDATE: (self: UsingClient, data: GatewayAutoModerationRuleUpdateDispatchData) => AutoModerationRule;
23
+ export declare const AUTO_MODERATION_RULE_CREATE: (self: UsingClient, data: GatewayAutoModerationRuleCreateDispatchData) => import("../..").AutoModerationRule;
24
+ export declare const AUTO_MODERATION_RULE_DELETE: (self: UsingClient, data: GatewayAutoModerationRuleDeleteDispatchData) => import("../..").AutoModerationRule;
25
+ export declare const AUTO_MODERATION_RULE_UPDATE: (self: UsingClient, data: GatewayAutoModerationRuleUpdateDispatchData) => import("../..").AutoModerationRule;
@@ -2,20 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AUTO_MODERATION_RULE_UPDATE = exports.AUTO_MODERATION_RULE_DELETE = exports.AUTO_MODERATION_RULE_CREATE = exports.AUTO_MODERATION_ACTION_EXECUTION = void 0;
4
4
  const common_1 = require("../../common");
5
- const structures_1 = require("../../structures");
5
+ const transformers_1 = require("../../client/transformers");
6
6
  const AUTO_MODERATION_ACTION_EXECUTION = (_self, data) => {
7
7
  return (0, common_1.toCamelCase)(data);
8
8
  };
9
9
  exports.AUTO_MODERATION_ACTION_EXECUTION = AUTO_MODERATION_ACTION_EXECUTION;
10
10
  const AUTO_MODERATION_RULE_CREATE = (self, data) => {
11
- return new structures_1.AutoModerationRule(self, data);
11
+ return transformers_1.Transformers.AutoModerationRule(self, data);
12
12
  };
13
13
  exports.AUTO_MODERATION_RULE_CREATE = AUTO_MODERATION_RULE_CREATE;
14
14
  const AUTO_MODERATION_RULE_DELETE = (self, data) => {
15
- return new structures_1.AutoModerationRule(self, data);
15
+ return transformers_1.Transformers.AutoModerationRule(self, data);
16
16
  };
17
17
  exports.AUTO_MODERATION_RULE_DELETE = AUTO_MODERATION_RULE_DELETE;
18
18
  const AUTO_MODERATION_RULE_UPDATE = (self, data) => {
19
- return new structures_1.AutoModerationRule(self, data);
19
+ return transformers_1.Transformers.AutoModerationRule(self, data);
20
20
  };
21
21
  exports.AUTO_MODERATION_RULE_UPDATE = AUTO_MODERATION_RULE_UPDATE;
@@ -1,5 +1,5 @@
1
- import type { GatewayChannelCreateDispatchData, GatewayChannelDeleteDispatchData, GatewayChannelPinsUpdateDispatchData, GatewayChannelUpdateDispatchData } from 'discord-api-types/v10';
2
- import type { AllChannels } from '../../structures';
1
+ import type { GatewayChannelCreateDispatchData, GatewayChannelDeleteDispatchData, GatewayChannelPinsUpdateDispatchData, GatewayChannelUpdateDispatchData } from '../../types';
2
+ import { type AllChannels } from '../../structures';
3
3
  import type { UsingClient } from '../../commands';
4
4
  export declare const CHANNEL_CREATE: (self: UsingClient, data: GatewayChannelCreateDispatchData) => AllChannels;
5
5
  export declare const CHANNEL_DELETE: (self: UsingClient, data: GatewayChannelDeleteDispatchData) => AllChannels;
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.CHANNEL_UPDATE = exports.CHANNEL_PINS_UPDATE = exports.CHANNEL_DELETE = exports.CHANNEL_CREATE = void 0;
7
4
  const common_1 = require("../../common");
8
- const channels_1 = __importDefault(require("../../structures/channels"));
5
+ const structures_1 = require("../../structures");
9
6
  const CHANNEL_CREATE = (self, data) => {
10
- return (0, channels_1.default)(data, self);
7
+ return (0, structures_1.channelFrom)(data, self);
11
8
  };
12
9
  exports.CHANNEL_CREATE = CHANNEL_CREATE;
13
10
  const CHANNEL_DELETE = (self, data) => {
14
- return (0, channels_1.default)(data, self);
11
+ return (0, structures_1.channelFrom)(data, self);
15
12
  };
16
13
  exports.CHANNEL_DELETE = CHANNEL_DELETE;
17
14
  const CHANNEL_PINS_UPDATE = (_self, data) => {
@@ -19,6 +16,6 @@ const CHANNEL_PINS_UPDATE = (_self, data) => {
19
16
  };
20
17
  exports.CHANNEL_PINS_UPDATE = CHANNEL_PINS_UPDATE;
21
18
  const CHANNEL_UPDATE = async (self, data) => {
22
- return [(0, channels_1.default)(data, self), await self.cache.channels?.get(data.id)];
19
+ return [(0, structures_1.channelFrom)(data, self), await self.cache.channels?.get(data.id)];
23
20
  };
24
21
  exports.CHANNEL_UPDATE = CHANNEL_UPDATE;
@@ -1,4 +1,4 @@
1
+ import type { ClientUserStructure } from '../../client/transformers';
1
2
  import type { UsingClient } from '../../commands';
2
- import type { ClientUser } from '../../structures';
3
- export declare const BOT_READY: (_self: UsingClient, me: ClientUser) => ClientUser;
4
- export declare const WORKER_READY: (_self: UsingClient, me: ClientUser) => ClientUser;
3
+ export declare const BOT_READY: (_self: UsingClient, me: ClientUserStructure) => import("../..").ClientUser;
4
+ export declare const WORKER_READY: (_self: UsingClient, me: ClientUserStructure) => import("../..").ClientUser;
@@ -1,6 +1,5 @@
1
- import type { GatewayDispatchPayload, GatewayReadyDispatchData, GatewayResumedDispatch } from 'discord-api-types/v10';
2
- import { ClientUser } from '../../structures';
1
+ import type { GatewayDispatchPayload, GatewayReadyDispatchData, GatewayResumedDispatch } from '../../types';
3
2
  import type { UsingClient } from '../../commands';
4
- export declare const READY: (self: UsingClient, data: GatewayReadyDispatchData) => ClientUser;
5
- export declare const RESUMED: (_self: UsingClient, _data: GatewayResumedDispatch['d']) => void;
3
+ export declare const READY: (self: UsingClient, data: GatewayReadyDispatchData) => import("../..").ClientUser;
4
+ export declare const RESUMED: (_self: UsingClient, _data: GatewayResumedDispatch["d"]) => void;
6
5
  export declare const RAW: (_self: UsingClient, data: GatewayDispatchPayload) => GatewayDispatchPayload;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RAW = exports.RESUMED = exports.READY = void 0;
4
- const structures_1 = require("../../structures");
4
+ const transformers_1 = require("../../client/transformers");
5
5
  const READY = (self, data) => {
6
- return new structures_1.ClientUser(self, data.user, data.application);
6
+ return transformers_1.Transformers.ClientUser(self, data.user, data.application);
7
7
  };
8
8
  exports.READY = READY;
9
9
  const RESUMED = (_self, _data) => {
@@ -1,38 +1,6 @@
1
- import type { APIEntitlement } from 'discord-api-types/v10';
1
+ import type { APIEntitlement } from '../../types';
2
2
  import type { UsingClient } from '../../commands';
3
- export declare const ENTITLEMENT_CREATE: (_: UsingClient, data: APIEntitlement) => {
4
- id: string;
5
- skuId: string;
6
- userId?: string | undefined;
7
- guildId?: string | undefined;
8
- applicationId: string;
9
- type: import("discord-api-types/v10").EntitlementType;
10
- deleted: boolean;
11
- startsAt?: string | undefined;
12
- endsAt?: string | undefined;
13
- consumed?: boolean | undefined;
14
- };
15
- export declare const ENTITLEMENT_UPDATE: (_: UsingClient, data: APIEntitlement) => {
16
- id: string;
17
- skuId: string;
18
- userId?: string | undefined;
19
- guildId?: string | undefined;
20
- applicationId: string;
21
- type: import("discord-api-types/v10").EntitlementType;
22
- deleted: boolean;
23
- startsAt?: string | undefined;
24
- endsAt?: string | undefined;
25
- consumed?: boolean | undefined;
26
- };
27
- export declare const ENTITLEMENT_DELETE: (_: UsingClient, data: APIEntitlement) => {
28
- id: string;
29
- skuId: string;
30
- userId?: string | undefined;
31
- guildId?: string | undefined;
32
- applicationId: string;
33
- type: import("discord-api-types/v10").EntitlementType;
34
- deleted: boolean;
35
- startsAt?: string | undefined;
36
- endsAt?: string | undefined;
37
- consumed?: boolean | undefined;
38
- };
3
+ import { Entitlement } from '../../structures/Entitlement';
4
+ export declare const ENTITLEMENT_CREATE: (client: UsingClient, data: APIEntitlement) => Entitlement;
5
+ export declare const ENTITLEMENT_UPDATE: (client: UsingClient, data: APIEntitlement) => Entitlement;
6
+ export declare const ENTITLEMENT_DELETE: (client: UsingClient, data: APIEntitlement) => Entitlement;