seyfert 1.5.0 → 2.1.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 (439) 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 +8 -2
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/skus.d.ts +11 -0
  11. package/lib/api/Routes/skus.js +2 -0
  12. package/lib/api/Routes/stage-instances.d.ts +1 -1
  13. package/lib/api/Routes/stickers.d.ts +2 -2
  14. package/lib/api/Routes/users.d.ts +1 -1
  15. package/lib/api/Routes/voice.d.ts +1 -1
  16. package/lib/api/Routes/webhooks.d.ts +2 -2
  17. package/lib/api/api.d.ts +3 -3
  18. package/lib/api/api.js +15 -25
  19. package/lib/api/bucket.d.ts +0 -1
  20. package/lib/api/shared.d.ts +1 -2
  21. package/lib/api/utils/constants.d.ts +2 -5
  22. package/lib/api/utils/constants.js +3 -7
  23. package/lib/api/utils/utils.d.ts +1 -2
  24. package/lib/api/utils/utils.js +2 -3
  25. package/lib/builders/ActionRow.d.ts +1 -1
  26. package/lib/builders/ActionRow.js +3 -3
  27. package/lib/builders/Attachment.d.ts +3 -4
  28. package/lib/builders/Attachment.js +24 -25
  29. package/lib/builders/Base.d.ts +2 -2
  30. package/lib/builders/Base.js +1 -1
  31. package/lib/builders/Button.d.ts +7 -7
  32. package/lib/builders/Button.js +11 -9
  33. package/lib/builders/Embed.d.ts +1 -1
  34. package/lib/builders/Modal.d.ts +1 -1
  35. package/lib/builders/Modal.js +2 -2
  36. package/lib/builders/Poll.d.ts +2 -2
  37. package/lib/builders/Poll.js +5 -6
  38. package/lib/builders/SelectMenu.d.ts +1 -1
  39. package/lib/builders/SelectMenu.js +17 -18
  40. package/lib/builders/index.d.ts +1 -1
  41. package/lib/builders/index.js +10 -11
  42. package/lib/cache/adapters/default.d.ts +16 -9
  43. package/lib/cache/adapters/default.js +42 -31
  44. package/lib/cache/adapters/index.d.ts +0 -1
  45. package/lib/cache/adapters/index.js +0 -1
  46. package/lib/cache/adapters/limited.d.ts +17 -12
  47. package/lib/cache/adapters/limited.js +80 -36
  48. package/lib/cache/adapters/types.d.ts +6 -7
  49. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  50. package/lib/cache/adapters/workeradapter.js +13 -0
  51. package/lib/cache/index.d.ts +20 -8
  52. package/lib/cache/index.js +328 -22
  53. package/lib/cache/resources/bans.d.ts +9 -6
  54. package/lib/cache/resources/bans.js +13 -4
  55. package/lib/cache/resources/channels.d.ts +6 -4
  56. package/lib/cache/resources/channels.js +13 -7
  57. package/lib/cache/resources/default/base.d.ts +7 -7
  58. package/lib/cache/resources/default/base.js +2 -2
  59. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  60. package/lib/cache/resources/default/guild-based.js +6 -6
  61. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  62. package/lib/cache/resources/default/guild-related.js +10 -8
  63. package/lib/cache/resources/emojis.d.ts +15 -6
  64. package/lib/cache/resources/emojis.js +13 -4
  65. package/lib/cache/resources/guilds.d.ts +9 -6
  66. package/lib/cache/resources/guilds.js +27 -6
  67. package/lib/cache/resources/members.d.ts +9 -6
  68. package/lib/cache/resources/members.js +22 -6
  69. package/lib/cache/resources/messages.d.ts +11 -7
  70. package/lib/cache/resources/messages.js +19 -7
  71. package/lib/cache/resources/overwrites.d.ts +11 -2
  72. package/lib/cache/resources/overwrites.js +9 -0
  73. package/lib/cache/resources/presence.d.ts +3 -2
  74. package/lib/cache/resources/roles.d.ts +9 -6
  75. package/lib/cache/resources/roles.js +13 -4
  76. package/lib/cache/resources/stage-instances.d.ts +2 -2
  77. package/lib/cache/resources/stickers.d.ts +9 -6
  78. package/lib/cache/resources/stickers.js +13 -4
  79. package/lib/cache/resources/threads.d.ts +9 -6
  80. package/lib/cache/resources/threads.js +13 -4
  81. package/lib/cache/resources/users.d.ts +9 -6
  82. package/lib/cache/resources/users.js +13 -4
  83. package/lib/cache/resources/voice-states.d.ts +11 -8
  84. package/lib/cache/resources/voice-states.js +15 -4
  85. package/lib/client/base.d.ts +29 -21
  86. package/lib/client/base.js +64 -57
  87. package/lib/client/client.d.ts +11 -16
  88. package/lib/client/client.js +51 -37
  89. package/lib/client/collectors.d.ts +10 -10
  90. package/lib/client/collectors.js +26 -1
  91. package/lib/client/httpclient.d.ts +8 -13
  92. package/lib/client/httpclient.js +27 -218
  93. package/lib/client/index.d.ts +1 -0
  94. package/lib/client/index.js +1 -0
  95. package/lib/client/transformers.d.ts +68 -0
  96. package/lib/client/transformers.js +99 -0
  97. package/lib/client/types.d.ts +5 -0
  98. package/lib/client/types.js +2 -0
  99. package/lib/client/workerclient.d.ts +16 -15
  100. package/lib/client/workerclient.js +130 -72
  101. package/lib/commands/applications/chat.d.ts +35 -34
  102. package/lib/commands/applications/chat.js +5 -9
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/entryPoint.d.ts +46 -0
  106. package/lib/commands/applications/entryPoint.js +56 -0
  107. package/lib/commands/applications/entrycontext.d.ts +40 -0
  108. package/lib/commands/applications/entrycontext.js +85 -0
  109. package/lib/commands/applications/menu.d.ts +2 -3
  110. package/lib/commands/applications/menu.js +2 -5
  111. package/lib/commands/applications/menucontext.d.ts +14 -13
  112. package/lib/commands/applications/menucontext.js +9 -9
  113. package/lib/commands/applications/options.d.ts +4 -3
  114. package/lib/commands/applications/options.js +20 -21
  115. package/lib/commands/applications/shared.d.ts +3 -1
  116. package/lib/commands/decorators.d.ts +47 -35
  117. package/lib/commands/decorators.js +20 -18
  118. package/lib/commands/handle.d.ts +65 -0
  119. package/lib/commands/handle.js +727 -0
  120. package/lib/commands/handler.d.ts +29 -18
  121. package/lib/commands/handler.js +295 -164
  122. package/lib/commands/index.d.ts +2 -0
  123. package/lib/commands/index.js +2 -0
  124. package/lib/commands/optionresolver.d.ts +13 -13
  125. package/lib/commands/optionresolver.js +24 -29
  126. package/lib/common/bot/watcher.d.ts +4 -33
  127. package/lib/common/bot/watcher.js +0 -109
  128. package/lib/common/index.d.ts +1 -0
  129. package/lib/common/index.js +1 -0
  130. package/lib/common/it/colors.js +48 -49
  131. package/lib/common/it/formatter.d.ts +32 -0
  132. package/lib/common/it/formatter.js +42 -0
  133. package/lib/common/it/logger.d.ts +0 -1
  134. package/lib/common/it/logger.js +3 -3
  135. package/lib/common/it/utils.d.ts +24 -4
  136. package/lib/common/it/utils.js +88 -17
  137. package/lib/common/shorters/application.d.ts +56 -0
  138. package/lib/common/shorters/application.js +81 -0
  139. package/lib/common/shorters/bans.d.ts +4 -5
  140. package/lib/common/shorters/bans.js +3 -3
  141. package/lib/common/shorters/channels.d.ts +7 -6
  142. package/lib/common/shorters/channels.js +19 -15
  143. package/lib/common/shorters/emojis.d.ts +5 -6
  144. package/lib/common/shorters/emojis.js +5 -5
  145. package/lib/common/shorters/guilds.d.ts +18 -16
  146. package/lib/common/shorters/guilds.js +31 -26
  147. package/lib/common/shorters/interaction.d.ts +7 -7
  148. package/lib/common/shorters/interaction.js +3 -2
  149. package/lib/common/shorters/members.d.ts +29 -12
  150. package/lib/common/shorters/members.js +55 -16
  151. package/lib/common/shorters/messages.d.ts +7 -8
  152. package/lib/common/shorters/messages.js +8 -7
  153. package/lib/common/shorters/reactions.d.ts +3 -3
  154. package/lib/common/shorters/reactions.js +11 -11
  155. package/lib/common/shorters/roles.d.ts +9 -7
  156. package/lib/common/shorters/roles.js +26 -7
  157. package/lib/common/shorters/templates.d.ts +7 -8
  158. package/lib/common/shorters/templates.js +7 -7
  159. package/lib/common/shorters/threads.d.ts +6 -7
  160. package/lib/common/shorters/threads.js +6 -9
  161. package/lib/common/shorters/users.d.ts +4 -4
  162. package/lib/common/shorters/users.js +8 -4
  163. package/lib/common/shorters/webhook.d.ts +10 -10
  164. package/lib/common/shorters/webhook.js +10 -9
  165. package/lib/common/types/resolvables.d.ts +2 -2
  166. package/lib/common/types/util.d.ts +4 -2
  167. package/lib/common/types/write.d.ts +3 -3
  168. package/lib/components/ActionRow.d.ts +1 -1
  169. package/lib/components/BaseComponent.d.ts +1 -1
  170. package/lib/components/BaseComponent.js +1 -1
  171. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  172. package/lib/components/ButtonComponent.d.ts +17 -7
  173. package/lib/components/ButtonComponent.js +19 -2
  174. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  175. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  176. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  177. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  178. package/lib/components/TextInputComponent.d.ts +2 -2
  179. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  180. package/lib/components/componentcommand.js +2 -2
  181. package/lib/components/componentcontext.d.ts +10 -9
  182. package/lib/components/componentcontext.js +8 -8
  183. package/lib/components/handler.d.ts +15 -14
  184. package/lib/components/handler.js +89 -93
  185. package/lib/components/index.d.ts +3 -3
  186. package/lib/components/index.js +12 -10
  187. package/lib/components/modalcontext.d.ts +12 -11
  188. package/lib/components/modalcontext.js +2 -2
  189. package/lib/deps/mixer.d.ts +8 -0
  190. package/lib/deps/mixer.js +71 -0
  191. package/lib/events/handler.d.ts +35 -13
  192. package/lib/events/handler.js +57 -24
  193. package/lib/events/hooks/application_command.d.ts +2 -2
  194. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  195. package/lib/events/hooks/auto_moderation.js +4 -4
  196. package/lib/events/hooks/channel.d.ts +2 -2
  197. package/lib/events/hooks/channel.js +4 -7
  198. package/lib/events/hooks/custom.d.ts +4 -3
  199. package/lib/events/hooks/custom.js +5 -1
  200. package/lib/events/hooks/dispatch.d.ts +3 -4
  201. package/lib/events/hooks/dispatch.js +2 -2
  202. package/lib/events/hooks/entitlement.d.ts +5 -37
  203. package/lib/events/hooks/entitlement.js +7 -7
  204. package/lib/events/hooks/guild.d.ts +125 -125
  205. package/lib/events/hooks/guild.js +13 -15
  206. package/lib/events/hooks/integration.d.ts +27 -28
  207. package/lib/events/hooks/integration.js +3 -3
  208. package/lib/events/hooks/interactions.d.ts +2 -2
  209. package/lib/events/hooks/invite.d.ts +18 -17
  210. package/lib/events/hooks/message.d.ts +69 -54
  211. package/lib/events/hooks/message.js +4 -8
  212. package/lib/events/hooks/presence.d.ts +17 -16
  213. package/lib/events/hooks/stage.d.ts +4 -4
  214. package/lib/events/hooks/subscriptions.d.ts +35 -0
  215. package/lib/events/hooks/subscriptions.js +16 -0
  216. package/lib/events/hooks/thread.d.ts +132 -63
  217. package/lib/events/hooks/thread.js +4 -4
  218. package/lib/events/hooks/typing.d.ts +28 -6
  219. package/lib/events/hooks/typing.js +2 -2
  220. package/lib/events/hooks/user.d.ts +3 -3
  221. package/lib/events/hooks/user.js +2 -2
  222. package/lib/events/hooks/voice.d.ts +28 -3
  223. package/lib/events/hooks/voice.js +8 -4
  224. package/lib/events/hooks/webhook.d.ts +1 -1
  225. package/lib/index.d.ts +5 -14
  226. package/lib/index.js +7 -12
  227. package/lib/langs/handler.d.ts +14 -10
  228. package/lib/langs/handler.js +40 -9
  229. package/lib/structures/AutoModerationRule.d.ts +4 -4
  230. package/lib/structures/AutoModerationRule.js +1 -2
  231. package/lib/structures/ClientUser.d.ts +1 -1
  232. package/lib/structures/Entitlement.d.ts +10 -0
  233. package/lib/structures/Entitlement.js +16 -0
  234. package/lib/structures/Guild.d.ts +33 -34
  235. package/lib/structures/Guild.js +5 -2
  236. package/lib/structures/GuildBan.d.ts +6 -6
  237. package/lib/structures/GuildBan.js +2 -1
  238. package/lib/structures/GuildEmoji.d.ts +4 -4
  239. package/lib/structures/GuildEmoji.js +3 -2
  240. package/lib/structures/GuildMember.d.ts +20 -17
  241. package/lib/structures/GuildMember.js +18 -8
  242. package/lib/structures/GuildPreview.d.ts +1 -1
  243. package/lib/structures/GuildRole.d.ts +5 -3
  244. package/lib/structures/GuildRole.js +8 -1
  245. package/lib/structures/GuildTemplate.d.ts +2 -2
  246. package/lib/structures/GuildTemplate.js +1 -1
  247. package/lib/structures/Interaction.d.ts +76 -39
  248. package/lib/structures/Interaction.js +179 -94
  249. package/lib/structures/Message.d.ts +29 -33
  250. package/lib/structures/Message.js +8 -12
  251. package/lib/structures/Poll.d.ts +4 -3
  252. package/lib/structures/Poll.js +6 -2
  253. package/lib/structures/Sticker.d.ts +7 -7
  254. package/lib/structures/Sticker.js +7 -7
  255. package/lib/structures/User.d.ts +5 -4
  256. package/lib/structures/User.js +2 -1
  257. package/lib/structures/VoiceState.d.ts +15 -11
  258. package/lib/structures/VoiceState.js +35 -17
  259. package/lib/structures/Webhook.d.ts +6 -7
  260. package/lib/structures/Webhook.js +6 -7
  261. package/lib/structures/channels.d.ts +11 -10
  262. package/lib/structures/channels.js +70 -65
  263. package/lib/structures/extra/BaseGuild.d.ts +12 -2
  264. package/lib/structures/extra/BaseGuild.js +30 -3
  265. package/lib/structures/extra/BitField.d.ts +1 -1
  266. package/lib/structures/extra/BitField.js +3 -2
  267. package/lib/structures/extra/DiscordBase.js +2 -2
  268. package/lib/structures/extra/Permissions.d.ts +3 -1
  269. package/lib/structures/extra/Permissions.js +8 -3
  270. package/lib/types/gateway.d.ts +1554 -0
  271. package/lib/types/gateway.js +4 -0
  272. package/lib/types/index.d.ts +9 -1
  273. package/lib/types/index.js +28 -1
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +65 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  303. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  304. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  305. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  306. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  307. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  308. package/lib/types/payloads/_interactions/applicationCommands.d.ts +188 -0
  309. package/lib/types/payloads/_interactions/applicationCommands.js +88 -0
  310. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  311. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  312. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  313. package/lib/types/payloads/_interactions/base.js +2 -0
  314. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  315. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  316. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  317. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  318. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  319. package/lib/types/payloads/_interactions/ping.js +2 -0
  320. package/lib/types/payloads/_interactions/responses.d.ts +184 -0
  321. package/lib/types/payloads/_interactions/responses.js +58 -0
  322. package/lib/types/payloads/application.d.ts +292 -0
  323. package/lib/types/payloads/application.js +117 -0
  324. package/lib/types/payloads/auditLog.d.ts +644 -0
  325. package/lib/types/payloads/auditLog.js +80 -0
  326. package/lib/types/payloads/autoModeration.d.ts +219 -0
  327. package/lib/types/payloads/autoModeration.js +87 -0
  328. package/lib/types/payloads/channel.d.ts +1748 -0
  329. package/lib/types/payloads/channel.js +376 -0
  330. package/lib/types/payloads/emoji.d.ts +48 -0
  331. package/lib/types/payloads/emoji.js +5 -0
  332. package/lib/types/payloads/gateway.d.ts +373 -0
  333. package/lib/types/payloads/gateway.js +82 -0
  334. package/lib/types/payloads/guild.d.ts +1060 -0
  335. package/lib/types/payloads/guild.js +324 -0
  336. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  337. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  338. package/lib/types/payloads/index.d.ts +64 -0
  339. package/lib/types/payloads/index.js +37 -0
  340. package/lib/types/payloads/interactions.d.ts +24 -0
  341. package/lib/types/payloads/interactions.js +23 -0
  342. package/lib/types/payloads/invite.d.ts +121 -0
  343. package/lib/types/payloads/invite.js +23 -0
  344. package/lib/types/payloads/monetization.d.ts +178 -0
  345. package/lib/types/payloads/monetization.js +88 -0
  346. package/lib/types/payloads/oauth2.d.ts +131 -0
  347. package/lib/types/payloads/oauth2.js +135 -0
  348. package/lib/types/payloads/permissions.d.ts +97 -0
  349. package/lib/types/payloads/permissions.js +16 -0
  350. package/lib/types/payloads/poll.d.ts +104 -0
  351. package/lib/types/payloads/poll.js +16 -0
  352. package/lib/types/payloads/stageInstance.d.ts +77 -0
  353. package/lib/types/payloads/stageInstance.js +19 -0
  354. package/lib/types/payloads/sticker.d.ts +123 -0
  355. package/lib/types/payloads/sticker.js +30 -0
  356. package/lib/types/payloads/teams.d.ts +78 -0
  357. package/lib/types/payloads/teams.js +23 -0
  358. package/lib/types/payloads/template.d.ts +62 -0
  359. package/lib/types/payloads/template.js +5 -0
  360. package/lib/types/payloads/user.d.ts +337 -0
  361. package/lib/types/payloads/user.js +167 -0
  362. package/lib/types/payloads/voice.d.ts +89 -0
  363. package/lib/types/payloads/voice.js +5 -0
  364. package/lib/types/payloads/webhook.d.ts +76 -0
  365. package/lib/types/payloads/webhook.js +21 -0
  366. package/lib/types/rest/application.d.ts +57 -0
  367. package/lib/types/rest/application.js +2 -0
  368. package/lib/types/rest/auditLog.d.ts +30 -0
  369. package/lib/types/rest/auditLog.js +2 -0
  370. package/lib/types/rest/autoModeration.d.ts +66 -0
  371. package/lib/types/rest/autoModeration.js +2 -0
  372. package/lib/types/rest/channel.d.ts +699 -0
  373. package/lib/types/rest/channel.js +11 -0
  374. package/lib/types/rest/emoji.d.ts +54 -0
  375. package/lib/types/rest/emoji.js +2 -0
  376. package/lib/types/rest/gateway.d.ts +9 -0
  377. package/lib/types/rest/gateway.js +2 -0
  378. package/lib/types/rest/guild.d.ts +865 -0
  379. package/lib/types/rest/guild.js +2 -0
  380. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  381. package/lib/types/rest/guildScheduledEvent.js +2 -0
  382. package/lib/types/rest/index.d.ts +296 -0
  383. package/lib/types/rest/index.js +292 -0
  384. package/lib/types/rest/interactions.d.ts +216 -0
  385. package/lib/types/rest/interactions.js +2 -0
  386. package/lib/types/rest/invite.d.ts +24 -0
  387. package/lib/types/rest/invite.js +2 -0
  388. package/lib/types/rest/monetization.d.ts +103 -0
  389. package/lib/types/rest/monetization.js +11 -0
  390. package/lib/types/rest/oauth2.d.ts +172 -0
  391. package/lib/types/rest/oauth2.js +2 -0
  392. package/lib/types/rest/poll.d.ts +44 -0
  393. package/lib/types/rest/poll.js +2 -0
  394. package/lib/types/rest/stageInstance.d.ts +58 -0
  395. package/lib/types/rest/stageInstance.js +2 -0
  396. package/lib/types/rest/sticker.d.ts +77 -0
  397. package/lib/types/rest/sticker.js +2 -0
  398. package/lib/types/rest/template.d.ts +62 -0
  399. package/lib/types/rest/template.js +2 -0
  400. package/lib/types/rest/user.d.ts +120 -0
  401. package/lib/types/rest/user.js +2 -0
  402. package/lib/types/rest/voice.d.ts +17 -0
  403. package/lib/types/rest/voice.js +2 -0
  404. package/lib/types/rest/webhook.d.ts +250 -0
  405. package/lib/types/rest/webhook.js +2 -0
  406. package/lib/types/utils/index.d.ts +808 -0
  407. package/lib/types/utils/index.js +810 -0
  408. package/lib/websocket/SharedTypes.d.ts +12 -5
  409. package/lib/websocket/SharedTypes.js +1 -1
  410. package/lib/websocket/constants/index.d.ts +3 -3
  411. package/lib/websocket/constants/index.js +11 -1
  412. package/lib/websocket/discord/basesocket.d.ts +7 -7
  413. package/lib/websocket/discord/basesocket.js +34 -22
  414. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  415. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  416. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  417. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  418. package/lib/websocket/discord/shard.d.ts +9 -8
  419. package/lib/websocket/discord/shard.js +83 -57
  420. package/lib/websocket/discord/sharder.d.ts +6 -5
  421. package/lib/websocket/discord/sharder.js +70 -11
  422. package/lib/websocket/discord/shared.d.ts +34 -6
  423. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  424. package/lib/websocket/discord/socket/custom.js +300 -0
  425. package/lib/websocket/discord/worker.d.ts +6 -10
  426. package/lib/websocket/discord/workermanager.d.ts +10 -16
  427. package/lib/websocket/discord/workermanager.js +63 -50
  428. package/lib/websocket/structures/index.d.ts +0 -1
  429. package/lib/websocket/structures/index.js +1 -1
  430. package/lib/websocket/structures/timeout.d.ts +0 -1
  431. package/package.json +70 -74
  432. package/lib/cache/adapters/redis.d.ts +0 -37
  433. package/lib/cache/adapters/redis.js +0 -218
  434. package/lib/client/oninteractioncreate.d.ts +0 -4
  435. package/lib/client/oninteractioncreate.js +0 -198
  436. package/lib/client/onmessagecreate.d.ts +0 -13
  437. package/lib/client/onmessagecreate.js +0 -410
  438. package/lib/structures/extra/functions.d.ts +0 -12
  439. package/lib/structures/extra/functions.js +0 -70
@@ -1,9 +1,36 @@
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.calculateShardId = calculateShardId;
5
+ exports.resolveColor = resolveColor;
6
+ exports.delay = delay;
7
+ exports.isObject = isObject;
8
+ exports.MergeOptions = MergeOptions;
9
+ exports.filterSplit = filterSplit;
10
+ exports.toSnakeCase = toSnakeCase;
11
+ exports.toCamelCase = toCamelCase;
12
+ exports.magicImport = magicImport;
13
+ exports.fakePromise = fakePromise;
14
+ exports.lazyLoadPackage = lazyLoadPackage;
15
+ exports.isCloudfareWorker = isCloudfareWorker;
16
+ exports.snowflakeToTimestamp = snowflakeToTimestamp;
17
+ exports.resolvePartialEmoji = resolvePartialEmoji;
18
+ exports.resolveEmoji = resolveEmoji;
19
+ exports.encodeEmoji = encodeEmoji;
20
+ exports.hasProps = hasProps;
4
21
  const node_fs_1 = require("node:fs");
5
22
  const node_path_1 = require("node:path");
6
23
  const __1 = require("..");
24
+ const types_1 = require("../../types");
25
+ /**
26
+ * Calculates the shard ID for a guild based on its ID.
27
+ * @param guildId The ID of the guild.
28
+ * @param shards The number of shards to calculate the ID for.
29
+ * @returns The shard ID.
30
+ */
31
+ function calculateShardId(guildId, shards) {
32
+ return Number((BigInt(guildId) >> 22n) % BigInt(shards ?? 1));
33
+ }
7
34
  /**
8
35
  * Resolves the color to a numeric representation.
9
36
  * @param color The color to resolve.
@@ -30,7 +57,6 @@ function resolveColor(color) {
30
57
  }
31
58
  return color;
32
59
  }
33
- exports.resolveColor = resolveColor;
34
60
  /**
35
61
  * Delays the resolution of a Promise by the specified time.
36
62
  * @param time The time in milliseconds to delay the resolution.
@@ -40,7 +66,6 @@ exports.resolveColor = resolveColor;
40
66
  function delay(time, result) {
41
67
  return new Promise(r => setTimeout(r, time, result));
42
68
  }
43
- exports.delay = delay;
44
69
  /**
45
70
  * Checks if a given value is an object.
46
71
  * @param o The value to check.
@@ -49,7 +74,6 @@ exports.delay = delay;
49
74
  function isObject(o) {
50
75
  return o && typeof o === 'object' && !Array.isArray(o);
51
76
  }
52
- exports.isObject = isObject;
53
77
  /**
54
78
  * Merges multiple options objects together, deeply extending objects.
55
79
  * @param defaults The default options object.
@@ -69,7 +93,6 @@ function MergeOptions(defaults, ...options) {
69
93
  ])),
70
94
  }, ...options);
71
95
  }
72
- exports.MergeOptions = MergeOptions;
73
96
  /**
74
97
  * Splits an array into two arrays based on the result of a predicate function.
75
98
  * @param arr The array to split.
@@ -88,7 +111,6 @@ function filterSplit(arr, func) {
88
111
  }
89
112
  return { expect, never };
90
113
  }
91
- exports.filterSplit = filterSplit;
92
114
  /**
93
115
  * Represents a base handler class.
94
116
  */
@@ -129,7 +151,7 @@ class BaseHandler {
129
151
  * @param paths The paths of the files to load.
130
152
  * @returns A Promise that resolves to an array of loaded files.
131
153
  */
132
- async loadFiles(paths) {
154
+ loadFiles(paths) {
133
155
  return Promise.all(paths.map(path => magicImport(path).then(file => file.default ?? file)));
134
156
  }
135
157
  /**
@@ -137,11 +159,11 @@ class BaseHandler {
137
159
  * @param paths The paths of the files to load.
138
160
  * @returns A Promise that resolves to an array of objects containing name, file, and path.
139
161
  */
140
- async loadFilesK(paths) {
162
+ loadFilesK(paths) {
141
163
  return Promise.all(paths.map(path => magicImport(path).then(file => {
142
164
  return {
143
165
  name: (0, node_path_1.basename)(path),
144
- file: file.default ?? file,
166
+ file,
145
167
  path,
146
168
  };
147
169
  })));
@@ -185,7 +207,6 @@ function toSnakeCase(target) {
185
207
  }
186
208
  return result;
187
209
  }
188
- exports.toSnakeCase = toSnakeCase;
189
210
  /**
190
211
  * Convert a snake_case object to camelCase.
191
212
  * @param target The object to convert.
@@ -223,7 +244,6 @@ function toCamelCase(target) {
223
244
  }
224
245
  return result;
225
246
  }
226
- exports.toCamelCase = toCamelCase;
227
247
  exports.ReplaceRegex = {
228
248
  camel: (s) => {
229
249
  return s.toLowerCase().replace(/(_\S)/gi, a => a[1].toUpperCase());
@@ -237,20 +257,16 @@ async function magicImport(path) {
237
257
  return require(path);
238
258
  }
239
259
  catch {
240
- // biome-ignore lint/security/noGlobalEval: modules import broke
241
260
  return eval('((path) => import(`file:///${path}?update=${Date.now()}`))')(path.split('\\').join('\\\\'));
242
261
  }
243
262
  }
244
- exports.magicImport = magicImport;
245
263
  function fakePromise(value) {
246
264
  if (value instanceof Promise)
247
265
  return value;
248
266
  return {
249
- // biome-ignore lint/suspicious/noThenProperty: magic
250
267
  then: callback => callback(value),
251
268
  };
252
269
  }
253
- exports.fakePromise = fakePromise;
254
270
  function lazyLoadPackage(mod) {
255
271
  try {
256
272
  return require(mod);
@@ -260,9 +276,64 @@ function lazyLoadPackage(mod) {
260
276
  return;
261
277
  }
262
278
  }
263
- exports.lazyLoadPackage = lazyLoadPackage;
264
279
  function isCloudfareWorker() {
265
280
  //@ts-expect-error
266
281
  return process.platform === 'browser';
267
282
  }
268
- exports.isCloudfareWorker = isCloudfareWorker;
283
+ /**
284
+ *
285
+ * Convert a timestamp to a snowflake.
286
+ * @param id The timestamp to convert.
287
+ * @returns The snowflake.
288
+ */
289
+ function snowflakeToTimestamp(id) {
290
+ return (BigInt(id) >> 22n) + __1.DiscordEpoch;
291
+ }
292
+ function resolvePartialEmoji(emoji) {
293
+ if (typeof emoji === 'string') {
294
+ const groups = emoji.match(types_1.FormattingPatterns.Emoji)?.groups;
295
+ if (groups) {
296
+ return { animated: !!groups.animated, name: groups.name, id: groups.id };
297
+ }
298
+ if (emoji.includes('%')) {
299
+ emoji = encodeURIComponent(emoji);
300
+ }
301
+ if (!(emoji.includes(':') || emoji.match(/\d{17,20}/g))) {
302
+ return { name: emoji, id: null };
303
+ }
304
+ return;
305
+ }
306
+ if (!(emoji.id && emoji.name))
307
+ return;
308
+ return { id: emoji.id, name: emoji.name, animated: !!emoji.animated };
309
+ }
310
+ async function resolveEmoji(emoji, cache) {
311
+ const partial = resolvePartialEmoji(emoji);
312
+ if (partial)
313
+ return partial;
314
+ if (typeof emoji === 'string') {
315
+ if (!emoji.match(/\d{17,20}/g))
316
+ return;
317
+ const fromCache = await cache.emojis?.get(emoji);
318
+ return fromCache && { animated: fromCache.animated, id: fromCache.id, name: fromCache.name };
319
+ }
320
+ const fromCache = await cache.emojis?.get(emoji.id);
321
+ if (fromCache)
322
+ return { animated: fromCache.animated, id: fromCache.id, name: fromCache.name };
323
+ return;
324
+ }
325
+ function encodeEmoji(rawEmoji) {
326
+ return rawEmoji.id ? `${rawEmoji.name}:${rawEmoji.id}` : `${rawEmoji.name}`;
327
+ }
328
+ function hasProps(target, props) {
329
+ if (Array.isArray(props)) {
330
+ return props.every(x => hasProps(target, x));
331
+ }
332
+ if (!(props in target)) {
333
+ return false;
334
+ }
335
+ if (typeof target[props] === 'string' && !target[props].length) {
336
+ return false;
337
+ }
338
+ return true;
339
+ }
@@ -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;