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
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Formatter = exports.TimestampStyle = exports.HeadingLevel = void 0;
4
+ /**
5
+ * Represents heading levels.
6
+ */
7
+ var HeadingLevel;
8
+ (function (HeadingLevel) {
9
+ /**
10
+ * Represents a level 1 heading. (#)
11
+ */
12
+ HeadingLevel[HeadingLevel["H1"] = 1] = "H1";
13
+ /**
14
+ * Represents a level 2 heading. (##)
15
+ */
16
+ HeadingLevel[HeadingLevel["H2"] = 2] = "H2";
17
+ /**
18
+ * Represents a level 3 heading. (###)
19
+ */
20
+ HeadingLevel[HeadingLevel["H3"] = 3] = "H3";
21
+ })(HeadingLevel || (exports.HeadingLevel = HeadingLevel = {}));
22
+ /**
23
+ * Represents timestamp styles.
24
+ */
25
+ var TimestampStyle;
26
+ (function (TimestampStyle) {
27
+ /**
28
+ * Represents a short timestamp style.
29
+ */
30
+ TimestampStyle["ShortTime"] = "t";
31
+ /**
32
+ * Represents a long timestamp style.
33
+ */
34
+ TimestampStyle["LongTime"] = "T";
35
+ /**
36
+ * Represents a short date style.
37
+ */
38
+ TimestampStyle["ShortDate"] = "d";
39
+ /**
40
+ * Represents a long date style.
41
+ */
42
+ TimestampStyle["LongDate"] = "D";
43
+ /**
44
+ * Represents a short time style.
45
+ */
46
+ TimestampStyle["ShortDateTime"] = "f";
47
+ /**
48
+ * Represents a long time style.
49
+ */
50
+ TimestampStyle["LongDateTime"] = "F";
51
+ /**
52
+ * Represents a relative time style.
53
+ */
54
+ TimestampStyle["RelativeTime"] = "R";
55
+ })(TimestampStyle || (exports.TimestampStyle = TimestampStyle = {}));
56
+ /**
57
+ * Represents a formatter utility for formatting content.
58
+ */
59
+ class Formatter {
60
+ /**
61
+ * Formats a code block.
62
+ * @param content The content of the code block.
63
+ * @param language The language of the code block. Defaults to 'txt'.
64
+ * @returns The formatted code block.
65
+ */
66
+ static codeBlock(content, language = 'txt') {
67
+ return `\`\`\`${language}\n${content}\n\`\`\``;
68
+ }
69
+ /**
70
+ * Formats content into inline code.
71
+ * @param content The content to format.
72
+ * @returns The formatted content.
73
+ */
74
+ static inlineCode(content) {
75
+ return `\`${content}\``;
76
+ }
77
+ /**
78
+ * Formats content into bold text.
79
+ * @param content The content to format.
80
+ * @returns The formatted content.
81
+ */
82
+ static bold(content) {
83
+ return `**${content}**`;
84
+ }
85
+ /**
86
+ * Formats content into italic text.
87
+ * @param content The content to format.
88
+ * @returns The formatted content.
89
+ */
90
+ static italic(content) {
91
+ return `*${content}*`;
92
+ }
93
+ /**
94
+ * Formats content into underlined text.
95
+ * @param content The content to format.
96
+ * @returns The formatted content.
97
+ */
98
+ static underline(content) {
99
+ return `__${content}__`;
100
+ }
101
+ /**
102
+ * Formats content into strikethrough text.
103
+ * @param content The content to format.
104
+ * @returns The formatted content.
105
+ */
106
+ static strikeThrough(content) {
107
+ return `~~${content}~~`;
108
+ }
109
+ /**
110
+ * Formats content into a hyperlink.
111
+ * @param content The content to format.
112
+ * @param url The URL to hyperlink to.
113
+ * @returns The formatted content.
114
+ */
115
+ static hyperlink(content, url) {
116
+ return `[${content}](${url})`;
117
+ }
118
+ /**
119
+ * Formats content into a spoiler.
120
+ * @param content The content to format.
121
+ * @returns The formatted content.
122
+ */
123
+ static spoiler(content) {
124
+ return `||${content}||`;
125
+ }
126
+ /**
127
+ * Formats content into a quote.
128
+ * @param content The content to format.
129
+ * @returns The formatted content.
130
+ */
131
+ static blockQuote(content) {
132
+ return `>>> ${content}`;
133
+ }
134
+ /**
135
+ * Formats content into a quote.
136
+ * @param content The content to format.
137
+ * @returns The formatted content.
138
+ */
139
+ static quote(content) {
140
+ return `> ${content}`;
141
+ }
142
+ /**
143
+ * Formats a message link.
144
+ * @param guildId The ID of the guild.
145
+ * @param channelId The ID of the channel.
146
+ * @param messageId The ID of the message.
147
+ * @returns The formatted message link.
148
+ */
149
+ static messageLink(guildId, channelId, messageId) {
150
+ return `https://discord.com/channels/${guildId}/${channelId}/${messageId}`;
151
+ }
152
+ /**
153
+ * Formats a header.
154
+ * @param content The content of the header.
155
+ * @param level The level of the header. Defaults to 1.
156
+ * @returns The formatted header.
157
+ */
158
+ static header(content, level = HeadingLevel.H1) {
159
+ return `${'#'.repeat(level)} ${content}`;
160
+ }
161
+ /**
162
+ * Formats a list.
163
+ * @param items The items of the list.
164
+ * @param ordered Whether the list is ordered. Defaults to false.
165
+ * @returns The formatted list.
166
+ */
167
+ static list(items, ordered = false) {
168
+ return items
169
+ .map((item, index) => {
170
+ return (ordered ? `${index + 1}. ` : '- ') + item;
171
+ })
172
+ .join('\n');
173
+ }
174
+ /**
175
+ * Formats the given timestamp into discord unix timestamp format.
176
+ * @param timestamp The timestamp to format.
177
+ * @param style The style of the timestamp. Defaults to 't'.
178
+ * @returns The formatted timestamp.
179
+ */
180
+ static timestamp(timestamp, style = TimestampStyle.RelativeTime) {
181
+ return `<t:${Math.floor(timestamp.getTime() / 1000)}:${style}>`;
182
+ }
183
+ /**
184
+ * Formats a user mention.
185
+ * @param userId The ID of the user to mention.
186
+ * @returns The formatted user mention.
187
+ */
188
+ static userMention(userId) {
189
+ return `<@${userId}>`;
190
+ }
191
+ /**
192
+ * Formats a role mention.
193
+ * @param roleId The ID of the role to mention.
194
+ * @returns The formatted role mention.
195
+ */
196
+ static roleMention(roleId) {
197
+ return `<@&${roleId}>`;
198
+ }
199
+ /**
200
+ * Formats a channel mention.
201
+ * @param channelId The ID of the channel to mention.
202
+ * @returns The formatted channel mention.
203
+ */
204
+ static channelMention(channelId) {
205
+ return `<#${channelId}>`;
206
+ }
207
+ /**
208
+ * Formats an emoji.
209
+ * @param emojiId The ID of the emoji.
210
+ * @param animated Whether the emoji is animated. Defaults to false.
211
+ * @returns The formatted emoji.
212
+ */
213
+ static emojiMention(emojiId, name, animated = false) {
214
+ return `<${animated ? 'a' : ''}:${name ?? '_'}:${emojiId}>`;
215
+ }
216
+ /**
217
+ * Formats a channel link.
218
+ * @param channelId The ID of the channel.
219
+ * @param guildId The ID of the guild. Defaults to '@me'.
220
+ * @returns The formatted channel link.
221
+ */
222
+ static channelLink(channelId, guildId) {
223
+ return `https://discord.com/channels/${guildId ?? '@me'}/${channelId}`;
224
+ }
225
+ }
226
+ exports.Formatter = Formatter;
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { type WriteStream } from 'node:fs';
3
2
  export declare enum LogLevels {
4
3
  Debug = 0,
@@ -42,10 +42,10 @@ class Logger {
42
42
  }
43
43
  static async clearLogs() {
44
44
  for (const i of await node_fs_1.promises.readdir((0, node_path_1.join)(process.cwd(), Logger.dirname), { withFileTypes: true })) {
45
- if (this.streams[i.name])
46
- await new Promise(res => this.streams[i.name].close(res));
45
+ if (Logger.streams[i.name])
46
+ await new Promise(res => Logger.streams[i.name].close(res));
47
47
  await node_fs_1.promises.unlink((0, node_path_1.join)(process.cwd(), Logger.dirname, i.name)).catch(() => { });
48
- delete this.streams[i.name];
48
+ delete Logger.streams[i.name];
49
49
  }
50
50
  }
51
51
  /**
@@ -109,7 +109,10 @@ class Logger {
109
109
  if (level < this.level)
110
110
  return;
111
111
  let log;
112
- if (!Logger.__callback) {
112
+ if (Logger.__callback) {
113
+ log = Logger.__callback(this, level, args);
114
+ }
115
+ else {
113
116
  const color = Logger.colorFunctions.get(level) ?? Logger.noColor;
114
117
  const memoryData = process.memoryUsage?.();
115
118
  const date = new Date();
@@ -121,9 +124,6 @@ class Logger {
121
124
  ...args,
122
125
  ];
123
126
  }
124
- else {
125
- log = Logger.__callback(this, level, args);
126
- }
127
127
  if (!log)
128
128
  return;
129
129
  this.__write(log);
@@ -166,7 +166,7 @@ class Logger {
166
166
  }
167
167
  __write(log) {
168
168
  if (this.saveOnFile || Logger.saveOnFile === 'all' || Logger.saveOnFile?.includes(this.name)) {
169
- if (!Logger.createdDir && !(0, node_fs_1.existsSync)((0, node_path_1.join)(process.cwd(), Logger.dirname))) {
169
+ if (!(Logger.createdDir || (0, node_fs_1.existsSync)((0, node_path_1.join)(process.cwd(), Logger.dirname)))) {
170
170
  Logger.createdDir = true;
171
171
  (0, node_fs_1.mkdirSync)((0, node_path_1.join)(process.cwd(), Logger.dirname), { recursive: true });
172
172
  }
@@ -1,4 +1,6 @@
1
- import { type ColorResolvable, type Logger, type ObjectToLower, type ObjectToSnake } from '..';
1
+ import { type EmojiResolvable, type TypeArray, type ColorResolvable, type Logger, type ObjectToLower, type ObjectToSnake } from '..';
2
+ import { type APIPartialEmoji } from '../../types';
3
+ import type { Cache } from '../..';
2
4
  /**
3
5
  * Resolves the color to a numeric representation.
4
6
  * @param color The color to resolve.
@@ -17,7 +19,7 @@ export declare function delay<T>(time: number, result?: T): Promise<T>;
17
19
  * @param o The value to check.
18
20
  * @returns `true` if the value is an object, otherwise `false`.
19
21
  */
20
- export declare function isObject(o: any): boolean;
22
+ export declare function isObject(o: any): o is Record<string, unknown>;
21
23
  /**
22
24
  * Merges multiple options objects together, deeply extending objects.
23
25
  * @param defaults The default options object.
@@ -97,3 +99,14 @@ export declare function fakePromise<T = unknown | Promise<unknown>>(value: T): {
97
99
  };
98
100
  export declare function lazyLoadPackage<T>(mod: string): T | undefined;
99
101
  export declare function isCloudfareWorker(): boolean;
102
+ /**
103
+ *
104
+ * Convert a timestamp to a snowflake.
105
+ * @param id The timestamp to convert.
106
+ * @returns The snowflake.
107
+ */
108
+ export declare function snowflakeToTimestamp(id: string): bigint;
109
+ export declare function resolvePartialEmoji(emoji: EmojiResolvable): APIPartialEmoji | undefined;
110
+ export declare function resolveEmoji(emoji: EmojiResolvable, cache: Cache): Promise<APIPartialEmoji | undefined>;
111
+ export declare function encodeEmoji(rawEmoji: APIPartialEmoji): string;
112
+ export declare function hasProps<T extends Record<any, any>>(target: T, props: TypeArray<keyof T>): boolean;
@@ -1,9 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isCloudfareWorker = exports.lazyLoadPackage = exports.fakePromise = exports.magicImport = exports.ReplaceRegex = exports.toCamelCase = exports.toSnakeCase = exports.BaseHandler = exports.filterSplit = exports.MergeOptions = exports.isObject = exports.delay = exports.resolveColor = void 0;
3
+ exports.ReplaceRegex = exports.BaseHandler = void 0;
4
+ exports.resolveColor = resolveColor;
5
+ exports.delay = delay;
6
+ exports.isObject = isObject;
7
+ exports.MergeOptions = MergeOptions;
8
+ exports.filterSplit = filterSplit;
9
+ exports.toSnakeCase = toSnakeCase;
10
+ exports.toCamelCase = toCamelCase;
11
+ exports.magicImport = magicImport;
12
+ exports.fakePromise = fakePromise;
13
+ exports.lazyLoadPackage = lazyLoadPackage;
14
+ exports.isCloudfareWorker = isCloudfareWorker;
15
+ exports.snowflakeToTimestamp = snowflakeToTimestamp;
16
+ exports.resolvePartialEmoji = resolvePartialEmoji;
17
+ exports.resolveEmoji = resolveEmoji;
18
+ exports.encodeEmoji = encodeEmoji;
19
+ exports.hasProps = hasProps;
4
20
  const node_fs_1 = require("node:fs");
5
21
  const node_path_1 = require("node:path");
6
22
  const __1 = require("..");
23
+ const types_1 = require("../../types");
7
24
  /**
8
25
  * Resolves the color to a numeric representation.
9
26
  * @param color The color to resolve.
@@ -30,7 +47,6 @@ function resolveColor(color) {
30
47
  }
31
48
  return color;
32
49
  }
33
- exports.resolveColor = resolveColor;
34
50
  /**
35
51
  * Delays the resolution of a Promise by the specified time.
36
52
  * @param time The time in milliseconds to delay the resolution.
@@ -40,7 +56,6 @@ exports.resolveColor = resolveColor;
40
56
  function delay(time, result) {
41
57
  return new Promise(r => setTimeout(r, time, result));
42
58
  }
43
- exports.delay = delay;
44
59
  /**
45
60
  * Checks if a given value is an object.
46
61
  * @param o The value to check.
@@ -49,7 +64,6 @@ exports.delay = delay;
49
64
  function isObject(o) {
50
65
  return o && typeof o === 'object' && !Array.isArray(o);
51
66
  }
52
- exports.isObject = isObject;
53
67
  /**
54
68
  * Merges multiple options objects together, deeply extending objects.
55
69
  * @param defaults The default options object.
@@ -69,7 +83,6 @@ function MergeOptions(defaults, ...options) {
69
83
  ])),
70
84
  }, ...options);
71
85
  }
72
- exports.MergeOptions = MergeOptions;
73
86
  /**
74
87
  * Splits an array into two arrays based on the result of a predicate function.
75
88
  * @param arr The array to split.
@@ -88,7 +101,6 @@ function filterSplit(arr, func) {
88
101
  }
89
102
  return { expect, never };
90
103
  }
91
- exports.filterSplit = filterSplit;
92
104
  /**
93
105
  * Represents a base handler class.
94
106
  */
@@ -118,10 +130,8 @@ class BaseHandler {
118
130
  if (i.isDirectory()) {
119
131
  files.push(...(await this.getFiles((0, node_path_1.join)(dir, i.name))));
120
132
  }
121
- else {
122
- if (this.filter((0, node_path_1.join)(dir, i.name))) {
123
- files.push((0, node_path_1.join)(dir, i.name));
124
- }
133
+ else if (this.filter((0, node_path_1.join)(dir, i.name))) {
134
+ files.push((0, node_path_1.join)(dir, i.name));
125
135
  }
126
136
  }
127
137
  return files;
@@ -131,7 +141,7 @@ class BaseHandler {
131
141
  * @param paths The paths of the files to load.
132
142
  * @returns A Promise that resolves to an array of loaded files.
133
143
  */
134
- async loadFiles(paths) {
144
+ loadFiles(paths) {
135
145
  return Promise.all(paths.map(path => magicImport(path).then(file => file.default ?? file)));
136
146
  }
137
147
  /**
@@ -139,11 +149,11 @@ class BaseHandler {
139
149
  * @param paths The paths of the files to load.
140
150
  * @returns A Promise that resolves to an array of objects containing name, file, and path.
141
151
  */
142
- async loadFilesK(paths) {
152
+ loadFilesK(paths) {
143
153
  return Promise.all(paths.map(path => magicImport(path).then(file => {
144
154
  return {
145
155
  name: (0, node_path_1.basename)(path),
146
- file: file.default ?? file,
156
+ file,
147
157
  path,
148
158
  };
149
159
  })));
@@ -187,7 +197,6 @@ function toSnakeCase(target) {
187
197
  }
188
198
  return result;
189
199
  }
190
- exports.toSnakeCase = toSnakeCase;
191
200
  /**
192
201
  * Convert a snake_case object to camelCase.
193
202
  * @param target The object to convert.
@@ -225,7 +234,6 @@ function toCamelCase(target) {
225
234
  }
226
235
  return result;
227
236
  }
228
- exports.toCamelCase = toCamelCase;
229
237
  exports.ReplaceRegex = {
230
238
  camel: (s) => {
231
239
  return s.toLowerCase().replace(/(_\S)/gi, a => a[1].toUpperCase());
@@ -239,20 +247,16 @@ async function magicImport(path) {
239
247
  return require(path);
240
248
  }
241
249
  catch {
242
- // biome-ignore lint/security/noGlobalEval: modules import broke
243
250
  return eval('((path) => import(`file:///${path}?update=${Date.now()}`))')(path.split('\\').join('\\\\'));
244
251
  }
245
252
  }
246
- exports.magicImport = magicImport;
247
253
  function fakePromise(value) {
248
254
  if (value instanceof Promise)
249
255
  return value;
250
256
  return {
251
- // biome-ignore lint/suspicious/noThenProperty: magic
252
257
  then: callback => callback(value),
253
258
  };
254
259
  }
255
- exports.fakePromise = fakePromise;
256
260
  function lazyLoadPackage(mod) {
257
261
  try {
258
262
  return require(mod);
@@ -262,9 +266,64 @@ function lazyLoadPackage(mod) {
262
266
  return;
263
267
  }
264
268
  }
265
- exports.lazyLoadPackage = lazyLoadPackage;
266
269
  function isCloudfareWorker() {
267
270
  //@ts-expect-error
268
271
  return process.platform === 'browser';
269
272
  }
270
- exports.isCloudfareWorker = isCloudfareWorker;
273
+ /**
274
+ *
275
+ * Convert a timestamp to a snowflake.
276
+ * @param id The timestamp to convert.
277
+ * @returns The snowflake.
278
+ */
279
+ function snowflakeToTimestamp(id) {
280
+ return (BigInt(id) >> 22n) + __1.DiscordEpoch;
281
+ }
282
+ function resolvePartialEmoji(emoji) {
283
+ if (typeof emoji === 'string') {
284
+ const groups = emoji.match(types_1.FormattingPatterns.Emoji)?.groups;
285
+ if (groups) {
286
+ return { animated: !!groups.animated, name: groups.name, id: groups.id };
287
+ }
288
+ if (emoji.includes('%')) {
289
+ emoji = encodeURIComponent(emoji);
290
+ }
291
+ if (!(emoji.includes(':') || emoji.match(/\d{17,20}/g))) {
292
+ return { name: emoji, id: null };
293
+ }
294
+ return;
295
+ }
296
+ if (!(emoji.id && emoji.name))
297
+ return;
298
+ return { id: emoji.id, name: emoji.name, animated: !!emoji.animated };
299
+ }
300
+ async function resolveEmoji(emoji, cache) {
301
+ const partial = resolvePartialEmoji(emoji);
302
+ if (partial)
303
+ return partial;
304
+ if (typeof emoji === 'string') {
305
+ if (!emoji.match(/\d{17,20}/g))
306
+ return;
307
+ const fromCache = await cache.emojis?.get(emoji);
308
+ return fromCache && { animated: fromCache.animated, id: fromCache.id, name: fromCache.name };
309
+ }
310
+ const fromCache = await cache.emojis?.get(emoji.id);
311
+ if (fromCache)
312
+ return { animated: fromCache.animated, id: fromCache.id, name: fromCache.name };
313
+ return;
314
+ }
315
+ function encodeEmoji(rawEmoji) {
316
+ return rawEmoji.id ? `${rawEmoji.name}:${rawEmoji.id}` : `${rawEmoji.name}`;
317
+ }
318
+ function hasProps(target, props) {
319
+ if (Array.isArray(props)) {
320
+ return props.every(x => hasProps(target, x));
321
+ }
322
+ if (!(props in target)) {
323
+ return false;
324
+ }
325
+ if (typeof target[props] === 'string' && !target[props].length) {
326
+ return false;
327
+ }
328
+ return true;
329
+ }
@@ -0,0 +1,56 @@
1
+ import { Entitlement } from '../../structures/Entitlement';
2
+ import type { RESTGetAPIEntitlementsQuery, RESTPostAPIApplicationEmojiJSONBody, RESTPostAPIEntitlementBody } from '../../types';
3
+ import { BaseShorter } from './base';
4
+ export declare class ApplicationShorter extends BaseShorter {
5
+ /**
6
+ * Lists the emojis for the application.
7
+ * @param applicationId The ID of the application.
8
+ * @returns The emojis.
9
+ */
10
+ listEmojis(applicationId: string): Promise<import("../../types").RESTGetAPIApplicationEmojisResult>;
11
+ /**
12
+ * Gets an emoji for the application.
13
+ * @param applicationId The ID of the application.
14
+ * @param emojiId The ID of the emoji.
15
+ * @returns The emoji.
16
+ */
17
+ getEmoji(applicationId: string, emojiId: string): Promise<import("../../types").APIEmoji>;
18
+ /**
19
+ * Creates a new emoji for the application.
20
+ * @param applicationId The ID of the application.
21
+ * @param body.name The name of the emoji.
22
+ * @param body.image The [image data string](https://discord.com/developers/docs/reference#image-data) of the emoji.
23
+ * @returns The created emoji.
24
+ */
25
+ createEmoji(applicationId: string, body: RESTPostAPIApplicationEmojiJSONBody): Promise<import("../../types").APIEmoji>;
26
+ /**
27
+ * Lists the entitlements for the application.
28
+ * @param applicationId The ID of the application.
29
+ * @param [query] The query parameters.
30
+ */
31
+ listEntitlements(applicationId: string, query?: RESTGetAPIEntitlementsQuery): Promise<Entitlement[]>;
32
+ /**
33
+ * Consumes an entitlement for the application.
34
+ * @param applicationId The ID of the application.
35
+ * @param entitlementId The ID of the entitlement.
36
+ */
37
+ consumeEntitlement(applicationId: string, entitlementId: string): Promise<never>;
38
+ /**
39
+ * Creates a test entitlement for the application.
40
+ * @param applicationId The ID of the application.
41
+ * @param body The body of the request.
42
+ */
43
+ createTestEntitlement(applicationId: string, body: RESTPostAPIEntitlementBody): Promise<Entitlement>;
44
+ /**
45
+ * Deletes a test entitlement for the application.
46
+ * @param applicationId The ID of the application.
47
+ * @param entitlementId The ID of the entitlement.
48
+ */
49
+ deleteTestEntitlement(applicationId: string, entitlementId: string): Promise<never>;
50
+ /**
51
+ * Lists the SKUs for the application.
52
+ * @param applicationId The ID of the application.
53
+ * @returns The SKUs.
54
+ */
55
+ listSKUs(applicationId: string): Promise<import("../../types").RESTGetAPISKUsResult>;
56
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApplicationShorter = void 0;
4
+ const Entitlement_1 = require("../../structures/Entitlement");
5
+ const base_1 = require("./base");
6
+ class ApplicationShorter extends base_1.BaseShorter {
7
+ /**
8
+ * Lists the emojis for the application.
9
+ * @param applicationId The ID of the application.
10
+ * @returns The emojis.
11
+ */
12
+ async listEmojis(applicationId) {
13
+ return this.client.proxy.applications(applicationId).emojis.get();
14
+ }
15
+ /**
16
+ * Gets an emoji for the application.
17
+ * @param applicationId The ID of the application.
18
+ * @param emojiId The ID of the emoji.
19
+ * @returns The emoji.
20
+ */
21
+ async getEmoji(applicationId, emojiId) {
22
+ return this.client.proxy.applications(applicationId).emojis(emojiId).get();
23
+ }
24
+ /**
25
+ * Creates a new emoji for the application.
26
+ * @param applicationId The ID of the application.
27
+ * @param body.name The name of the emoji.
28
+ * @param body.image The [image data string](https://discord.com/developers/docs/reference#image-data) of the emoji.
29
+ * @returns The created emoji.
30
+ */
31
+ async createEmoji(applicationId, body) {
32
+ return this.client.proxy.applications(applicationId).emojis.post({ body });
33
+ }
34
+ /**
35
+ * Lists the entitlements for the application.
36
+ * @param applicationId The ID of the application.
37
+ * @param [query] The query parameters.
38
+ */
39
+ async listEntitlements(applicationId, query) {
40
+ return this.client.proxy
41
+ .applications(applicationId)
42
+ .entitlements.get({ query })
43
+ .then(et => et.map(e => new Entitlement_1.Entitlement(this.client, e)));
44
+ }
45
+ /**
46
+ * Consumes an entitlement for the application.
47
+ * @param applicationId The ID of the application.
48
+ * @param entitlementId The ID of the entitlement.
49
+ */
50
+ async consumeEntitlement(applicationId, entitlementId) {
51
+ return this.client.proxy.applications(applicationId).entitlements(entitlementId).consume.post();
52
+ }
53
+ /**
54
+ * Creates a test entitlement for the application.
55
+ * @param applicationId The ID of the application.
56
+ * @param body The body of the request.
57
+ */
58
+ async createTestEntitlement(applicationId, body) {
59
+ return this.client.proxy
60
+ .applications(applicationId)
61
+ .entitlements.post({ body })
62
+ .then(et => new Entitlement_1.Entitlement(this.client, et));
63
+ }
64
+ /**
65
+ * Deletes a test entitlement for the application.
66
+ * @param applicationId The ID of the application.
67
+ * @param entitlementId The ID of the entitlement.
68
+ */
69
+ async deleteTestEntitlement(applicationId, entitlementId) {
70
+ return this.client.proxy.applications(applicationId).entitlements(entitlementId).delete();
71
+ }
72
+ /**
73
+ * Lists the SKUs for the application.
74
+ * @param applicationId The ID of the application.
75
+ * @returns The SKUs.
76
+ */
77
+ async listSKUs(applicationId) {
78
+ return this.client.proxy.applications(applicationId).skus.get();
79
+ }
80
+ }
81
+ exports.ApplicationShorter = ApplicationShorter;
@@ -0,0 +1,42 @@
1
+ import type { RESTGetAPIGuildBansQuery, RESTPostAPIGuildBulkBanJSONBody, RESTPutAPIGuildBanJSONBody } from '../../types';
2
+ import { BaseShorter } from './base';
3
+ export declare class BanShorter extends BaseShorter {
4
+ /**
5
+ * Bulk creates bans in the guild.
6
+ * @param guildId The ID of the guild.
7
+ * @param body The request body for bulk banning members.
8
+ * @param reason The reason for bulk banning members.
9
+ */
10
+ bulkCreate(guildId: string, body: RESTPostAPIGuildBulkBanJSONBody, reason?: string): Promise<import("../../types").RESTPostAPIGuildBulkBanResult>;
11
+ /**
12
+ * Unbans a member from the guild.
13
+ * @param guildId The ID of the guild.
14
+ * @param memberId The ID of the member to unban.
15
+ * @param reason The reason for unbanning the member.
16
+ */
17
+ remove(guildId: string, memberId: string, reason?: string): Promise<void>;
18
+ /**
19
+ * Bans a member from the guild.
20
+ * @param guildId The ID of the guild.
21
+ * @param memberId The ID of the member to ban.
22
+ * @param body The request body for banning the member.
23
+ * @param reason The reason for banning the member.
24
+ */
25
+ create(guildId: string, memberId: string, body?: RESTPutAPIGuildBanJSONBody, reason?: string): Promise<void>;
26
+ /**
27
+ * Fetches a ban from the guild.
28
+ * @param guildId The ID of the guild.
29
+ * @param userId The ID of the user to fetch.
30
+ * @param force Whether to force fetching the ban from the API even if it exists in the cache.
31
+ * @returns A Promise that resolves to the fetched ban.
32
+ */
33
+ fetch(guildId: string, userId: string, force?: boolean): Promise<import("../../structures/GuildBan").GuildBan>;
34
+ /**
35
+ * Lists bans in the guild based on the provided query.
36
+ * @param guildId The ID of the guild.
37
+ * @param query The query parameters for listing bans.
38
+ * @param force Whether to force listing bans from the API even if they exist in the cache.
39
+ * @returns A Promise that resolves to an array of listed bans.
40
+ */
41
+ list(guildId: string, query?: RESTGetAPIGuildBansQuery, force?: boolean): Promise<import("../../structures/GuildBan").GuildBan[]>;
42
+ }