seyfert 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +22 -14
  3. package/lib/api/Router.js +5 -3
  4. package/lib/api/Routes/applications.d.ts +23 -1
  5. package/lib/api/Routes/channels.d.ts +1 -1
  6. package/lib/api/Routes/gateway.d.ts +1 -1
  7. package/lib/api/Routes/guilds.d.ts +8 -2
  8. package/lib/api/Routes/interactions.d.ts +1 -1
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/stage-instances.d.ts +1 -1
  11. package/lib/api/Routes/stickers.d.ts +2 -2
  12. package/lib/api/Routes/users.d.ts +1 -1
  13. package/lib/api/Routes/voice.d.ts +1 -1
  14. package/lib/api/Routes/webhooks.d.ts +2 -2
  15. package/lib/api/api.d.ts +2 -2
  16. package/lib/api/api.js +2 -14
  17. package/lib/api/bucket.d.ts +0 -1
  18. package/lib/api/shared.d.ts +0 -1
  19. package/lib/api/utils/constants.d.ts +2 -5
  20. package/lib/api/utils/constants.js +3 -7
  21. package/lib/api/utils/utils.d.ts +1 -2
  22. package/lib/api/utils/utils.js +2 -3
  23. package/lib/builders/ActionRow.d.ts +1 -1
  24. package/lib/builders/ActionRow.js +3 -3
  25. package/lib/builders/Attachment.d.ts +2 -3
  26. package/lib/builders/Attachment.js +12 -13
  27. package/lib/builders/Base.d.ts +2 -2
  28. package/lib/builders/Base.js +1 -1
  29. package/lib/builders/Button.d.ts +7 -7
  30. package/lib/builders/Button.js +11 -9
  31. package/lib/builders/Embed.d.ts +1 -1
  32. package/lib/builders/Modal.d.ts +1 -1
  33. package/lib/builders/Modal.js +2 -2
  34. package/lib/builders/Poll.d.ts +2 -2
  35. package/lib/builders/Poll.js +5 -6
  36. package/lib/builders/SelectMenu.d.ts +1 -1
  37. package/lib/builders/SelectMenu.js +17 -18
  38. package/lib/builders/index.d.ts +1 -1
  39. package/lib/builders/index.js +10 -11
  40. package/lib/cache/adapters/default.d.ts +16 -9
  41. package/lib/cache/adapters/default.js +42 -31
  42. package/lib/cache/adapters/index.d.ts +0 -1
  43. package/lib/cache/adapters/index.js +0 -1
  44. package/lib/cache/adapters/limited.d.ts +17 -12
  45. package/lib/cache/adapters/limited.js +80 -36
  46. package/lib/cache/adapters/types.d.ts +6 -7
  47. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  48. package/lib/cache/adapters/workeradapter.js +13 -0
  49. package/lib/cache/index.d.ts +24 -11
  50. package/lib/cache/index.js +335 -19
  51. package/lib/cache/resources/bans.d.ts +15 -0
  52. package/lib/cache/resources/bans.js +44 -0
  53. package/lib/cache/resources/channels.d.ts +6 -4
  54. package/lib/cache/resources/channels.js +13 -7
  55. package/lib/cache/resources/default/base.d.ts +7 -7
  56. package/lib/cache/resources/default/base.js +2 -2
  57. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  58. package/lib/cache/resources/default/guild-based.js +6 -6
  59. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  60. package/lib/cache/resources/default/guild-related.js +10 -8
  61. package/lib/cache/resources/emojis.d.ts +15 -6
  62. package/lib/cache/resources/emojis.js +13 -4
  63. package/lib/cache/resources/guilds.d.ts +9 -6
  64. package/lib/cache/resources/guilds.js +27 -6
  65. package/lib/cache/resources/members.d.ts +9 -6
  66. package/lib/cache/resources/members.js +24 -8
  67. package/lib/cache/resources/messages.d.ts +11 -7
  68. package/lib/cache/resources/messages.js +25 -11
  69. package/lib/cache/resources/overwrites.d.ts +11 -2
  70. package/lib/cache/resources/overwrites.js +9 -0
  71. package/lib/cache/resources/presence.d.ts +3 -2
  72. package/lib/cache/resources/roles.d.ts +9 -6
  73. package/lib/cache/resources/roles.js +13 -4
  74. package/lib/cache/resources/stage-instances.d.ts +2 -2
  75. package/lib/cache/resources/stickers.d.ts +9 -6
  76. package/lib/cache/resources/stickers.js +13 -4
  77. package/lib/cache/resources/threads.d.ts +9 -6
  78. package/lib/cache/resources/threads.js +13 -4
  79. package/lib/cache/resources/users.d.ts +9 -6
  80. package/lib/cache/resources/users.js +13 -4
  81. package/lib/cache/resources/voice-states.d.ts +11 -8
  82. package/lib/cache/resources/voice-states.js +15 -4
  83. package/lib/client/base.d.ts +32 -20
  84. package/lib/client/base.js +51 -30
  85. package/lib/client/client.d.ts +12 -9
  86. package/lib/client/client.js +43 -49
  87. package/lib/client/collectors.d.ts +36 -0
  88. package/lib/client/collectors.js +110 -0
  89. package/lib/client/httpclient.d.ts +8 -13
  90. package/lib/client/httpclient.js +27 -218
  91. package/lib/client/index.d.ts +1 -0
  92. package/lib/client/index.js +1 -0
  93. package/lib/client/transformers.d.ts +68 -0
  94. package/lib/client/transformers.js +99 -0
  95. package/lib/client/types.d.ts +5 -0
  96. package/lib/client/types.js +2 -0
  97. package/lib/client/workerclient.d.ts +18 -15
  98. package/lib/client/workerclient.js +148 -110
  99. package/lib/collection.d.ts +2 -2
  100. package/lib/collection.js +2 -2
  101. package/lib/commands/applications/chat.d.ts +40 -38
  102. package/lib/commands/applications/chat.js +22 -12
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/menu.d.ts +9 -9
  106. package/lib/commands/applications/menu.js +5 -7
  107. package/lib/commands/applications/menucontext.d.ts +14 -13
  108. package/lib/commands/applications/menucontext.js +9 -9
  109. package/lib/commands/applications/options.d.ts +1 -1
  110. package/lib/commands/applications/options.js +20 -21
  111. package/lib/commands/applications/shared.d.ts +14 -0
  112. package/lib/commands/decorators.d.ts +47 -35
  113. package/lib/commands/decorators.js +19 -27
  114. package/lib/commands/handle.d.ts +64 -0
  115. package/lib/commands/handle.js +685 -0
  116. package/lib/commands/handler.d.ts +27 -18
  117. package/lib/commands/handler.js +296 -160
  118. package/lib/commands/optionresolver.d.ts +13 -13
  119. package/lib/commands/optionresolver.js +23 -28
  120. package/lib/common/bot/watcher.d.ts +4 -33
  121. package/lib/common/bot/watcher.js +0 -109
  122. package/lib/common/index.d.ts +2 -0
  123. package/lib/common/index.js +4 -1
  124. package/lib/common/it/colors.js +48 -49
  125. package/lib/common/it/formatter.d.ts +187 -0
  126. package/lib/common/it/formatter.js +226 -0
  127. package/lib/common/it/logger.d.ts +0 -1
  128. package/lib/common/it/logger.js +8 -8
  129. package/lib/common/it/utils.d.ts +15 -2
  130. package/lib/common/it/utils.js +80 -21
  131. package/lib/common/shorters/application.d.ts +56 -0
  132. package/lib/common/shorters/application.js +81 -0
  133. package/lib/common/shorters/bans.d.ts +42 -0
  134. package/lib/common/shorters/bans.js +78 -0
  135. package/lib/common/shorters/channels.d.ts +7 -6
  136. package/lib/common/shorters/channels.js +19 -15
  137. package/lib/common/shorters/emojis.d.ts +5 -6
  138. package/lib/common/shorters/emojis.js +8 -7
  139. package/lib/common/shorters/guilds.d.ts +18 -16
  140. package/lib/common/shorters/guilds.js +31 -26
  141. package/lib/common/shorters/interaction.d.ts +6 -6
  142. package/lib/common/shorters/interaction.js +12 -9
  143. package/lib/common/shorters/members.d.ts +29 -12
  144. package/lib/common/shorters/members.js +55 -16
  145. package/lib/common/shorters/messages.d.ts +7 -8
  146. package/lib/common/shorters/messages.js +10 -9
  147. package/lib/common/shorters/reactions.d.ts +3 -3
  148. package/lib/common/shorters/reactions.js +11 -11
  149. package/lib/common/shorters/roles.d.ts +9 -7
  150. package/lib/common/shorters/roles.js +26 -7
  151. package/lib/common/shorters/templates.d.ts +7 -8
  152. package/lib/common/shorters/templates.js +7 -7
  153. package/lib/common/shorters/threads.d.ts +6 -7
  154. package/lib/common/shorters/threads.js +6 -9
  155. package/lib/common/shorters/users.d.ts +4 -4
  156. package/lib/common/shorters/users.js +8 -4
  157. package/lib/common/shorters/webhook.d.ts +10 -10
  158. package/lib/common/shorters/webhook.js +12 -11
  159. package/lib/common/types/resolvables.d.ts +2 -2
  160. package/lib/common/types/util.d.ts +3 -1
  161. package/lib/common/types/write.d.ts +1 -1
  162. package/lib/components/ActionRow.d.ts +1 -1
  163. package/lib/components/BaseComponent.d.ts +1 -1
  164. package/lib/components/BaseComponent.js +1 -1
  165. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  166. package/lib/components/ButtonComponent.d.ts +17 -7
  167. package/lib/components/ButtonComponent.js +19 -2
  168. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  169. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  170. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  171. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  172. package/lib/components/TextInputComponent.d.ts +2 -2
  173. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  174. package/lib/components/componentcommand.d.ts +3 -2
  175. package/lib/components/componentcommand.js +4 -3
  176. package/lib/components/componentcontext.d.ts +11 -10
  177. package/lib/components/componentcontext.js +8 -8
  178. package/lib/components/handler.d.ts +16 -15
  179. package/lib/components/handler.js +101 -108
  180. package/lib/components/index.d.ts +3 -3
  181. package/lib/components/index.js +12 -10
  182. package/lib/components/modalcommand.d.ts +2 -1
  183. package/lib/components/modalcommand.js +1 -0
  184. package/lib/components/modalcontext.d.ts +13 -12
  185. package/lib/components/modalcontext.js +2 -2
  186. package/lib/deps/mixer.d.ts +8 -0
  187. package/lib/deps/mixer.js +66 -0
  188. package/lib/events/event.d.ts +4 -3
  189. package/lib/events/handler.d.ts +40 -15
  190. package/lib/events/handler.js +99 -21
  191. package/lib/events/hooks/application_command.d.ts +2 -2
  192. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  193. package/lib/events/hooks/auto_moderation.js +4 -4
  194. package/lib/events/hooks/channel.d.ts +2 -2
  195. package/lib/events/hooks/channel.js +4 -7
  196. package/lib/events/hooks/custom.d.ts +3 -3
  197. package/lib/events/hooks/dispatch.d.ts +3 -4
  198. package/lib/events/hooks/dispatch.js +2 -2
  199. package/lib/events/hooks/entitlement.d.ts +5 -37
  200. package/lib/events/hooks/entitlement.js +7 -7
  201. package/lib/events/hooks/guild.d.ts +126 -181
  202. package/lib/events/hooks/guild.js +13 -15
  203. package/lib/events/hooks/integration.d.ts +71 -15
  204. package/lib/events/hooks/integration.js +3 -3
  205. package/lib/events/hooks/interactions.d.ts +2 -2
  206. package/lib/events/hooks/invite.d.ts +18 -14
  207. package/lib/events/hooks/message.d.ts +72 -52
  208. package/lib/events/hooks/message.js +4 -8
  209. package/lib/events/hooks/presence.d.ts +21 -16
  210. package/lib/events/hooks/stage.d.ts +4 -4
  211. package/lib/events/hooks/thread.d.ts +140 -60
  212. package/lib/events/hooks/thread.js +4 -4
  213. package/lib/events/hooks/typing.d.ts +28 -5
  214. package/lib/events/hooks/typing.js +2 -2
  215. package/lib/events/hooks/user.d.ts +3 -3
  216. package/lib/events/hooks/user.js +2 -2
  217. package/lib/events/hooks/voice.d.ts +28 -3
  218. package/lib/events/hooks/voice.js +8 -4
  219. package/lib/events/hooks/webhook.d.ts +1 -1
  220. package/lib/index.d.ts +6 -15
  221. package/lib/index.js +8 -12
  222. package/lib/langs/handler.d.ts +14 -10
  223. package/lib/langs/handler.js +40 -9
  224. package/lib/structures/AutoModerationRule.d.ts +4 -4
  225. package/lib/structures/AutoModerationRule.js +1 -2
  226. package/lib/structures/ClientUser.d.ts +1 -1
  227. package/lib/structures/Entitlement.d.ts +10 -0
  228. package/lib/structures/Entitlement.js +16 -0
  229. package/lib/structures/Guild.d.ts +37 -30
  230. package/lib/structures/Guild.js +7 -2
  231. package/lib/structures/GuildBan.d.ts +25 -0
  232. package/lib/structures/GuildBan.js +37 -0
  233. package/lib/structures/GuildEmoji.d.ts +4 -4
  234. package/lib/structures/GuildEmoji.js +3 -2
  235. package/lib/structures/GuildMember.d.ts +27 -19
  236. package/lib/structures/GuildMember.js +21 -11
  237. package/lib/structures/GuildPreview.d.ts +1 -1
  238. package/lib/structures/GuildRole.d.ts +5 -3
  239. package/lib/structures/GuildRole.js +8 -1
  240. package/lib/structures/GuildTemplate.d.ts +2 -2
  241. package/lib/structures/GuildTemplate.js +1 -1
  242. package/lib/structures/Interaction.d.ts +56 -38
  243. package/lib/structures/Interaction.js +134 -86
  244. package/lib/structures/Message.d.ts +80 -20
  245. package/lib/structures/Message.js +67 -26
  246. package/lib/structures/Poll.d.ts +4 -3
  247. package/lib/structures/Poll.js +6 -2
  248. package/lib/structures/Sticker.d.ts +10 -10
  249. package/lib/structures/Sticker.js +7 -7
  250. package/lib/structures/User.d.ts +6 -4
  251. package/lib/structures/User.js +6 -2
  252. package/lib/structures/VoiceState.d.ts +15 -11
  253. package/lib/structures/VoiceState.js +35 -17
  254. package/lib/structures/Webhook.d.ts +6 -7
  255. package/lib/structures/Webhook.js +6 -7
  256. package/lib/structures/channels.d.ts +14 -10
  257. package/lib/structures/channels.js +97 -62
  258. package/lib/structures/extra/BaseGuild.d.ts +1 -1
  259. package/lib/structures/extra/BaseGuild.js +3 -3
  260. package/lib/structures/extra/BitField.d.ts +1 -1
  261. package/lib/structures/extra/BitField.js +3 -2
  262. package/lib/structures/extra/DiscordBase.js +2 -2
  263. package/lib/structures/extra/Permissions.d.ts +3 -1
  264. package/lib/structures/extra/Permissions.js +8 -3
  265. package/lib/types/gateway.d.ts +1537 -0
  266. package/lib/types/gateway.js +4 -0
  267. package/lib/types/index.d.ts +9 -1
  268. package/lib/types/index.js +28 -1
  269. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  270. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  271. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  272. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  273. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  303. package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
  304. package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
  305. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  306. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  307. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  308. package/lib/types/payloads/_interactions/base.js +2 -0
  309. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  310. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  311. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  312. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  313. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  314. package/lib/types/payloads/_interactions/ping.js +2 -0
  315. package/lib/types/payloads/_interactions/responses.d.ts +112 -0
  316. package/lib/types/payloads/_interactions/responses.js +54 -0
  317. package/lib/types/payloads/application.d.ts +292 -0
  318. package/lib/types/payloads/application.js +117 -0
  319. package/lib/types/payloads/auditLog.d.ts +644 -0
  320. package/lib/types/payloads/auditLog.js +80 -0
  321. package/lib/types/payloads/autoModeration.d.ts +219 -0
  322. package/lib/types/payloads/autoModeration.js +87 -0
  323. package/lib/types/payloads/channel.d.ts +1708 -0
  324. package/lib/types/payloads/channel.js +372 -0
  325. package/lib/types/payloads/emoji.d.ts +48 -0
  326. package/lib/types/payloads/emoji.js +5 -0
  327. package/lib/types/payloads/gateway.d.ts +373 -0
  328. package/lib/types/payloads/gateway.js +82 -0
  329. package/lib/types/payloads/guild.d.ts +1060 -0
  330. package/lib/types/payloads/guild.js +324 -0
  331. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  332. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  333. package/lib/types/payloads/index.d.ts +64 -0
  334. package/lib/types/payloads/index.js +37 -0
  335. package/lib/types/payloads/interactions.d.ts +24 -0
  336. package/lib/types/payloads/interactions.js +23 -0
  337. package/lib/types/payloads/invite.d.ts +121 -0
  338. package/lib/types/payloads/invite.js +23 -0
  339. package/lib/types/payloads/monetization.d.ts +150 -0
  340. package/lib/types/payloads/monetization.js +79 -0
  341. package/lib/types/payloads/oauth2.d.ts +131 -0
  342. package/lib/types/payloads/oauth2.js +135 -0
  343. package/lib/types/payloads/permissions.d.ts +97 -0
  344. package/lib/types/payloads/permissions.js +16 -0
  345. package/lib/types/payloads/poll.d.ts +104 -0
  346. package/lib/types/payloads/poll.js +16 -0
  347. package/lib/types/payloads/stageInstance.d.ts +77 -0
  348. package/lib/types/payloads/stageInstance.js +19 -0
  349. package/lib/types/payloads/sticker.d.ts +123 -0
  350. package/lib/types/payloads/sticker.js +30 -0
  351. package/lib/types/payloads/teams.d.ts +78 -0
  352. package/lib/types/payloads/teams.js +23 -0
  353. package/lib/types/payloads/template.d.ts +62 -0
  354. package/lib/types/payloads/template.js +5 -0
  355. package/lib/types/payloads/user.d.ts +337 -0
  356. package/lib/types/payloads/user.js +167 -0
  357. package/lib/types/payloads/voice.d.ts +89 -0
  358. package/lib/types/payloads/voice.js +5 -0
  359. package/lib/types/payloads/webhook.d.ts +76 -0
  360. package/lib/types/payloads/webhook.js +21 -0
  361. package/lib/types/rest/application.d.ts +57 -0
  362. package/lib/types/rest/application.js +2 -0
  363. package/lib/types/rest/auditLog.d.ts +30 -0
  364. package/lib/types/rest/auditLog.js +2 -0
  365. package/lib/types/rest/autoModeration.d.ts +66 -0
  366. package/lib/types/rest/autoModeration.js +2 -0
  367. package/lib/types/rest/channel.d.ts +712 -0
  368. package/lib/types/rest/channel.js +11 -0
  369. package/lib/types/rest/emoji.d.ts +54 -0
  370. package/lib/types/rest/emoji.js +2 -0
  371. package/lib/types/rest/gateway.d.ts +9 -0
  372. package/lib/types/rest/gateway.js +2 -0
  373. package/lib/types/rest/guild.d.ts +865 -0
  374. package/lib/types/rest/guild.js +2 -0
  375. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  376. package/lib/types/rest/guildScheduledEvent.js +2 -0
  377. package/lib/types/rest/index.d.ts +296 -0
  378. package/lib/types/rest/index.js +292 -0
  379. package/lib/types/rest/interactions.d.ts +194 -0
  380. package/lib/types/rest/interactions.js +2 -0
  381. package/lib/types/rest/invite.d.ts +24 -0
  382. package/lib/types/rest/invite.js +2 -0
  383. package/lib/types/rest/monetization.d.ts +82 -0
  384. package/lib/types/rest/monetization.js +11 -0
  385. package/lib/types/rest/oauth2.d.ts +172 -0
  386. package/lib/types/rest/oauth2.js +2 -0
  387. package/lib/types/rest/poll.d.ts +44 -0
  388. package/lib/types/rest/poll.js +2 -0
  389. package/lib/types/rest/stageInstance.d.ts +58 -0
  390. package/lib/types/rest/stageInstance.js +2 -0
  391. package/lib/types/rest/sticker.d.ts +77 -0
  392. package/lib/types/rest/sticker.js +2 -0
  393. package/lib/types/rest/template.d.ts +62 -0
  394. package/lib/types/rest/template.js +2 -0
  395. package/lib/types/rest/user.d.ts +120 -0
  396. package/lib/types/rest/user.js +2 -0
  397. package/lib/types/rest/voice.d.ts +17 -0
  398. package/lib/types/rest/voice.js +2 -0
  399. package/lib/types/rest/webhook.d.ts +250 -0
  400. package/lib/types/rest/webhook.js +2 -0
  401. package/lib/types/utils/index.d.ts +797 -0
  402. package/lib/types/utils/index.js +799 -0
  403. package/lib/websocket/SharedTypes.d.ts +4 -3
  404. package/lib/websocket/SharedTypes.js +1 -1
  405. package/lib/websocket/constants/index.d.ts +0 -1
  406. package/lib/websocket/discord/basesocket.d.ts +7 -6
  407. package/lib/websocket/discord/basesocket.js +35 -6
  408. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  409. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  410. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  411. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  412. package/lib/websocket/discord/shard.d.ts +9 -8
  413. package/lib/websocket/discord/shard.js +65 -47
  414. package/lib/websocket/discord/sharder.d.ts +6 -5
  415. package/lib/websocket/discord/sharder.js +11 -10
  416. package/lib/websocket/discord/shared.d.ts +13 -5
  417. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  418. package/lib/websocket/discord/socket/custom.js +283 -0
  419. package/lib/websocket/discord/worker.d.ts +5 -10
  420. package/lib/websocket/discord/workermanager.d.ts +8 -15
  421. package/lib/websocket/discord/workermanager.js +35 -39
  422. package/lib/websocket/structures/index.d.ts +0 -1
  423. package/lib/websocket/structures/index.js +1 -1
  424. package/lib/websocket/structures/timeout.d.ts +0 -1
  425. package/package.json +65 -74
  426. package/lib/cache/adapters/redis.d.ts +0 -37
  427. package/lib/cache/adapters/redis.js +0 -218
  428. package/lib/client/oninteractioncreate.d.ts +0 -4
  429. package/lib/client/oninteractioncreate.js +0 -198
  430. package/lib/client/onmessagecreate.d.ts +0 -3
  431. package/lib/client/onmessagecreate.js +0 -395
  432. package/lib/structures/extra/functions.d.ts +0 -12
  433. package/lib/structures/extra/functions.js +0 -70
@@ -2,59 +2,67 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MemoryAdapter = void 0;
4
4
  class MemoryAdapter {
5
+ options;
5
6
  isAsync = false;
6
7
  storage = new Map();
7
8
  relationships = new Map();
9
+ constructor(options = {
10
+ encode(data) {
11
+ return JSON.stringify(data);
12
+ },
13
+ decode(data) {
14
+ return JSON.parse(data);
15
+ },
16
+ }) {
17
+ this.options = options;
18
+ }
19
+ start() { }
8
20
  scan(query, keys = false) {
9
21
  const values = [];
10
22
  const sq = query.split('.');
11
23
  for (const [key, value] of this.storage.entries()) {
12
24
  if (key.split('.').every((value, i) => (sq[i] === '*' ? !!value : sq[i] === value))) {
13
- values.push(keys ? key : JSON.parse(value));
25
+ values.push(keys ? key : this.options.decode(value));
14
26
  }
15
27
  }
16
28
  return values;
17
29
  }
18
- get(keys) {
19
- if (!Array.isArray(keys)) {
20
- const data = this.storage.get(keys);
21
- return data ? JSON.parse(data) : null;
22
- }
30
+ bulkGet(keys) {
23
31
  return keys
24
32
  .map(x => {
25
33
  const data = this.storage.get(x);
26
- return data ? JSON.parse(data) : null;
34
+ return data ? this.options.decode(data) : null;
27
35
  })
28
36
  .filter(x => x);
29
37
  }
30
- set(keys, data) {
31
- if (Array.isArray(keys)) {
32
- for (const [key, value] of keys) {
33
- this.storage.set(key, JSON.stringify(value));
34
- }
35
- }
36
- else {
37
- this.storage.set(keys, JSON.stringify(data));
38
- }
38
+ get(keys) {
39
+ const data = this.storage.get(keys);
40
+ return data ? this.options.decode(data) : null;
39
41
  }
40
- patch(updateOnly, keys, data) {
41
- if (Array.isArray(keys)) {
42
- for (const [key, value] of keys) {
43
- const oldData = this.get(key);
44
- if (updateOnly && !oldData) {
45
- continue;
46
- }
47
- this.storage.set(key, Array.isArray(value) ? JSON.stringify(value) : JSON.stringify({ ...(oldData ?? {}), ...value }));
48
- }
42
+ bulkSet(keys) {
43
+ for (const [key, value] of keys) {
44
+ this.storage.set(key, this.options.encode(value));
49
45
  }
50
- else {
51
- const oldData = this.get(keys);
46
+ }
47
+ set(key, data) {
48
+ this.storage.set(key, this.options.encode(data));
49
+ }
50
+ bulkPatch(updateOnly, keys) {
51
+ for (const [key, value] of keys) {
52
+ const oldData = this.get(key);
52
53
  if (updateOnly && !oldData) {
53
- return;
54
+ continue;
54
55
  }
55
- this.storage.set(keys, Array.isArray(data) ? JSON.stringify(data) : JSON.stringify({ ...(oldData ?? {}), ...data }));
56
+ this.storage.set(key, Array.isArray(value) ? this.options.encode(value) : this.options.encode({ ...(oldData ?? {}), ...value }));
56
57
  }
57
58
  }
59
+ patch(updateOnly, keys, data) {
60
+ const oldData = this.get(keys);
61
+ if (updateOnly && !oldData) {
62
+ return;
63
+ }
64
+ this.storage.set(keys, Array.isArray(data) ? this.options.encode(data) : this.options.encode({ ...(oldData ?? {}), ...data }));
65
+ }
58
66
  values(to) {
59
67
  const array = [];
60
68
  const data = this.keys(to);
@@ -72,11 +80,14 @@ class MemoryAdapter {
72
80
  count(to) {
73
81
  return this.getToRelationship(to).length;
74
82
  }
75
- remove(keys) {
76
- for (const i of Array.isArray(keys) ? keys : [keys]) {
83
+ bulkRemove(keys) {
84
+ for (const i of keys) {
77
85
  this.storage.delete(i);
78
86
  }
79
87
  }
88
+ remove(key) {
89
+ this.storage.delete(key);
90
+ }
80
91
  flush() {
81
92
  this.storage.clear();
82
93
  this.relationships.clear();
@@ -1,5 +1,4 @@
1
1
  export * from './default';
2
2
  export * from './limited';
3
- export * from './redis';
4
3
  export * from './types';
5
4
  export * from './workeradapter';
@@ -16,6 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./default"), exports);
18
18
  __exportStar(require("./limited"), exports);
19
- __exportStar(require("./redis"), exports);
20
19
  __exportStar(require("./types"), exports);
21
20
  __exportStar(require("./workeradapter"), exports);
@@ -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';
@@ -11,7 +11,8 @@ import { StageInstances } from './resources/stage-instances';
11
11
  import { Stickers } from './resources/stickers';
12
12
  import { Threads } from './resources/threads';
13
13
  import { VoiceStates } from './resources/voice-states';
14
- import { GatewayIntentBits, type GatewayDispatchPayload } from 'discord-api-types/v10';
14
+ import { Bans } from './resources/bans';
15
+ import { GatewayIntentBits, type GatewayDispatchPayload } from '../types';
15
16
  import type { InternalOptions, UsingClient } from '../commands';
16
17
  import { Overwrites } from './resources/overwrites';
17
18
  import { Messages } from './resources/messages';
@@ -20,14 +21,18 @@ export type InferAsyncCache = InternalOptions extends {
20
21
  } ? P : false;
21
22
  export type ReturnCache<T> = If<InferAsyncCache, Promise<T>, T>;
22
23
  export type GuildBased = 'members' | 'voiceStates';
23
- export type GuildRelated = 'emojis' | 'roles' | 'threads' | 'channels' | 'stickers' | 'presences' | 'stageInstances' | 'overwrites' | 'messages';
24
+ export type GuildRelated = 'emojis' | 'roles' | 'threads' | 'channels' | 'stickers' | 'presences' | 'stageInstances' | 'overwrites' | 'messages' | 'bans';
24
25
  export type NonGuildBased = 'users' | 'guilds';
26
+ export type SeyfertBased = 'onPacket';
25
27
  export * from './adapters/index';
26
- 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_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';
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
+ };
27
32
  export declare class Cache {
28
33
  intents: number;
29
34
  adapter: Adapter;
30
- readonly disabledCache: (NonGuildBased | GuildBased | GuildRelated)[];
35
+ readonly disabledCache: DisabledCache;
31
36
  users?: Users;
32
37
  guilds?: Guilds;
33
38
  members?: Members;
@@ -41,7 +46,9 @@ export declare class Cache {
41
46
  presences?: Presences;
42
47
  stageInstances?: StageInstances;
43
48
  messages?: Messages;
44
- constructor(intents: number, adapter: Adapter, disabledCache?: (NonGuildBased | GuildBased | GuildRelated)[], client?: UsingClient);
49
+ bans?: Bans;
50
+ __logger__?: Logger;
51
+ constructor(intents: number, adapter: Adapter, disabledCache?: DisabledCache, client?: UsingClient);
45
52
  flush(): ReturnCache<void>;
46
53
  hasIntent(intent: keyof typeof GatewayIntentBits): boolean;
47
54
  get hasGuildsIntent(): boolean;
@@ -52,6 +59,7 @@ export declare class Cache {
52
59
  get hasVoiceStatesIntent(): boolean;
53
60
  get hasPrenseceUpdates(): boolean;
54
61
  get hasDirectMessages(): boolean;
62
+ get hasBansIntent(): boolean;
55
63
  bulkGet(keys: (readonly [
56
64
  NonGuildBased | GuildRelated,
57
65
  string
@@ -64,18 +72,20 @@ export declare class Cache {
64
72
  roles: import("..").GuildRole[];
65
73
  emojis: import("..").GuildEmoji[];
66
74
  stickers: import("..").Sticker[];
67
- channels: NonNullable<ReturnCache<import("..").AllChannels | undefined>>[];
68
75
  members: import("..").GuildMember[];
69
76
  users: import("..").User[];
77
+ channels: NonNullable<ReturnCache<import("..").AllChannels | undefined>>[];
78
+ threads: import("..").ThreadChannel[];
70
79
  messages: import("..").Message[];
71
- presences: (Omit<import("discord-api-types/v10").GatewayPresenceUpdate, "user"> & {
80
+ presences: (Omit<import("../types").GatewayPresenceUpdate, "user"> & {
72
81
  id: string;
82
+ user_id: string;
73
83
  } & {
74
84
  guild_id: string;
75
85
  })[];
76
- threads: import("..").ThreadChannel[];
86
+ bans: import("../structures/GuildBan").GuildBan[];
77
87
  voiceStates: import("..").VoiceState[];
78
- stageInstances: (import("discord-api-types/v10").APIStageInstance & {
88
+ stageInstances: (import("../types").APIStageInstance & {
79
89
  guild_id: string;
80
90
  })[];
81
91
  overwrites: {
@@ -106,5 +116,8 @@ export declare class Cache {
106
116
  string,
107
117
  string
108
118
  ])[]): Promise<void>;
109
- onPacket(event: GatewayDispatchPayload): Promise<void>;
119
+ onPacket?(event: GatewayDispatchPayload): Promise<void>;
120
+ testAdapter(): Promise<void>;
121
+ private testUsersAndMembers;
122
+ private testChannelsAndOverwrites;
110
123
  }