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,6 +1,5 @@
1
- /// <reference types="node" />
2
- import type { APIAttachment, RESTAPIAttachment } from 'discord-api-types/v10';
3
- import { type UsingClient, type RawFile } from '..';
1
+ import type { APIAttachment, RESTAPIAttachment } from '../types';
2
+ import type { UsingClient, RawFile } from '..';
4
3
  import type { ImageResolvable, ObjectToLower } from '../common';
5
4
  import { Base } from '../structures/extra/Base';
6
5
  export interface AttachmentResolvableMap {
@@ -3,10 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.resolveImage = exports.resolveBase64 = exports.resolveAttachmentData = exports.resolveFiles = exports.resolveAttachment = exports.AttachmentBuilder = exports.Attachment = void 0;
6
+ exports.AttachmentBuilder = exports.Attachment = void 0;
7
+ exports.resolveAttachment = resolveAttachment;
8
+ exports.resolveFiles = resolveFiles;
9
+ exports.resolveAttachmentData = resolveAttachmentData;
10
+ exports.resolveBase64 = resolveBase64;
11
+ exports.resolveImage = resolveImage;
7
12
  const node_crypto_1 = require("node:crypto");
8
13
  const node_path_1 = __importDefault(require("node:path"));
9
- const __1 = require("..");
10
14
  const Base_1 = require("../structures/extra/Base");
11
15
  const node_fs_1 = require("node:fs");
12
16
  class Attachment extends Base_1.Base {
@@ -110,7 +114,6 @@ function resolveAttachment(resolve) {
110
114
  }
111
115
  return { filename: resolve.name, description: resolve.description };
112
116
  }
113
- exports.resolveAttachment = resolveAttachment;
114
117
  /**
115
118
  * Resolves a list of attachments to raw files.
116
119
  * @param resources - The list of attachments to resolve.
@@ -141,7 +144,6 @@ async function resolveFiles(resources) {
141
144
  }));
142
145
  return data;
143
146
  }
144
- exports.resolveFiles = resolveFiles;
145
147
  /**
146
148
  * Resolves the data of an attachment.
147
149
  * @param data - The resolvable data of the attachment.
@@ -151,13 +153,13 @@ exports.resolveFiles = resolveFiles;
151
153
  async function resolveAttachmentData(data, type) {
152
154
  if (data instanceof AttachmentBuilder) {
153
155
  if (!data.data.resolvable)
154
- return (0, __1.throwError)('The attachment type has been expressed as attachment but cannot be resolved as one.');
156
+ throw new Error('The attachment type has been expressed as attachment but cannot be resolved as one.');
155
157
  return { data: data.data.resolvable };
156
158
  }
157
159
  switch (type) {
158
160
  case 'url': {
159
161
  if (!/^https?:\/\//.test(data))
160
- return (0, __1.throwError)(`The attachment type has been expressed as ${type.toUpperCase()} but cannot be resolved as one.`);
162
+ throw new Error(`The attachment type has been expressed as ${type.toUpperCase()} but cannot be resolved as one.`);
161
163
  const res = await fetch(data);
162
164
  return { data: Buffer.from(await res.arrayBuffer()), contentType: res.headers.get('content-type') };
163
165
  }
@@ -165,7 +167,7 @@ async function resolveAttachmentData(data, type) {
165
167
  const file = node_path_1.default.resolve(data);
166
168
  const stats = await node_fs_1.promises.stat(file);
167
169
  if (!stats.isFile())
168
- return (0, __1.throwError)(`The attachment type has been expressed as ${type.toUpperCase()} but cannot be resolved as one.`);
170
+ throw new Error(`The attachment type has been expressed as ${type.toUpperCase()} but cannot be resolved as one.`);
169
171
  return { data: await node_fs_1.promises.readFile(file) };
170
172
  }
171
173
  case 'buffer': {
@@ -178,14 +180,13 @@ async function resolveAttachmentData(data, type) {
178
180
  buffers.push(Buffer.from(resource));
179
181
  return { data: Buffer.concat(buffers) };
180
182
  }
181
- return (0, __1.throwError)(`The attachment type has been expressed as ${type.toUpperCase()} but cannot be resolved as one.`);
183
+ throw new Error(`The attachment type has been expressed as ${type.toUpperCase()} but cannot be resolved as one.`);
182
184
  }
183
185
  default: {
184
- return (0, __1.throwError)(`The attachment type has been expressed as ${type} but cannot be resolved as one.`);
186
+ throw new Error(`The attachment type has been expressed as ${type} but cannot be resolved as one.`);
185
187
  }
186
188
  }
187
189
  }
188
- exports.resolveAttachmentData = resolveAttachmentData;
189
190
  /**
190
191
  * Resolves a base64 data to a data URL.
191
192
  * @param data - The base64 data.
@@ -196,7 +197,6 @@ function resolveBase64(data) {
196
197
  return `data:image/jpg;base64,${data.toString('base64')}`;
197
198
  return data;
198
199
  }
199
- exports.resolveBase64 = resolveBase64;
200
200
  /**
201
201
  * Resolves an image to a base64 data URL.
202
202
  * @param image - The image to resolve.
@@ -207,7 +207,7 @@ async function resolveImage(image) {
207
207
  const { data: { type, resolvable }, } = image;
208
208
  if (type && resolvable)
209
209
  return resolveBase64((await resolveAttachmentData(resolvable, type)).data);
210
- return (0, __1.throwError)(`The attachment type has been expressed as ${(type ?? 'Attachment').toUpperCase()} but cannot be resolved as one.`);
210
+ throw new Error(`The attachment type has been expressed as ${(type ?? 'Attachment').toUpperCase()} but cannot be resolved as one.`);
211
211
  }
212
212
  if (image instanceof Attachment) {
213
213
  const response = await fetch(image.url);
@@ -216,4 +216,3 @@ async function resolveImage(image) {
216
216
  const file = await resolveAttachmentData(image.data, image.type);
217
217
  return resolveBase64(file.data);
218
218
  }
219
- exports.resolveImage = resolveImage;
@@ -1,7 +1,7 @@
1
- import type { APIBaseComponent, ComponentType } from 'discord-api-types/v10';
1
+ import type { APIBaseComponent, ComponentType } from '../types';
2
2
  export declare abstract class BaseComponentBuilder<TYPE extends Partial<APIBaseComponent<ComponentType>> = APIBaseComponent<ComponentType>> {
3
3
  data: Partial<TYPE>;
4
- constructor(data: Partial<TYPE>);
4
+ constructor(data?: Partial<TYPE>);
5
5
  toJSON(): TYPE;
6
6
  }
7
7
  export type OptionValuesLength = {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseComponentBuilder = void 0;
4
4
  class BaseComponentBuilder {
5
5
  data;
6
- constructor(data) {
6
+ constructor(data = {}) {
7
7
  this.data = data;
8
8
  }
9
9
  toJSON() {
@@ -1,17 +1,16 @@
1
- import { type APIButtonComponentWithCustomId, type APIButtonComponentWithURL, type ButtonStyle } from 'discord-api-types/v10';
2
- import type { EmojiResolvable, When } from '../common';
3
- export type ButtonStylesForID = Exclude<ButtonStyle, ButtonStyle.Link>;
1
+ import { type ButtonStyle, type APIButtonComponent } from '../types';
2
+ import { type EmojiResolvable } from '../common';
4
3
  /**
5
4
  * Represents a button component.
6
5
  * @template Type - The type of the button component.
7
6
  */
8
- export declare class Button<Type extends boolean = boolean> {
9
- data: Partial<When<Type, APIButtonComponentWithCustomId, APIButtonComponentWithURL>>;
7
+ export declare class Button {
8
+ data: Partial<APIButtonComponent>;
10
9
  /**
11
10
  * Creates a new Button instance.
12
11
  * @param data - The initial data for the button.
13
12
  */
14
- constructor(data?: Partial<When<Type, APIButtonComponentWithCustomId, APIButtonComponentWithURL>>);
13
+ constructor(data?: Partial<APIButtonComponent>);
15
14
  /**
16
15
  * Sets the custom ID for the button.
17
16
  * @param id - The custom ID to set.
@@ -43,9 +42,10 @@ export declare class Button<Type extends boolean = boolean> {
43
42
  */
44
43
  setDisabled(disabled?: boolean): this;
45
44
  setStyle(style: ButtonStyle): this;
45
+ setSKUId(skuId: string): this;
46
46
  /**
47
47
  * Converts the Button instance to its JSON representation.
48
48
  * @returns The JSON representation of the Button instance.
49
49
  */
50
- toJSON(): When<Type, APIButtonComponentWithCustomId, APIButtonComponentWithURL>;
50
+ toJSON(): Partial<APIButtonComponent>;
51
51
  }
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Button = void 0;
4
- const v10_1 = require("discord-api-types/v10");
5
- const __1 = require("..");
6
- const functions_1 = require("../structures/extra/functions");
4
+ const types_1 = require("../types");
5
+ const common_1 = require("../common");
7
6
  /**
8
7
  * Represents a button component.
9
8
  * @template Type - The type of the button component.
@@ -16,7 +15,7 @@ class Button {
16
15
  */
17
16
  constructor(data = {}) {
18
17
  this.data = data;
19
- this.data.type = v10_1.ComponentType.Button;
18
+ this.data.type = types_1.ComponentType.Button;
20
19
  }
21
20
  /**
22
21
  * Sets the custom ID for the button.
@@ -24,7 +23,6 @@ class Button {
24
23
  * @returns The modified Button instance.
25
24
  */
26
25
  setCustomId(id) {
27
- // @ts-expect-error
28
26
  this.data.custom_id = id;
29
27
  return this;
30
28
  }
@@ -34,7 +32,6 @@ class Button {
34
32
  * @returns The modified Button instance.
35
33
  */
36
34
  setURL(url) {
37
- // @ts-expect-error
38
35
  this.data.url = url;
39
36
  return this;
40
37
  }
@@ -53,10 +50,11 @@ class Button {
53
50
  * @returns The modified Button instance.
54
51
  */
55
52
  setEmoji(emoji) {
56
- const resolve = (0, functions_1.resolvePartialEmoji)(emoji);
53
+ const resolve = (0, common_1.resolvePartialEmoji)(emoji);
57
54
  if (!resolve)
58
- return (0, __1.throwError)('Invalid Emoji');
59
- this.data.emoji = resolve;
55
+ throw new Error('Invalid Emoji');
56
+ this.data.emoji =
57
+ resolve;
60
58
  return this;
61
59
  }
62
60
  /**
@@ -72,6 +70,10 @@ class Button {
72
70
  this.data.style = style;
73
71
  return this;
74
72
  }
73
+ setSKUId(skuId) {
74
+ this.data.sku_id = skuId;
75
+ return this;
76
+ }
75
77
  /**
76
78
  * Converts the Button instance to its JSON representation.
77
79
  * @returns The JSON representation of the Button instance.
@@ -1,4 +1,4 @@
1
- import type { APIEmbed, APIEmbedAuthor, APIEmbedField, APIEmbedFooter } from 'discord-api-types/v10';
1
+ import type { APIEmbed, APIEmbedAuthor, APIEmbedField, APIEmbedFooter } from '../types';
2
2
  import { type ColorResolvable, type ObjectToLower, type RestOrArray } from '../common';
3
3
  /**
4
4
  * Represents a message embed.
@@ -1,4 +1,4 @@
1
- import { type APIModalInteractionResponseCallbackData, type APITextInputComponent, type TextInputStyle } from 'discord-api-types/v10';
1
+ import { type APIModalInteractionResponseCallbackData, type APITextInputComponent, type TextInputStyle } from '../types';
2
2
  import type { RestOrArray } from '../common';
3
3
  import type { ActionRow } from './ActionRow';
4
4
  import { BaseComponentBuilder, type OptionValuesLength } from './Base';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TextInput = exports.Modal = void 0;
4
- const v10_1 = require("discord-api-types/v10");
4
+ const types_1 = require("../types");
5
5
  const Base_1 = require("./Base");
6
6
  const index_1 = require("./index");
7
7
  /**
@@ -104,7 +104,7 @@ class TextInput extends Base_1.BaseComponentBuilder {
104
104
  * @param data - Optional data for the text input.
105
105
  */
106
106
  constructor(data = {}) {
107
- super({ ...data, type: v10_1.ComponentType.TextInput });
107
+ super({ ...data, type: types_1.ComponentType.TextInput });
108
108
  }
109
109
  /**
110
110
  * Sets the style of the text input.
@@ -1,5 +1,5 @@
1
- import { type APIPollMedia, type RESTAPIPollCreate } from 'discord-api-types/v10';
2
- import type { DeepPartial, EmojiResolvable, RestOrArray } from '../common';
1
+ import { type APIPollMedia, type RESTAPIPollCreate } from '../types';
2
+ import { type DeepPartial, type EmojiResolvable, type RestOrArray } from '../common';
3
3
  export declare class PollBuilder {
4
4
  data: DeepPartial<RESTAPIPollCreate>;
5
5
  constructor(data?: DeepPartial<RESTAPIPollCreate>);
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PollBuilder = void 0;
4
- const v10_1 = require("discord-api-types/v10");
5
- const __1 = require("..");
6
- const functions_1 = require("../structures/extra/functions");
4
+ const types_1 = require("../types");
5
+ const common_1 = require("../common");
7
6
  class PollBuilder {
8
7
  data;
9
8
  constructor(data = {}) {
10
9
  this.data = data;
11
- this.data.layout_type = v10_1.PollLayoutType.Default;
10
+ this.data.layout_type = types_1.PollLayoutType.Default;
12
11
  }
13
12
  addAnswers(...answers) {
14
13
  this.data.answers = (this.data.answers ?? []).concat(answers.flat().map(x => ({ poll_media: this.resolvedPollMedia(x) })));
@@ -39,9 +38,9 @@ class PollBuilder {
39
38
  resolvedPollMedia(data) {
40
39
  if (!data.emoji)
41
40
  return { text: data.text };
42
- const resolve = (0, functions_1.resolvePartialEmoji)(data.emoji);
41
+ const resolve = (0, common_1.resolvePartialEmoji)(data.emoji);
43
42
  if (!resolve)
44
- return (0, __1.throwError)('Invalid Emoji');
43
+ throw new Error('Invalid Emoji');
45
44
  return { text: data.text, emoji: resolve };
46
45
  }
47
46
  }
@@ -1,4 +1,4 @@
1
- import { type APIChannelSelectComponent, type APIMentionableSelectComponent, type APIRoleSelectComponent, type APISelectMenuComponent, type APISelectMenuOption, type APIStringSelectComponent, type APIUserSelectComponent, type ChannelType, SelectMenuDefaultValueType } from 'discord-api-types/v10';
1
+ import { type APIChannelSelectComponent, type APIMentionableSelectComponent, type APIRoleSelectComponent, type APISelectMenuComponent, type APISelectMenuOption, type APIStringSelectComponent, type APIUserSelectComponent, type ChannelType, SelectMenuDefaultValueType } from '../types';
2
2
  import type { EmojiResolvable, RestOrArray, ToClass } from '../common';
3
3
  import type { ChannelSelectMenuInteraction, ComponentInteraction, MentionableSelectMenuInteraction, RoleSelectMenuInteraction, StringSelectMenuInteraction, UserSelectMenuInteraction } from '../structures';
4
4
  import { BaseComponentBuilder, type OptionValuesLength } from './Base';
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StringSelectOption = exports.StringSelectMenu = exports.ChannelSelectMenu = exports.MentionableSelectMenu = exports.RoleSelectMenu = exports.UserSelectMenu = exports.SelectMenu = void 0;
4
- const v10_1 = require("discord-api-types/v10");
5
- const __1 = require("..");
6
- const functions_1 = require("../structures/extra/functions");
4
+ const types_1 = require("../types");
5
+ const utils_1 = require("../common/it/utils");
7
6
  const Base_1 = require("./Base");
8
7
  /**
9
8
  * Maps default values for Select Menus.
@@ -76,7 +75,7 @@ exports.SelectMenu = SelectMenu;
76
75
  */
77
76
  class UserSelectMenu extends SelectMenu {
78
77
  constructor(data = {}) {
79
- super({ ...data, type: v10_1.ComponentType.UserSelect });
78
+ super({ ...data, type: types_1.ComponentType.UserSelect });
80
79
  }
81
80
  /**
82
81
  * Adds default selected users to the select menu.
@@ -84,7 +83,7 @@ class UserSelectMenu extends SelectMenu {
84
83
  * @returns The current UserSelectMenu instance.
85
84
  */
86
85
  addDefaultUsers(...users) {
87
- this.data.default_values = (this.data.default_values ?? []).concat(mappedDefault(users, v10_1.SelectMenuDefaultValueType.User));
86
+ this.data.default_values = (this.data.default_values ?? []).concat(mappedDefault(users, types_1.SelectMenuDefaultValueType.User));
88
87
  return this;
89
88
  }
90
89
  /**
@@ -93,7 +92,7 @@ class UserSelectMenu extends SelectMenu {
93
92
  * @returns The current UserSelectMenu instance.
94
93
  */
95
94
  setDefaultUsers(...users) {
96
- this.data.default_values = mappedDefault(users, v10_1.SelectMenuDefaultValueType.User);
95
+ this.data.default_values = mappedDefault(users, types_1.SelectMenuDefaultValueType.User);
97
96
  return this;
98
97
  }
99
98
  }
@@ -107,7 +106,7 @@ exports.UserSelectMenu = UserSelectMenu;
107
106
  */
108
107
  class RoleSelectMenu extends SelectMenu {
109
108
  constructor(data = {}) {
110
- super({ ...data, type: v10_1.ComponentType.RoleSelect });
109
+ super({ ...data, type: types_1.ComponentType.RoleSelect });
111
110
  }
112
111
  /**
113
112
  * Adds default selected roles to the select menu.
@@ -115,7 +114,7 @@ class RoleSelectMenu extends SelectMenu {
115
114
  * @returns The current RoleSelectMenu instance.
116
115
  */
117
116
  addDefaultRoles(...roles) {
118
- this.data.default_values = (this.data.default_values ?? []).concat(mappedDefault(roles, v10_1.SelectMenuDefaultValueType.Role));
117
+ this.data.default_values = (this.data.default_values ?? []).concat(mappedDefault(roles, types_1.SelectMenuDefaultValueType.Role));
119
118
  return this;
120
119
  }
121
120
  /**
@@ -124,7 +123,7 @@ class RoleSelectMenu extends SelectMenu {
124
123
  * @returns The current RoleSelectMenu instance.
125
124
  */
126
125
  setDefaultRoles(...roles) {
127
- this.data.default_values = mappedDefault(roles, v10_1.SelectMenuDefaultValueType.Role);
126
+ this.data.default_values = mappedDefault(roles, types_1.SelectMenuDefaultValueType.Role);
128
127
  return this;
129
128
  }
130
129
  }
@@ -137,7 +136,7 @@ exports.RoleSelectMenu = RoleSelectMenu;
137
136
  */
138
137
  class MentionableSelectMenu extends SelectMenu {
139
138
  constructor(data = {}) {
140
- super({ ...data, type: v10_1.ComponentType.MentionableSelect });
139
+ super({ ...data, type: types_1.ComponentType.MentionableSelect });
141
140
  }
142
141
  /**
143
142
  * Sets the default selected roles or users for the select menu.
@@ -147,7 +146,7 @@ class MentionableSelectMenu extends SelectMenu {
147
146
  setDefaultMentionables(...mentionables) {
148
147
  this.data.default_values = mentionables.flat().map(mentionable => ({
149
148
  id: mentionable.id,
150
- type: v10_1.SelectMenuDefaultValueType[mentionable.type],
149
+ type: types_1.SelectMenuDefaultValueType[mentionable.type],
151
150
  }));
152
151
  return this;
153
152
  }
@@ -159,7 +158,7 @@ class MentionableSelectMenu extends SelectMenu {
159
158
  addDefaultMentionables(...mentionables) {
160
159
  this.data.default_values = (this.data.default_values ?? []).concat(mentionables.flat().map(mentionable => ({
161
160
  id: mentionable.id,
162
- type: v10_1.SelectMenuDefaultValueType[mentionable.type],
161
+ type: types_1.SelectMenuDefaultValueType[mentionable.type],
163
162
  })));
164
163
  return this;
165
164
  }
@@ -175,7 +174,7 @@ exports.MentionableSelectMenu = MentionableSelectMenu;
175
174
  */
176
175
  class ChannelSelectMenu extends SelectMenu {
177
176
  constructor(data = {}) {
178
- super({ ...data, type: v10_1.ComponentType.ChannelSelect });
177
+ super({ ...data, type: types_1.ComponentType.ChannelSelect });
179
178
  }
180
179
  /**
181
180
  * Adds default selected channels to the select menu.
@@ -183,7 +182,7 @@ class ChannelSelectMenu extends SelectMenu {
183
182
  * @returns The current ChannelSelectMenu instance.
184
183
  */
185
184
  addDefaultChannels(...channels) {
186
- this.data.default_values = (this.data.default_values ?? []).concat(mappedDefault(channels, v10_1.SelectMenuDefaultValueType.Channel));
185
+ this.data.default_values = (this.data.default_values ?? []).concat(mappedDefault(channels, types_1.SelectMenuDefaultValueType.Channel));
187
186
  return this;
188
187
  }
189
188
  /**
@@ -192,7 +191,7 @@ class ChannelSelectMenu extends SelectMenu {
192
191
  * @returns The current ChannelSelectMenu instance.
193
192
  */
194
193
  setDefaultChannels(...channels) {
195
- this.data.default_values = mappedDefault(channels, v10_1.SelectMenuDefaultValueType.Channel);
194
+ this.data.default_values = mappedDefault(channels, types_1.SelectMenuDefaultValueType.Channel);
196
195
  return this;
197
196
  }
198
197
  /**
@@ -219,7 +218,7 @@ exports.ChannelSelectMenu = ChannelSelectMenu;
219
218
  */
220
219
  class StringSelectMenu extends SelectMenu {
221
220
  constructor(data = {}) {
222
- super({ ...data, type: v10_1.ComponentType.StringSelect });
221
+ super({ ...data, type: types_1.ComponentType.StringSelect });
223
222
  this.data.options = (data.options ?? []).map(x => new StringSelectOption(x));
224
223
  }
225
224
  /**
@@ -301,9 +300,9 @@ class StringSelectOption {
301
300
  * @returns The modified option instance.
302
301
  */
303
302
  setEmoji(emoji) {
304
- const resolve = (0, functions_1.resolvePartialEmoji)(emoji);
303
+ const resolve = (0, utils_1.resolvePartialEmoji)(emoji);
305
304
  if (!resolve)
306
- return (0, __1.throwError)('Invalid Emoji');
305
+ throw new Error('Invalid Emoji');
307
306
  this.data.emoji = resolve;
308
307
  return this;
309
308
  }
@@ -1,4 +1,4 @@
1
- import { type APIActionRowComponent, type APIActionRowComponentTypes } from 'discord-api-types/v10';
1
+ import { type APIActionRowComponent, type APIActionRowComponentTypes } from '../types';
2
2
  import { ActionRow } from './ActionRow';
3
3
  import type { BuilderComponents } from './types';
4
4
  export * from './ActionRow';
@@ -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.fromComponent = void 0;
18
- const v10_1 = require("discord-api-types/v10");
17
+ exports.fromComponent = fromComponent;
18
+ const types_1 = require("../types");
19
19
  const ActionRow_1 = require("./ActionRow");
20
20
  const Button_1 = require("./Button");
21
21
  const Modal_1 = require("./Modal");
@@ -34,22 +34,21 @@ function fromComponent(data) {
34
34
  return data;
35
35
  }
36
36
  switch (data.type) {
37
- case v10_1.ComponentType.Button:
37
+ case types_1.ComponentType.Button:
38
38
  return new Button_1.Button(data);
39
- case v10_1.ComponentType.StringSelect:
39
+ case types_1.ComponentType.StringSelect:
40
40
  return new SelectMenu_1.StringSelectMenu(data);
41
- case v10_1.ComponentType.TextInput:
41
+ case types_1.ComponentType.TextInput:
42
42
  return new Modal_1.TextInput(data);
43
- case v10_1.ComponentType.UserSelect:
43
+ case types_1.ComponentType.UserSelect:
44
44
  return new SelectMenu_1.UserSelectMenu(data);
45
- case v10_1.ComponentType.RoleSelect:
45
+ case types_1.ComponentType.RoleSelect:
46
46
  return new SelectMenu_1.RoleSelectMenu(data);
47
- case v10_1.ComponentType.MentionableSelect:
47
+ case types_1.ComponentType.MentionableSelect:
48
48
  return new SelectMenu_1.MentionableSelectMenu(data);
49
- case v10_1.ComponentType.ChannelSelect:
49
+ case types_1.ComponentType.ChannelSelect:
50
50
  return new SelectMenu_1.ChannelSelectMenu(data);
51
- case v10_1.ComponentType.ActionRow:
51
+ case types_1.ComponentType.ActionRow:
52
52
  return new ActionRow_1.ActionRow(data);
53
53
  }
54
54
  }
55
- exports.fromComponent = fromComponent;
@@ -1,21 +1,28 @@
1
1
  import type { Adapter } from './types';
2
- export declare class MemoryAdapter implements Adapter {
2
+ export interface MemoryAdapterOptions<T> {
3
+ encode(data: any): T;
4
+ decode(data: T): unknown;
5
+ }
6
+ export declare class MemoryAdapter<T> implements Adapter {
7
+ options: MemoryAdapterOptions<T>;
3
8
  isAsync: boolean;
4
- readonly storage: Map<string, string>;
9
+ readonly storage: Map<string, T>;
5
10
  readonly relationships: Map<string, string[]>;
11
+ constructor(options?: MemoryAdapterOptions<T>);
12
+ start(): void;
6
13
  scan(query: string, keys?: false): any[];
7
14
  scan(query: string, keys: true): string[];
8
- get(keys: string): any;
9
- get(keys: string[]): any[];
10
- set(keys: string, data: any): void;
11
- set(keys: [string, any][]): void;
15
+ bulkGet(keys: string[]): unknown[];
16
+ get(keys: string): unknown;
17
+ bulkSet(keys: [string, any][]): void;
18
+ set(key: string, data: any): void;
19
+ bulkPatch(updateOnly: boolean, keys: [string, any][]): void;
12
20
  patch(updateOnly: boolean, keys: string, data: any): void;
13
- patch(updateOnly: boolean, keys: [string, any][]): void;
14
21
  values(to: string): any[];
15
22
  keys(to: string): string[];
16
23
  count(to: string): number;
17
- remove(keys: string): void;
18
- remove(keys: string[]): void;
24
+ bulkRemove(keys: string[]): void;
25
+ remove(key: string): void;
19
26
  flush(): void;
20
27
  contains(to: string, keys: string): boolean;
21
28
  getToRelationship(to: string): string[];
@@ -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);