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,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
  */
@@ -129,7 +141,7 @@ class BaseHandler {
129
141
  * @param paths The paths of the files to load.
130
142
  * @returns A Promise that resolves to an array of loaded files.
131
143
  */
132
- async loadFiles(paths) {
144
+ loadFiles(paths) {
133
145
  return Promise.all(paths.map(path => magicImport(path).then(file => file.default ?? file)));
134
146
  }
135
147
  /**
@@ -137,11 +149,11 @@ class BaseHandler {
137
149
  * @param paths The paths of the files to load.
138
150
  * @returns A Promise that resolves to an array of objects containing name, file, and path.
139
151
  */
140
- async loadFilesK(paths) {
152
+ loadFilesK(paths) {
141
153
  return Promise.all(paths.map(path => magicImport(path).then(file => {
142
154
  return {
143
155
  name: (0, node_path_1.basename)(path),
144
- file: file.default ?? file,
156
+ file,
145
157
  path,
146
158
  };
147
159
  })));
@@ -185,7 +197,6 @@ function toSnakeCase(target) {
185
197
  }
186
198
  return result;
187
199
  }
188
- exports.toSnakeCase = toSnakeCase;
189
200
  /**
190
201
  * Convert a snake_case object to camelCase.
191
202
  * @param target The object to convert.
@@ -223,7 +234,6 @@ function toCamelCase(target) {
223
234
  }
224
235
  return result;
225
236
  }
226
- exports.toCamelCase = toCamelCase;
227
237
  exports.ReplaceRegex = {
228
238
  camel: (s) => {
229
239
  return s.toLowerCase().replace(/(_\S)/gi, a => a[1].toUpperCase());
@@ -237,20 +247,16 @@ async function magicImport(path) {
237
247
  return require(path);
238
248
  }
239
249
  catch {
240
- // biome-ignore lint/security/noGlobalEval: modules import broke
241
250
  return eval('((path) => import(`file:///${path}?update=${Date.now()}`))')(path.split('\\').join('\\\\'));
242
251
  }
243
252
  }
244
- exports.magicImport = magicImport;
245
253
  function fakePromise(value) {
246
254
  if (value instanceof Promise)
247
255
  return value;
248
256
  return {
249
- // biome-ignore lint/suspicious/noThenProperty: magic
250
257
  then: callback => callback(value),
251
258
  };
252
259
  }
253
- exports.fakePromise = fakePromise;
254
260
  function lazyLoadPackage(mod) {
255
261
  try {
256
262
  return require(mod);
@@ -260,9 +266,64 @@ function lazyLoadPackage(mod) {
260
266
  return;
261
267
  }
262
268
  }
263
- exports.lazyLoadPackage = lazyLoadPackage;
264
269
  function isCloudfareWorker() {
265
270
  //@ts-expect-error
266
271
  return process.platform === 'browser';
267
272
  }
268
- 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;
@@ -1,6 +1,5 @@
1
- import type { RESTGetAPIGuildBansQuery, RESTPostAPIGuildBulkBanJSONBody, RESTPutAPIGuildBanJSONBody } from 'discord-api-types/v10';
1
+ import type { RESTGetAPIGuildBansQuery, RESTPostAPIGuildBulkBanJSONBody, RESTPutAPIGuildBanJSONBody } from '../../types';
2
2
  import { BaseShorter } from './base';
3
- import { GuildBan } from '../../structures/GuildBan';
4
3
  export declare class BanShorter extends BaseShorter {
5
4
  /**
6
5
  * Bulk creates bans in the guild.
@@ -8,7 +7,7 @@ export declare class BanShorter extends BaseShorter {
8
7
  * @param body The request body for bulk banning members.
9
8
  * @param reason The reason for bulk banning members.
10
9
  */
11
- bulkCreate(guildId: string, body: RESTPostAPIGuildBulkBanJSONBody, reason?: string): Promise<import("discord-api-types/v10").RESTPostAPIGuildBulkBanResult>;
10
+ bulkCreate(guildId: string, body: RESTPostAPIGuildBulkBanJSONBody, reason?: string): Promise<import("../../types").RESTPostAPIGuildBulkBanResult>;
12
11
  /**
13
12
  * Unbans a member from the guild.
14
13
  * @param guildId The ID of the guild.
@@ -31,7 +30,7 @@ export declare class BanShorter extends BaseShorter {
31
30
  * @param force Whether to force fetching the ban from the API even if it exists in the cache.
32
31
  * @returns A Promise that resolves to the fetched ban.
33
32
  */
34
- fetch(guildId: string, userId: string, force?: boolean): Promise<GuildBan>;
33
+ fetch(guildId: string, userId: string, force?: boolean): Promise<import("../../structures/GuildBan").GuildBan>;
35
34
  /**
36
35
  * Lists bans in the guild based on the provided query.
37
36
  * @param guildId The ID of the guild.
@@ -39,5 +38,5 @@ export declare class BanShorter extends BaseShorter {
39
38
  * @param force Whether to force listing bans from the API even if they exist in the cache.
40
39
  * @returns A Promise that resolves to an array of listed bans.
41
40
  */
42
- list(guildId: string, query?: RESTGetAPIGuildBansQuery, force?: boolean): Promise<GuildBan[]>;
41
+ list(guildId: string, query?: RESTGetAPIGuildBansQuery, force?: boolean): Promise<import("../../structures/GuildBan").GuildBan[]>;
43
42
  }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BanShorter = void 0;
4
4
  const base_1 = require("./base");
5
- const GuildBan_1 = require("../../structures/GuildBan");
5
+ const transformers_1 = require("../../client/transformers");
6
6
  class BanShorter extends base_1.BaseShorter {
7
7
  /**
8
8
  * Bulk creates bans in the guild.
@@ -52,7 +52,7 @@ class BanShorter extends base_1.BaseShorter {
52
52
  }
53
53
  ban = await this.client.proxy.guilds(guildId).bans(userId).get();
54
54
  await this.client.cache.members?.set(ban.user.id, guildId, ban);
55
- return new GuildBan_1.GuildBan(this.client, ban, guildId);
55
+ return transformers_1.Transformers.GuildBan(this.client, ban, guildId);
56
56
  }
57
57
  /**
58
58
  * Lists bans in the guild based on the provided query.
@@ -72,7 +72,7 @@ class BanShorter extends base_1.BaseShorter {
72
72
  query,
73
73
  });
74
74
  await this.client.cache.bans?.set(bans.map(x => [x.user.id, x]), guildId);
75
- return bans.map(m => new GuildBan_1.GuildBan(this.client, m, guildId));
75
+ return bans.map(m => transformers_1.Transformers.GuildBan(this.client, m, guildId));
76
76
  }
77
77
  }
78
78
  exports.BanShorter = BanShorter;
@@ -1,8 +1,8 @@
1
- import { type RESTGetAPIChannelMessagesQuery, type RESTPatchAPIChannelJSONBody, type RESTPostAPIChannelThreadsJSONBody, type RESTPostAPIGuildForumThreadsJSONBody } from 'discord-api-types/v10';
2
- import { Message, type GuildMember, type GuildRole } from '../../structures';
3
- import { type AllChannels } from '../../structures/channels';
1
+ import type { APIChannel, RESTGetAPIChannelMessagesQuery, RESTPatchAPIChannelJSONBody, RESTPostAPIChannelThreadsJSONBody, RESTPostAPIGuildForumThreadsJSONBody } from '../../types';
2
+ import { type GuildRole, type GuildMember, type AllChannels } from '../../structures';
4
3
  import { PermissionsBitField } from '../../structures/extra/Permissions';
5
4
  import { BaseShorter } from './base';
5
+ import { type MessageStructure } from '../../client/transformers';
6
6
  export declare class ChannelShorter extends BaseShorter {
7
7
  /**
8
8
  * Fetches a channel by its ID.
@@ -11,6 +11,7 @@ export declare class ChannelShorter extends BaseShorter {
11
11
  * @returns A Promise that resolves to the fetched channel.
12
12
  */
13
13
  fetch(id: string, force?: boolean): Promise<AllChannels>;
14
+ raw(id: string, force?: boolean): Promise<APIChannel>;
14
15
  /**
15
16
  * Deletes a channel by its ID.
16
17
  * @param id The ID of the channel to delete.
@@ -32,7 +33,7 @@ export declare class ChannelShorter extends BaseShorter {
32
33
  * @returns A Promise that resolves when the typing indicator is successfully sent.
33
34
  */
34
35
  typing(id: string): Promise<void>;
35
- pins(channelId: string): Promise<Message[]>;
36
+ pins(channelId: string): Promise<MessageStructure[]>;
36
37
  /**
37
38
  * Pins a message in the channel.
38
39
  * @param messageId The ID of the message to pin.
@@ -81,10 +82,10 @@ export declare class ChannelShorter extends BaseShorter {
81
82
  } | undefined;
82
83
  }>;
83
84
  rolePermissions(channelId: string, role: GuildRole, checkAdmin?: boolean): Promise<PermissionsBitField>;
84
- fetchMessages(channelId: string, query?: RESTGetAPIChannelMessagesQuery): Promise<Message[]>;
85
+ fetchMessages(channelId: string, query?: RESTGetAPIChannelMessagesQuery): Promise<import("../../structures").Message[]>;
85
86
  setVoiceStatus(channelId: string, status?: string | null): Promise<never>;
86
87
  }
87
88
  export type ChannelShorterOptionalParams = Partial<{
88
- guildId: string;
89
+ guildId: (string & {}) | '@me';
89
90
  reason: string;
90
91
  }>;
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.ChannelShorter = void 0;
7
- const v10_1 = require("discord-api-types/v10");
8
4
  const structures_1 = require("../../structures");
9
- const channels_1 = __importDefault(require("../../structures/channels"));
10
5
  const Permissions_1 = require("../../structures/extra/Permissions");
11
6
  const base_1 = require("./base");
12
7
  const utils_1 = require("../it/utils");
8
+ const transformers_1 = require("../../client/transformers");
9
+ const types_1 = require("../../types");
13
10
  class ChannelShorter extends base_1.BaseShorter {
14
11
  /**
15
12
  * Fetches a channel by its ID.
@@ -18,15 +15,22 @@ class ChannelShorter extends base_1.BaseShorter {
18
15
  * @returns A Promise that resolves to the fetched channel.
19
16
  */
20
17
  async fetch(id, force) {
18
+ return (0, structures_1.channelFrom)(await this.raw(id, force), this.client);
19
+ }
20
+ async raw(id, force) {
21
21
  let channel;
22
22
  if (!force) {
23
- channel = await this.client.cache.channels?.get(id);
24
- if (channel)
23
+ channel = await this.client.cache.channels?.raw(id);
24
+ const overwrites = await this.client.cache.overwrites?.raw(id);
25
+ if (channel) {
26
+ if (overwrites)
27
+ channel.permission_overwrites = overwrites;
25
28
  return channel;
29
+ }
26
30
  }
27
31
  channel = await this.client.proxy.channels(id).get();
28
32
  await this.client.cache.channels?.patch(id, undefined, channel);
29
- return (0, channels_1.default)(channel, this.client);
33
+ return channel;
30
34
  }
31
35
  /**
32
36
  * Deletes a channel by its ID.
@@ -38,7 +42,7 @@ class ChannelShorter extends base_1.BaseShorter {
38
42
  const options = (0, utils_1.MergeOptions)({ guildId: '@me' }, optional);
39
43
  const res = await this.client.proxy.channels(id).delete({ reason: options.reason });
40
44
  await this.client.cache.channels?.removeIfNI(structures_1.BaseChannel.__intent__(options.guildId), res.id, options.guildId);
41
- return (0, channels_1.default)(res, this.client);
45
+ return (0, structures_1.channelFrom)(res, this.client);
42
46
  }
43
47
  /**
44
48
  * Edits a channel by its ID.
@@ -51,9 +55,9 @@ class ChannelShorter extends base_1.BaseShorter {
51
55
  const options = (0, utils_1.MergeOptions)({ guildId: '@me' }, optional);
52
56
  const res = await this.client.proxy.channels(id).patch({ body, reason: options.reason });
53
57
  await this.client.cache.channels?.setIfNI(structures_1.BaseChannel.__intent__(options.guildId), res.id, options.guildId, res);
54
- if (body.permission_overwrites && 'permission_overwrites' in res)
58
+ if (body.permission_overwrites && 'permission_overwrites' in res && res.permission_overwrites)
55
59
  await this.client.cache.overwrites?.setIfNI(structures_1.BaseChannel.__intent__(options.guildId), res.id, options.guildId, res.permission_overwrites);
56
- return (0, channels_1.default)(res, this.client);
60
+ return (0, structures_1.channelFrom)(res, this.client);
57
61
  }
58
62
  /**
59
63
  * Sends a typing indicator to the channel.
@@ -68,7 +72,7 @@ class ChannelShorter extends base_1.BaseShorter {
68
72
  await this.client.cache.messages?.patch(messages.map(x => {
69
73
  return [x.id, x];
70
74
  }), channelId);
71
- return messages.map(message => new structures_1.Message(this.client, message));
75
+ return messages.map(message => transformers_1.Transformers.Message(this.client, message));
72
76
  }
73
77
  /**
74
78
  * Pins a message in the channel.
@@ -101,7 +105,7 @@ class ChannelShorter extends base_1.BaseShorter {
101
105
  }
102
106
  async memberPermissions(channelId, member, checkAdmin = true) {
103
107
  const memberPermissions = await member.fetchPermissions();
104
- if (checkAdmin && memberPermissions.has(v10_1.PermissionFlagsBits.Administrator)) {
108
+ if (checkAdmin && memberPermissions.has(types_1.PermissionFlagsBits.Administrator)) {
105
109
  return new Permissions_1.PermissionsBitField(Permissions_1.PermissionsBitField.All);
106
110
  }
107
111
  const overwrites = await this.overwritesFor(channelId, member);
@@ -137,7 +141,7 @@ class ChannelShorter extends base_1.BaseShorter {
137
141
  };
138
142
  }
139
143
  async rolePermissions(channelId, role, checkAdmin = true) {
140
- if (checkAdmin && role.permissions.has(v10_1.PermissionFlagsBits.Administrator)) {
144
+ if (checkAdmin && role.permissions.has(types_1.PermissionFlagsBits.Administrator)) {
141
145
  return new Permissions_1.PermissionsBitField(Permissions_1.PermissionsBitField.All);
142
146
  }
143
147
  const channelOverwrites = (await this.client.cache.overwrites?.get(channelId)) ?? [];
@@ -157,7 +161,7 @@ class ChannelShorter extends base_1.BaseShorter {
157
161
  await this.client.cache.messages?.patch(result.map(x => {
158
162
  return [x.id, x];
159
163
  }), channelId);
160
- return result.map(message => new structures_1.Message(this.client, message));
164
+ return result.map(message => transformers_1.Transformers.Message(this.client, message));
161
165
  }
162
166
  setVoiceStatus(channelId, status = null) {
163
167
  return this.client.proxy.channels(channelId)['voice-status'].put({ body: { status } });
@@ -1,5 +1,4 @@
1
- import type { RESTPatchAPIGuildEmojiJSONBody, RESTPostAPIGuildEmojiJSONBody } from 'discord-api-types/v10';
2
- import { GuildEmoji } from '../..';
1
+ import type { RESTPatchAPIGuildEmojiJSONBody, RESTPostAPIGuildEmojiJSONBody } from '../../types';
3
2
  import type { ImageResolvable } from '../types/resolvables';
4
3
  import type { OmitInsert } from '../types/util';
5
4
  import { BaseShorter } from './base';
@@ -10,7 +9,7 @@ export declare class EmojiShorter extends BaseShorter {
10
9
  * @param force Whether to force fetching emojis from the API even if they exist in the cache.
11
10
  * @returns A Promise that resolves to an array of emojis.
12
11
  */
13
- list(guildId: string, force?: boolean): Promise<GuildEmoji[]>;
12
+ list(guildId: string, force?: boolean): Promise<import("../..").GuildEmoji[]>;
14
13
  /**
15
14
  * Creates a new emoji in the guild.
16
15
  * @param guildId The ID of the guild.
@@ -19,7 +18,7 @@ export declare class EmojiShorter extends BaseShorter {
19
18
  */
20
19
  create(guildId: string, body: OmitInsert<RESTPostAPIGuildEmojiJSONBody, 'image', {
21
20
  image: ImageResolvable;
22
- }>): Promise<GuildEmoji>;
21
+ }>): Promise<import("../..").GuildEmoji>;
23
22
  /**
24
23
  * Fetches an emoji by its ID.
25
24
  * @param guildId The ID of the guild.
@@ -27,7 +26,7 @@ export declare class EmojiShorter extends BaseShorter {
27
26
  * @param force Whether to force fetching the emoji from the API even if it exists in the cache.
28
27
  * @returns A Promise that resolves to the fetched emoji.
29
28
  */
30
- fetch(guildId: string, emojiId: string, force?: boolean): Promise<GuildEmoji>;
29
+ fetch(guildId: string, emojiId: string, force?: boolean): Promise<import("../..").GuildEmoji>;
31
30
  /**
32
31
  * Deletes an emoji from the guild.
33
32
  * @param guildId The ID of the guild.
@@ -43,5 +42,5 @@ export declare class EmojiShorter extends BaseShorter {
43
42
  * @param reason The reason for editing the emoji.
44
43
  * @returns A Promise that resolves to the edited emoji.
45
44
  */
46
- edit(guildId: string, emojiId: string, body: RESTPatchAPIGuildEmojiJSONBody, reason?: string): Promise<GuildEmoji>;
45
+ edit(guildId: string, emojiId: string, body: RESTPatchAPIGuildEmojiJSONBody, reason?: string): Promise<import("../..").GuildEmoji>;
47
46
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EmojiShorter = void 0;
4
- const __1 = require("../..");
5
4
  const builders_1 = require("../../builders");
6
5
  const base_1 = require("./base");
6
+ const transformers_1 = require("../../client/transformers");
7
7
  class EmojiShorter extends base_1.BaseShorter {
8
8
  /**
9
9
  * Retrieves a list of emojis in the guild.
@@ -21,7 +21,7 @@ class EmojiShorter extends base_1.BaseShorter {
21
21
  }
22
22
  emojis = await this.client.proxy.guilds(guildId).emojis.get();
23
23
  await this.client.cache.emojis?.set(emojis.map(x => [x.id, x]), guildId);
24
- return emojis.map(m => new __1.GuildEmoji(this.client, m, guildId));
24
+ return emojis.map(m => transformers_1.Transformers.GuildEmoji(this.client, m, guildId));
25
25
  }
26
26
  /**
27
27
  * Creates a new emoji in the guild.
@@ -35,7 +35,7 @@ class EmojiShorter extends base_1.BaseShorter {
35
35
  body: bodyResolved,
36
36
  });
37
37
  await this.client.cache.emojis?.setIfNI('GuildEmojisAndStickers', emoji.id, guildId, emoji);
38
- return new __1.GuildEmoji(this.client, emoji, guildId);
38
+ return transformers_1.Transformers.GuildEmoji(this.client, emoji, guildId);
39
39
  }
40
40
  /**
41
41
  * Fetches an emoji by its ID.
@@ -52,7 +52,7 @@ class EmojiShorter extends base_1.BaseShorter {
52
52
  return emoji;
53
53
  }
54
54
  emoji = await this.client.proxy.guilds(guildId).emojis(emojiId).get();
55
- return new __1.GuildEmoji(this.client, emoji, guildId);
55
+ return transformers_1.Transformers.GuildEmoji(this.client, emoji, guildId);
56
56
  }
57
57
  /**
58
58
  * Deletes an emoji from the guild.
@@ -75,7 +75,7 @@ class EmojiShorter extends base_1.BaseShorter {
75
75
  async edit(guildId, emojiId, body, reason) {
76
76
  const emoji = await this.client.proxy.guilds(guildId).emojis(emojiId).patch({ body, reason });
77
77
  await this.client.cache.emojis?.setIfNI('GuildEmojisAndStickers', emoji.id, guildId, emoji);
78
- return new __1.GuildEmoji(this.client, emoji, guildId);
78
+ return transformers_1.Transformers.GuildEmoji(this.client, emoji, guildId);
79
79
  }
80
80
  }
81
81
  exports.EmojiShorter = EmojiShorter;