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
@@ -5,41 +5,46 @@ export interface ResourceLimitedMemoryAdapter {
5
5
  expire?: number;
6
6
  limit?: number;
7
7
  }
8
- export interface LimitedMemoryAdapterOptions {
8
+ export interface LimitedMemoryAdapterOptions<T> {
9
9
  default?: ResourceLimitedMemoryAdapter;
10
10
  guild?: ResourceLimitedMemoryAdapter;
11
11
  user?: ResourceLimitedMemoryAdapter;
12
+ ban?: ResourceLimitedMemoryAdapter;
12
13
  member?: ResourceLimitedMemoryAdapter;
13
14
  voice_state?: ResourceLimitedMemoryAdapter;
14
15
  channel?: ResourceLimitedMemoryAdapter;
15
16
  emoji?: ResourceLimitedMemoryAdapter;
16
- overwrite?: ResourceLimitedMemoryAdapter;
17
17
  presence?: ResourceLimitedMemoryAdapter;
18
18
  role?: ResourceLimitedMemoryAdapter;
19
19
  stage_instance?: ResourceLimitedMemoryAdapter;
20
20
  sticker?: ResourceLimitedMemoryAdapter;
21
21
  thread?: ResourceLimitedMemoryAdapter;
22
+ overwrite?: ResourceLimitedMemoryAdapter;
23
+ message?: ResourceLimitedMemoryAdapter;
24
+ encode?(data: any): T;
25
+ decode?(data: T): unknown;
22
26
  }
23
- export declare class LimitedMemoryAdapter implements Adapter {
27
+ export declare class LimitedMemoryAdapter<T> implements Adapter {
24
28
  isAsync: boolean;
25
- readonly storage: Map<string, LimitedCollection<string, string>>;
29
+ readonly storage: Map<string, LimitedCollection<string, T>>;
26
30
  readonly relationships: Map<string, Map<string, string[]>>;
27
- options: MakeRequired<LimitedMemoryAdapterOptions, 'default'>;
28
- constructor(options: LimitedMemoryAdapterOptions);
31
+ options: MakeRequired<LimitedMemoryAdapterOptions<T>, 'default' | 'encode' | 'decode'>;
32
+ constructor(options?: LimitedMemoryAdapterOptions<T>);
33
+ start(): void;
29
34
  scan(query: string, keys?: false): any[];
30
35
  scan(query: string, keys: true): string[];
31
- get(keys: string): any;
32
- get(keys: string[]): any[];
36
+ bulkGet(keys: string[]): unknown[];
37
+ get(keys: string): unknown;
33
38
  private __set;
39
+ bulkSet(keys: [string, any][]): void;
34
40
  set(keys: string, data: any): void;
35
- set(keys: [string, any][]): void;
41
+ bulkPatch(updateOnly: boolean, keys: [string, any][]): void;
36
42
  patch(updateOnly: boolean, keys: string, data: any): void;
37
- patch(updateOnly: boolean, keys: [string, any][]): void;
38
43
  values(to: string): any[];
39
44
  keys(to: string): string[];
40
45
  count(to: string): number;
41
- remove(keys: string): void;
42
- remove(keys: string[]): void;
46
+ bulkRemove(keys: string[]): void;
47
+ remove(key: string): void;
43
48
  flush(): void;
44
49
  contains(to: string, keys: string): boolean;
45
50
  getToRelationship(to: string): string[];
@@ -14,50 +14,60 @@ class LimitedMemoryAdapter {
14
14
  expire: undefined,
15
15
  limit: Number.POSITIVE_INFINITY,
16
16
  },
17
+ encode(data) {
18
+ return JSON.stringify(data);
19
+ },
20
+ decode(data) {
21
+ return JSON.parse(data);
22
+ },
17
23
  }, options);
18
24
  }
25
+ start() { }
19
26
  scan(query, keys = false) {
20
27
  const values = [];
21
28
  const sq = query.split('.');
22
29
  for (const iterator of [...this.storage.values()].flatMap(x => x.entries()))
23
30
  for (const [key, value] of iterator) {
24
31
  if (key.split('.').every((value, i) => (sq[i] === '*' ? !!value : sq[i] === value))) {
25
- values.push(keys ? key : JSON.parse(value.value));
32
+ values.push(keys ? key : this.options.decode(value.value));
26
33
  }
27
34
  }
28
35
  return values;
29
36
  }
30
- get(keys) {
31
- if (!Array.isArray(keys)) {
32
- const data = [...this.storage.values()].find(x => x.has(keys))?.get(keys);
33
- return data ? JSON.parse(data) : null;
34
- }
37
+ bulkGet(keys) {
35
38
  const iterator = [...this.storage.values()];
36
39
  return keys
37
40
  .map(key => {
38
41
  const data = iterator.find(x => x.has(key))?.get(key);
39
- return data ? JSON.parse(data) : null;
42
+ return data ? this.options.decode(data) : null;
40
43
  })
41
44
  .filter(x => x);
42
45
  }
46
+ get(keys) {
47
+ const data = [...this.storage.values()].find(x => x.has(keys))?.get(keys);
48
+ return data ? this.options.decode(data) : null;
49
+ }
43
50
  __set(key, data) {
44
51
  const __guildId = Array.isArray(data) ? data[0].guild_id : data.guild_id;
45
52
  const namespace = `${key.split('.')[0]}${__guildId ? `.${__guildId}` : ''}`;
46
53
  const self = this;
47
54
  if (!this.storage.has(namespace)) {
48
55
  this.storage.set(namespace, new __1.LimitedCollection({
49
- expire: this.options[key.split('.')[0]]?.expire ?? this.options.default.expire,
50
- limit: this.options[key.split('.')[0]]?.limit ?? this.options.default.limit,
56
+ expire: this.options[key.split('.')[0]]
57
+ ?.expire ?? this.options.default.expire,
58
+ limit: this.options[key.split('.')[0]]
59
+ ?.limit ?? this.options.default.limit,
51
60
  resetOnDemand: true,
52
61
  onDelete(k) {
53
62
  const relationshipNamespace = key.split('.')[0];
54
- const relation = self.relationships.get(relationshipNamespace);
55
- if (relation) {
63
+ const existsRelation = self.relationships.has(relationshipNamespace);
64
+ if (existsRelation) {
56
65
  switch (relationshipNamespace) {
57
66
  case 'guild':
58
67
  case 'user':
59
68
  self.removeToRelationship(namespace, k.split('.')[1]);
60
69
  break;
70
+ case 'ban':
61
71
  case 'member':
62
72
  case 'voice_state':
63
73
  {
@@ -81,35 +91,31 @@ class LimitedMemoryAdapter {
81
91
  },
82
92
  }));
83
93
  }
84
- this.storage.get(namespace).set(key, JSON.stringify(data));
94
+ this.storage.get(namespace).set(key, this.options.encode(data));
95
+ }
96
+ bulkSet(keys) {
97
+ for (const [key, value] of keys) {
98
+ this.__set(key, value);
99
+ }
85
100
  }
86
101
  set(keys, data) {
87
- if (Array.isArray(keys)) {
88
- for (const [key, value] of keys) {
89
- this.__set(key, value);
102
+ this.__set(keys, data);
103
+ }
104
+ bulkPatch(updateOnly, keys) {
105
+ for (const [key, value] of keys) {
106
+ const oldData = this.get(key);
107
+ if (updateOnly && !oldData) {
108
+ continue;
90
109
  }
91
- }
92
- else {
93
- this.__set(keys, data);
110
+ this.__set(key, Array.isArray(value) ? value : { ...(oldData ?? {}), ...value });
94
111
  }
95
112
  }
96
113
  patch(updateOnly, keys, data) {
97
- if (Array.isArray(keys)) {
98
- for (const [key, value] of keys) {
99
- const oldData = this.get(key);
100
- if (updateOnly && !oldData) {
101
- continue;
102
- }
103
- this.__set(key, Array.isArray(value) ? value : { ...(oldData ?? {}), ...value });
104
- }
105
- }
106
- else {
107
- const oldData = this.get(keys);
108
- if (updateOnly && !oldData) {
109
- return;
110
- }
111
- this.__set(keys, Array.isArray(data) ? data : { ...(oldData ?? {}), ...data });
114
+ const oldData = this.get(keys);
115
+ if (updateOnly && !oldData) {
116
+ return;
112
117
  }
118
+ this.__set(keys, Array.isArray(data) ? data : { ...(oldData ?? {}), ...data });
113
119
  }
114
120
  values(to) {
115
121
  const array = [];
@@ -128,9 +134,47 @@ class LimitedMemoryAdapter {
128
134
  count(to) {
129
135
  return this.getToRelationship(to).length;
130
136
  }
131
- remove(keys) {
132
- for (const i of Array.isArray(keys) ? keys : [keys]) {
133
- this.storage.get(i.split('.')[0])?.delete(i);
137
+ bulkRemove(keys) {
138
+ for (const i of keys) {
139
+ this.remove(i);
140
+ }
141
+ }
142
+ remove(key) {
143
+ const keySplit = key.split('.');
144
+ const parentNamespace = keySplit.at(0);
145
+ switch (parentNamespace) {
146
+ case 'ban':
147
+ case 'member':
148
+ case 'voice_state':
149
+ {
150
+ this.storage
151
+ .get(`${parentNamespace}.${keySplit.at(1)}`)
152
+ ?.delete(`${parentNamespace}.${keySplit.at(1)}.${keySplit.at(2)}`);
153
+ }
154
+ break;
155
+ case 'user':
156
+ case 'guild':
157
+ this.storage.get(parentNamespace)?.delete(`${parentNamespace}.${keySplit.at(1)}`);
158
+ break;
159
+ case 'channel':
160
+ case 'emoji':
161
+ case 'presence':
162
+ case 'role':
163
+ case 'stage_instance':
164
+ case 'sticker':
165
+ case 'thread':
166
+ case 'overwrite':
167
+ case 'message':
168
+ for (const keyStorage of this.storage.keys()) {
169
+ if (keyStorage.startsWith(parentNamespace)) {
170
+ const storage = this.storage.get(keyStorage);
171
+ if (storage.has(key)) {
172
+ storage.delete(key);
173
+ break;
174
+ }
175
+ }
176
+ }
177
+ break;
134
178
  }
135
179
  }
136
180
  flush() {
@@ -1,22 +1,21 @@
1
1
  import type { Awaitable } from '../../common';
2
2
  export interface Adapter {
3
3
  isAsync: boolean;
4
+ start(): Awaitable<void>;
4
5
  scan(query: string, keys?: false): Awaitable<any[]>;
5
6
  scan(query: string, keys: true): Awaitable<string[]>;
6
7
  scan(query: string, keys?: boolean): Awaitable<(any | string)[]>;
7
- get(keys: string[]): Awaitable<any[]>;
8
+ bulkGet(keys: string[]): Awaitable<any[]>;
8
9
  get(keys: string): Awaitable<any | null>;
9
- get(keys: string | string[]): Awaitable<any | null>;
10
- set(keyValue: [string, any][]): Awaitable<void>;
10
+ bulkSet(keyValue: [string, any][]): Awaitable<void>;
11
11
  set(id: string, data: any): Awaitable<void>;
12
- set(id: string | [string, any][], data?: any): Awaitable<void>;
13
- patch(updateOnly: boolean, keyValue: [string, any][]): Awaitable<void>;
12
+ bulkPatch(updateOnly: boolean, keyValue: [string, any][]): Awaitable<void>;
14
13
  patch(updateOnly: boolean, id: string, data: any): Awaitable<void>;
15
- patch(updateOnly: boolean, id: string | [string, any][], data?: any): Awaitable<void>;
16
14
  values(to: string): Awaitable<any[]>;
17
15
  keys(to: string): Awaitable<string[]>;
18
16
  count(to: string): Awaitable<number>;
19
- remove(keys: string | string[]): Awaitable<void>;
17
+ bulkRemove(keys: string[]): Awaitable<void>;
18
+ remove(keys: string): Awaitable<void>;
20
19
  flush(): Awaitable<void>;
21
20
  contains(to: string, keys: string): Awaitable<boolean>;
22
21
  getToRelationship(to: string): Awaitable<string[]>;
@@ -1,8 +1,3 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- /// <reference types="node" />
5
- /// <reference types="node" />
6
1
  import type { WorkerData } from '../../websocket';
7
2
  import type { WorkerSendCacheRequest } from '../../websocket/discord/worker';
8
3
  import type { Adapter } from './types';
@@ -14,15 +9,20 @@ export declare class WorkerAdapter implements Adapter {
14
9
  timeout: NodeJS.Timeout;
15
10
  }>;
16
11
  constructor(workerData: WorkerData);
17
- postMessage(body: any): boolean | void;
12
+ start(): void;
13
+ postMessage(body: any): unknown;
18
14
  protected send(method: WorkerSendCacheRequest['method'], ...args: any[]): Promise<any>;
19
15
  scan(...rest: any[]): Promise<any>;
16
+ bulkGet(...rest: any[]): Promise<any>;
20
17
  get(...rest: any[]): Promise<any>;
18
+ bulkSet(...rest: any[]): Promise<any>;
21
19
  set(...rest: any[]): Promise<any>;
20
+ bulkPatch(...rest: any[]): Promise<any>;
22
21
  patch(...rest: any[]): Promise<any>;
23
22
  values(...rest: any[]): Promise<any>;
24
23
  keys(...rest: any[]): Promise<any>;
25
24
  count(...rest: any[]): Promise<any>;
25
+ bulkRemove(...rest: any[]): Promise<any>;
26
26
  remove(...rest: any[]): Promise<any>;
27
27
  flush(): Promise<any>;
28
28
  contains(...rest: any[]): Promise<any>;
@@ -14,6 +14,7 @@ class WorkerAdapter {
14
14
  if (worker_threads?.parentPort)
15
15
  parentPort = worker_threads.parentPort;
16
16
  }
17
+ start() { }
17
18
  postMessage(body) {
18
19
  if (parentPort)
19
20
  return parentPort.postMessage(body);
@@ -41,12 +42,21 @@ class WorkerAdapter {
41
42
  scan(...rest) {
42
43
  return this.send('scan', ...rest);
43
44
  }
45
+ bulkGet(...rest) {
46
+ return this.send('bulkGet', ...rest);
47
+ }
44
48
  get(...rest) {
45
49
  return this.send('get', ...rest);
46
50
  }
51
+ bulkSet(...rest) {
52
+ return this.send('bulkSet', ...rest);
53
+ }
47
54
  set(...rest) {
48
55
  return this.send('set', ...rest);
49
56
  }
57
+ bulkPatch(...rest) {
58
+ return this.send('bulkPatch', ...rest);
59
+ }
50
60
  patch(...rest) {
51
61
  return this.send('patch', ...rest);
52
62
  }
@@ -59,6 +69,9 @@ class WorkerAdapter {
59
69
  count(...rest) {
60
70
  return this.send('count', ...rest);
61
71
  }
72
+ bulkRemove(...rest) {
73
+ return this.send('bulkRemove', ...rest);
74
+ }
62
75
  remove(...rest) {
63
76
  return this.send('remove', ...rest);
64
77
  }
@@ -1,4 +1,4 @@
1
- import type { If } from '../common';
1
+ import { Logger, type If } from '../common';
2
2
  import type { Adapter } from './adapters';
3
3
  import { Guilds } from './resources/guilds';
4
4
  import { Users } from './resources/users';
@@ -12,7 +12,7 @@ import { Stickers } from './resources/stickers';
12
12
  import { Threads } from './resources/threads';
13
13
  import { VoiceStates } from './resources/voice-states';
14
14
  import { Bans } from './resources/bans';
15
- import { GatewayIntentBits, type GatewayDispatchPayload } from 'discord-api-types/v10';
15
+ import { GatewayIntentBits, type GatewayDispatchPayload } from '../types';
16
16
  import type { InternalOptions, UsingClient } from '../commands';
17
17
  import { Overwrites } from './resources/overwrites';
18
18
  import { Messages } from './resources/messages';
@@ -23,12 +23,16 @@ export type ReturnCache<T> = If<InferAsyncCache, Promise<T>, T>;
23
23
  export type GuildBased = 'members' | 'voiceStates';
24
24
  export type GuildRelated = 'emojis' | 'roles' | 'threads' | 'channels' | 'stickers' | 'presences' | 'stageInstances' | 'overwrites' | 'messages' | 'bans';
25
25
  export type NonGuildBased = 'users' | 'guilds';
26
+ export type SeyfertBased = 'onPacket';
26
27
  export * from './adapters/index';
27
28
  export type CachedEvents = 'READY' | 'GUILD_CREATE' | 'GUILD_UPDATE' | 'GUILD_DELETE' | 'CHANNEL_CREATE' | 'CHANNEL_UPDATE' | 'CHANNEL_DELETE' | 'GUILD_ROLE_CREATE' | 'GUILD_ROLE_UPDATE' | 'GUILD_ROLE_DELETE' | 'GUILD_BAN_ADD' | 'GUILD_BAN_REMOVE' | 'GUILD_EMOJIS_UPDATE' | 'GUILD_STICKERS_UPDATE' | 'GUILD_MEMBER_ADD' | 'GUILD_MEMBER_UPDATE' | 'GUILD_MEMBER_REMOVE' | 'MESSAGE_CREATE' | 'PRESENCE_UPDATE' | 'THREAD_DELETE' | 'THREAD_CREATE' | 'THREAD_UPDATE' | 'USER_UPDATE' | 'VOICE_STATE_UPDATE' | 'STAGE_INSTANCE_CREATE' | 'STAGE_INSTANCE_UPDATE' | 'STAGE_INSTANCE_DELETE';
29
+ export type DisabledCache = {
30
+ [P in NonGuildBased | GuildBased | GuildRelated | SeyfertBased]?: boolean;
31
+ };
28
32
  export declare class Cache {
29
33
  intents: number;
30
34
  adapter: Adapter;
31
- readonly disabledCache: (NonGuildBased | GuildBased | GuildRelated)[];
35
+ readonly disabledCache: DisabledCache;
32
36
  users?: Users;
33
37
  guilds?: Guilds;
34
38
  members?: Members;
@@ -43,7 +47,8 @@ export declare class Cache {
43
47
  stageInstances?: StageInstances;
44
48
  messages?: Messages;
45
49
  bans?: Bans;
46
- constructor(intents: number, adapter: Adapter, disabledCache?: (NonGuildBased | GuildBased | GuildRelated)[], client?: UsingClient);
50
+ __logger__?: Logger;
51
+ constructor(intents: number, adapter: Adapter, disabledCache?: DisabledCache, client?: UsingClient);
47
52
  flush(): ReturnCache<void>;
48
53
  hasIntent(intent: keyof typeof GatewayIntentBits): boolean;
49
54
  get hasGuildsIntent(): boolean;
@@ -67,19 +72,20 @@ export declare class Cache {
67
72
  roles: import("..").GuildRole[];
68
73
  emojis: import("..").GuildEmoji[];
69
74
  stickers: import("..").Sticker[];
70
- channels: NonNullable<ReturnCache<import("..").AllChannels | undefined>>[];
71
75
  members: import("..").GuildMember[];
72
76
  users: import("..").User[];
77
+ channels: NonNullable<ReturnCache<import("..").AllChannels | undefined>>[];
78
+ threads: import("..").ThreadChannel[];
73
79
  messages: import("..").Message[];
74
- presences: (Omit<import("discord-api-types/v10").GatewayPresenceUpdate, "user"> & {
80
+ presences: (Omit<import("../types").GatewayPresenceUpdate, "user"> & {
75
81
  id: string;
82
+ user_id: string;
76
83
  } & {
77
84
  guild_id: string;
78
85
  })[];
79
- threads: import("..").ThreadChannel[];
80
86
  bans: import("../structures/GuildBan").GuildBan[];
81
87
  voiceStates: import("..").VoiceState[];
82
- stageInstances: (import("discord-api-types/v10").APIStageInstance & {
88
+ stageInstances: (import("../types").APIStageInstance & {
83
89
  guild_id: string;
84
90
  })[];
85
91
  overwrites: {
@@ -110,5 +116,8 @@ export declare class Cache {
110
116
  string,
111
117
  string
112
118
  ])[]): Promise<void>;
113
- onPacket(event: GatewayDispatchPayload): Promise<void>;
119
+ onPacket?(event: GatewayDispatchPayload): Promise<void>;
120
+ testAdapter(): Promise<void>;
121
+ private testUsersAndMembers;
122
+ private testChannelsAndOverwrites;
114
123
  }