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,32 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Sticker = void 0;
4
- const User_1 = require("./User");
5
4
  const DiscordBase_1 = require("./extra/DiscordBase");
5
+ const transformers_1 = require("../client/transformers");
6
6
  class Sticker extends DiscordBase_1.DiscordBase {
7
7
  user;
8
8
  constructor(client, data) {
9
9
  super(client, data);
10
10
  if (data.user) {
11
- this.user = new User_1.User(this.client, data.user);
11
+ this.user = transformers_1.Transformers.User(this.client, data.user);
12
12
  }
13
13
  }
14
- guild(force = false) {
14
+ async guild(force = false) {
15
15
  if (!this.guildId)
16
16
  return;
17
- return this.client.guilds.fetch(this.id, force);
17
+ return this.client.guilds.fetch(this.guildId, force);
18
18
  }
19
- edit(body, reason) {
19
+ async edit(body, reason) {
20
20
  if (!this.guildId)
21
21
  return;
22
22
  return this.client.guilds.stickers.edit(this.guildId, this.id, body, reason);
23
23
  }
24
- fetch(force = false) {
24
+ async fetch(force = false) {
25
25
  if (!this.guildId)
26
26
  return;
27
27
  return this.client.guilds.stickers.fetch(this.guildId, this.id, force);
28
28
  }
29
- delete(reason) {
29
+ async delete(reason) {
30
30
  if (!this.guildId)
31
31
  return;
32
32
  return this.client.guilds.stickers.delete(this.guildId, this.id, reason);
@@ -1,6 +1,6 @@
1
- import type { APIUser } from 'discord-api-types/v10';
2
- import type { MessageCreateBodyRequest, ObjectToLower } from '../common';
1
+ import { type MessageCreateBodyRequest, type ObjectToLower } from '../common';
3
2
  import type { ImageOptions } from '../common/types/options';
3
+ import type { APIUser } from '../types';
4
4
  import { DiscordBase } from './extra/DiscordBase';
5
5
  export interface User extends ObjectToLower<APIUser> {
6
6
  }
@@ -20,10 +20,11 @@ export declare class User extends DiscordBase<APIUser> {
20
20
  avatarURL(options?: ImageOptions): string;
21
21
  avatarDecorationURL(options?: ImageOptions): string | undefined;
22
22
  bannerURL(options?: ImageOptions): string | undefined;
23
- presence(): import("..").ReturnCache<(Omit<import("discord-api-types/v10").GatewayPresenceUpdate, "user"> & {
23
+ presence(): import("..").ReturnCache<(Omit<import("../types").GatewayPresenceUpdate, "user"> & {
24
24
  id: string;
25
+ user_id: string;
25
26
  } & {
26
27
  guild_id: string;
27
28
  }) | undefined>;
28
- toString(): string;
29
+ toString(): `<@${string}>`;
29
30
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.User = void 0;
4
4
  const api_1 = require("../api");
5
+ const common_1 = require("../common");
5
6
  const DiscordBase_1 = require("./extra/DiscordBase");
6
7
  class User extends DiscordBase_1.DiscordBase {
7
8
  get tag() {
@@ -48,7 +49,7 @@ class User extends DiscordBase_1.DiscordBase {
48
49
  return this.client.members.presence(this.id);
49
50
  }
50
51
  toString() {
51
- return `<@${this.id}>`;
52
+ return common_1.Formatter.userMention(this.id);
52
53
  }
53
54
  }
54
55
  exports.User = User;
@@ -1,19 +1,23 @@
1
- import { GuildMember, type UsingClient } from '../';
1
+ import type { UsingClient } from '../';
2
2
  import type { VoiceStateResource } from '../cache/resources/voice-states';
3
+ import { type GuildMemberStructure } from '../client/transformers';
3
4
  import type { ObjectToLower } from '../common';
4
- import type { GatewayVoiceState } from '../types';
5
+ import type { APIVoiceState } from '../types';
5
6
  import { Base } from './extra/Base';
6
7
  export interface VoiceState extends Base, ObjectToLower<Omit<VoiceStateResource, 'member'>> {
7
8
  }
8
9
  export declare class VoiceState extends Base {
9
- protected withMember?: GuildMember;
10
- constructor(client: UsingClient, data: GatewayVoiceState);
11
- isMuted(): boolean;
12
- member(force?: boolean): Promise<GuildMember>;
10
+ protected withMember?: GuildMemberStructure;
11
+ constructor(client: UsingClient, data: APIVoiceState);
12
+ get isMuted(): boolean;
13
+ member(force?: boolean): Promise<import("./GuildMember").GuildMember>;
13
14
  user(force?: boolean): Promise<import("./User").User>;
14
- channel(force?: boolean): Promise<import("./channels").BaseChannel<import("discord-api-types/payloads/v10/channel").ChannelType> | import("./channels").DMChannel | import("./channels").CategoryChannel | undefined>;
15
- setMute(mute?: boolean, reason?: string): Promise<GuildMember>;
16
- setDeaf(deaf?: boolean, reason?: string): Promise<GuildMember>;
17
- disconnect(reason?: string): Promise<GuildMember>;
18
- setChannel(channel_id: null | string, reason?: string): Promise<GuildMember>;
15
+ channel(force?: boolean): Promise<import("./channels").BaseChannel<import("../types").ChannelType> | import("./channels").DMChannel | import("./channels").CategoryChannel | undefined>;
16
+ setMute(mute?: boolean, reason?: string): Promise<import("./GuildMember").GuildMember>;
17
+ setDeaf(deaf?: boolean, reason?: string): Promise<import("./GuildMember").GuildMember>;
18
+ setSuppress(suppress?: boolean): Promise<void>;
19
+ requestSpeak(date?: string | Date): Promise<undefined>;
20
+ disconnect(reason?: string): Promise<import("./GuildMember").GuildMember>;
21
+ fetch(force?: boolean): Promise<VoiceState>;
22
+ setChannel(channel_id: null | string, reason?: string): Promise<import("./GuildMember").GuildMember>;
19
23
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VoiceState = void 0;
4
- const __1 = require("../");
4
+ const transformers_1 = require("../client/transformers");
5
5
  const Base_1 = require("./extra/Base");
6
6
  class VoiceState extends Base_1.Base {
7
7
  withMember;
@@ -10,15 +10,15 @@ class VoiceState extends Base_1.Base {
10
10
  const { member, ...rest } = data;
11
11
  this.__patchThis(rest);
12
12
  if (member?.user && data.guild_id)
13
- this.withMember = new __1.GuildMember(client, member, member.user, data.guild_id);
13
+ this.withMember = transformers_1.Transformers.GuildMember(client, member, member.user, data.guild_id);
14
14
  }
15
- isMuted() {
15
+ get isMuted() {
16
16
  return this.mute || this.selfMute;
17
17
  }
18
18
  async member(force) {
19
- return (this.withMember ??= await this.client.members.fetch(this.guildId, this.userId, force));
19
+ return (this.withMember = await this.client.members.fetch(this.guildId, this.userId, force));
20
20
  }
21
- async user(force) {
21
+ user(force) {
22
22
  return this.client.users.fetch(this.userId, force);
23
23
  }
24
24
  async channel(force) {
@@ -27,25 +27,43 @@ class VoiceState extends Base_1.Base {
27
27
  return this.client.channels.fetch(this.channelId, force);
28
28
  }
29
29
  async setMute(mute = !this.mute, reason) {
30
- return this.client.members.edit(this.guildId, this.userId, { mute }, reason).then(member => {
31
- this.mute = mute;
32
- return member;
33
- });
30
+ const member = await this.client.members.edit(this.guildId, this.userId, { mute }, reason);
31
+ this.mute = mute;
32
+ return member;
34
33
  }
35
34
  async setDeaf(deaf = !this.deaf, reason) {
36
- return this.client.members.edit(this.guildId, this.userId, { deaf }, reason).then(member => {
37
- this.deaf = deaf;
38
- return member;
35
+ const member = await this.client.members.edit(this.guildId, this.userId, { deaf }, reason);
36
+ this.deaf = deaf;
37
+ return member;
38
+ }
39
+ async setSuppress(suppress = !this.suppress) {
40
+ await this.client.proxy.guilds(this.guildId)['voice-states']['@me'].patch({
41
+ body: { suppress },
42
+ });
43
+ this.suppress = suppress;
44
+ }
45
+ async requestSpeak(date = new Date()) {
46
+ if (typeof date === 'string')
47
+ date = new Date(date);
48
+ if (Number.isNaN(date))
49
+ return Promise.reject('Invalid date');
50
+ date = date.toISOString();
51
+ await this.client.proxy.guilds(this.guildId)['voice-states']['@me'].patch({
52
+ body: { request_to_speak_timestamp: date },
39
53
  });
54
+ this.requestToSpeakTimestamp = date;
40
55
  }
41
- async disconnect(reason) {
56
+ disconnect(reason) {
42
57
  return this.setChannel(null, reason);
43
58
  }
59
+ async fetch(force = false) {
60
+ const member = this.withMember ?? (await this.member(force));
61
+ return this.client.members.voice(this.guildId, member.id, force);
62
+ }
44
63
  async setChannel(channel_id, reason) {
45
- return this.client.members.edit(this.guildId, this.userId, { channel_id }, reason).then(member => {
46
- this.channelId = channel_id;
47
- return member;
48
- });
64
+ const member = await this.client.members.edit(this.guildId, this.userId, { channel_id }, reason);
65
+ this.channelId = channel_id;
66
+ return member;
49
67
  }
50
68
  }
51
69
  exports.VoiceState = VoiceState;
@@ -1,12 +1,11 @@
1
1
  /**
2
2
  * Represents a Discord webhook.
3
3
  */
4
- import type { APIWebhook, RESTGetAPIWebhookWithTokenMessageQuery, RESTPatchAPIWebhookJSONBody, RESTPatchAPIWebhookWithTokenJSONBody, RESTPostAPIWebhookWithTokenQuery } from 'discord-api-types/v10';
4
+ import type { APIWebhook, RESTGetAPIWebhookWithTokenMessageQuery, RESTPatchAPIWebhookJSONBody, RESTPatchAPIWebhookWithTokenJSONBody, RESTPostAPIWebhookWithTokenQuery } from '../types';
5
5
  import type { UsingClient } from '../commands';
6
6
  import type { ImageOptions, MessageWebhookCreateBodyRequest, MessageWebhookPayload, MessageWebhookUpdateBodyRequest, MethodContext, ObjectToLower } from '../common';
7
- import { AnonymousGuild } from './AnonymousGuild';
8
- import { User } from './User';
9
7
  import { DiscordBase } from './extra/DiscordBase';
8
+ import { type AnonymousGuildStructure, type UserStructure } from '../client/transformers';
10
9
  export interface Webhook extends DiscordBase, ObjectToLower<Omit<APIWebhook, 'user' | 'source_guild'>> {
11
10
  }
12
11
  /**
@@ -14,9 +13,9 @@ export interface Webhook extends DiscordBase, ObjectToLower<Omit<APIWebhook, 'us
14
13
  */
15
14
  export declare class Webhook extends DiscordBase {
16
15
  /** The user associated with the webhook, if applicable. */
17
- user?: User;
16
+ user?: UserStructure;
18
17
  /** The source guild of the webhook, if applicable. */
19
- sourceGuild?: Partial<AnonymousGuild>;
18
+ sourceGuild?: Partial<AnonymousGuildStructure>;
20
19
  /** Methods related to interacting with messages through the webhook. */
21
20
  messages: ReturnType<typeof Webhook.messages>;
22
21
  /**
@@ -30,13 +29,13 @@ export declare class Webhook extends DiscordBase {
30
29
  * @param force Whether to force fetching the guild even if it's already cached.
31
30
  * @returns A promise that resolves to the guild associated with the webhook, or undefined if not applicable.
32
31
  */
33
- guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">> | undefined;
32
+ guild(force?: boolean): Promise<import("./Guild").Guild<"api"> | undefined>;
34
33
  /**
35
34
  * Fetches the channel associated with the webhook.
36
35
  * @param force Whether to force fetching the channel even if it's already cached.
37
36
  * @returns A promise that resolves to the channel associated with the webhook, or undefined if not applicable.
38
37
  */
39
- channel(force?: boolean): Promise<import("./channels").BaseChannel<import("discord-api-types/v10").ChannelType> | import("./channels").DMChannel | import("./channels").CategoryChannel | undefined>;
38
+ channel(force?: boolean): Promise<import("./channels").BaseChannel<import("../types").ChannelType> | import("./channels").DMChannel | import("./channels").CategoryChannel | undefined>;
40
39
  /**
41
40
  * Retrieves the avatar URL of the webhook.
42
41
  * @param options The image options for the avatar.
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Webhook = void 0;
4
- const AnonymousGuild_1 = require("./AnonymousGuild");
5
- const User_1 = require("./User");
6
4
  const DiscordBase_1 = require("./extra/DiscordBase");
5
+ const transformers_1 = require("../client/transformers");
7
6
  /**
8
7
  * Represents a Discord webhook.
9
8
  */
@@ -22,10 +21,10 @@ class Webhook extends DiscordBase_1.DiscordBase {
22
21
  constructor(client, data) {
23
22
  super(client, data);
24
23
  if (data.user) {
25
- this.user = new User_1.User(this.client, data.user);
24
+ this.user = transformers_1.Transformers.User(this.client, data.user);
26
25
  }
27
26
  if (data.source_guild) {
28
- this.sourceGuild = new AnonymousGuild_1.AnonymousGuild(this.client, data.source_guild);
27
+ this.sourceGuild = transformers_1.Transformers.AnonymousGuild(this.client, data.source_guild);
29
28
  }
30
29
  Object.assign(this, {
31
30
  messages: Webhook.messages({ client, webhookId: this.id, webhookToken: this.token }),
@@ -36,7 +35,7 @@ class Webhook extends DiscordBase_1.DiscordBase {
36
35
  * @param force Whether to force fetching the guild even if it's already cached.
37
36
  * @returns A promise that resolves to the guild associated with the webhook, or undefined if not applicable.
38
37
  */
39
- guild(force = false) {
38
+ async guild(force = false) {
40
39
  if (!this.sourceGuild?.id)
41
40
  return;
42
41
  return this.client.guilds.fetch(this.sourceGuild.id, force);
@@ -66,7 +65,7 @@ class Webhook extends DiscordBase_1.DiscordBase {
66
65
  * Fetches the webhook data from the Discord API.
67
66
  * @returns A promise that resolves to the fetched webhook data.
68
67
  */
69
- async fetch() {
68
+ fetch() {
70
69
  return this.client.webhooks.fetch(this.id, this.token);
71
70
  }
72
71
  /**
@@ -75,7 +74,7 @@ class Webhook extends DiscordBase_1.DiscordBase {
75
74
  * @param reason The reason for editing the webhook.
76
75
  * @returns A promise that resolves when the webhook is successfully edited.
77
76
  */
78
- async edit(body, reason) {
77
+ edit(body, reason) {
79
78
  return this.client.webhooks.edit(this.id, body, { reason, token: this.token });
80
79
  }
81
80
  /**
@@ -1,10 +1,11 @@
1
- import { ChannelType, VideoQualityMode, type APIChannelBase, type APIDMChannel, type APIGuildCategoryChannel, type APIGuildChannel, type APIGuildForumChannel, type APIGuildForumDefaultReactionEmoji, type APIGuildForumTag, type APIGuildMediaChannel, type APIGuildStageVoiceChannel, type APIGuildVoiceChannel, type APINewsChannel, type APITextChannel, type APIThreadChannel, type RESTGetAPIChannelMessageReactionUsersQuery, type RESTPatchAPIChannelJSONBody, type RESTPatchAPIGuildChannelPositionsJSONBody, type RESTPostAPIChannelWebhookJSONBody, type RESTPostAPIGuildChannelJSONBody, type RESTPostAPIGuildForumThreadsJSONBody, type SortOrderType, type ThreadAutoArchiveDuration } from 'discord-api-types/v10';
1
+ import { type APIChannelBase, type RESTPatchAPIChannelJSONBody, type RESTPostAPIGuildChannelJSONBody, type RESTPatchAPIGuildChannelPositionsJSONBody, type APIGuildChannel, type RESTGetAPIChannelMessageReactionUsersQuery, type APITextChannel, type APIGuildForumTag, type ThreadAutoArchiveDuration, type APIGuildForumDefaultReactionEmoji, type SortOrderType, type RESTPostAPIGuildForumThreadsJSONBody, type RESTPostAPIChannelWebhookJSONBody, type APIDMChannel, type APIGuildVoiceChannel, type APIGuildStageVoiceChannel, type APIGuildMediaChannel, type APIGuildForumChannel, type APIThreadChannel, type APIGuildCategoryChannel, type APINewsChannel, ChannelType, VideoQualityMode } from '../types';
2
2
  import type { UsingClient } from '../commands';
3
3
  import type { EmojiResolvable, MessageCreateBodyRequest, MessageUpdateBodyRequest, MethodContext, ObjectToLower, StringToNumber, ToClass } from '../common';
4
4
  import type { GuildMember } from './GuildMember';
5
5
  import type { GuildRole } from './GuildRole';
6
6
  import { DiscordBase } from './extra/DiscordBase';
7
7
  import { Collection, type RawFile } from '..';
8
+ import { type BaseChannelStructure, type BaseGuildChannelStructure, type CategoryChannelStructure, type DMChannelStructure, type DirectoryChannelStructure, type ForumChannelStructure, type MediaChannelStructure, type NewsChannelStructure, type StageChannelStructure, type TextGuildChannelStructure, type ThreadChannelStructure, type VoiceChannelStructure } from '../client/transformers';
8
9
  export declare class BaseChannel<T extends ChannelType> extends DiscordBase<APIChannelBase<ChannelType>> {
9
10
  type: T;
10
11
  constructor(client: UsingClient, data: APIChannelBase<ChannelType>);
@@ -15,7 +16,7 @@ export declare class BaseChannel<T extends ChannelType> extends DiscordBase<APIC
15
16
  fetch(force?: boolean): Promise<AllChannels>;
16
17
  delete(reason?: string): Promise<AllChannels>;
17
18
  edit(body: RESTPatchAPIChannelJSONBody, reason?: string): Promise<AllChannels>;
18
- toString(): string;
19
+ toString(): `<#${string}>`;
19
20
  isStage(): this is StageChannel;
20
21
  isMedia(): this is MediaChannel;
21
22
  isDM(): this is DMChannel;
@@ -100,7 +101,7 @@ export declare class BaseGuildChannel extends BaseChannel<ChannelType> {
100
101
  guildId: string;
101
102
  } | undefined;
102
103
  }>;
103
- guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">>;
104
+ guild(force?: boolean): Promise<import("./Guild").Guild<"api">>;
104
105
  get url(): string;
105
106
  setPosition(position: number, reason?: string): Promise<AllChannels>;
106
107
  setName(name: string, reason?: string): Promise<AllChannels>;
@@ -160,7 +161,7 @@ export interface TextBaseGuildChannel extends ObjectToLower<Omit<APITextChannel,
160
161
  }
161
162
  export declare class TextBaseGuildChannel extends BaseGuildChannel {
162
163
  }
163
- export default function channelFrom(data: APIChannelBase<ChannelType>, client: UsingClient): AllChannels;
164
+ export declare function channelFrom(data: APIChannelBase<ChannelType>, client: UsingClient): AllChannels;
164
165
  export interface TopicableGuildChannel extends BaseChannel<ChannelType> {
165
166
  }
166
167
  export declare class TopicableGuildChannel extends DiscordBase {
@@ -272,13 +273,13 @@ export interface NewsChannel extends ObjectToLower<APINewsChannel>, WebhookChann
272
273
  }
273
274
  export declare class NewsChannel extends BaseChannel<ChannelType.GuildAnnouncement> {
274
275
  type: ChannelType.GuildAnnouncement;
275
- addFollower(webhookChannelId: string, reason?: string): Promise<import("discord-api-types/v10").APIFollowedChannel>;
276
+ addFollower(webhookChannelId: string, reason?: string): Promise<import("../types").APIFollowedChannel>;
276
277
  }
277
278
  export declare class DirectoryChannel extends BaseChannel<ChannelType.GuildDirectory> {
278
279
  }
279
- export type AllGuildChannels = TextGuildChannel | VoiceChannel | MediaChannel | ForumChannel | ThreadChannel | CategoryChannel | NewsChannel | DirectoryChannel | StageChannel;
280
- export type AllTextableChannels = TextGuildChannel | VoiceChannel | DMChannel | NewsChannel | ThreadChannel;
281
- export type AllGuildTextableChannels = TextGuildChannel | VoiceChannel | NewsChannel | ThreadChannel;
282
- export type AllGuildVoiceChannels = VoiceChannel | StageChannel;
283
- export type AllChannels = BaseChannel<ChannelType> | BaseGuildChannel | TextGuildChannel | DMChannel | VoiceChannel | MediaChannel | ForumChannel | ThreadChannel | CategoryChannel | NewsChannel | DirectoryChannel | StageChannel;
280
+ export type AllGuildChannels = TextGuildChannelStructure | VoiceChannelStructure | MediaChannelStructure | ForumChannelStructure | ThreadChannelStructure | CategoryChannelStructure | NewsChannelStructure | DirectoryChannelStructure | StageChannelStructure;
281
+ export type AllTextableChannels = TextGuildChannelStructure | VoiceChannelStructure | DMChannelStructure | NewsChannelStructure | ThreadChannelStructure;
282
+ export type AllGuildTextableChannels = TextGuildChannelStructure | VoiceChannelStructure | NewsChannelStructure | ThreadChannelStructure;
283
+ export type AllGuildVoiceChannels = VoiceChannelStructure | StageChannelStructure;
284
+ export type AllChannels = BaseChannelStructure | BaseGuildChannelStructure | TextGuildChannelStructure | DMChannelStructure | VoiceChannelStructure | MediaChannelStructure | ForumChannelStructure | ThreadChannelStructure | CategoryChannelStructure | NewsChannelStructure | DirectoryChannelStructure | StageChannelStructure;
284
285
  export {};
@@ -7,12 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.DirectoryChannel = exports.NewsChannel = exports.CategoryChannel = exports.ThreadChannel = exports.ForumChannel = exports.MediaChannel = exports.StageChannel = exports.VoiceChannel = exports.DMChannel = exports.TextGuildChannel = exports.WebhookChannelMethods = exports.WebhookGuildMethods = exports.VoiceChannelMethods = exports.ThreadOnlyMethods = exports.TopicableGuildChannel = exports.TextBaseGuildChannel = exports.MessagesMethods = exports.BaseGuildChannel = exports.BaseChannel = void 0;
10
- const v10_1 = require("discord-api-types/v10");
11
- const ts_mixer_1 = require("ts-mixer");
10
+ exports.channelFrom = channelFrom;
11
+ const types_1 = require("../types");
12
12
  const builders_1 = require("../builders");
13
13
  const DiscordBase_1 = require("./extra/DiscordBase");
14
- const functions_1 = require("./extra/functions");
15
14
  const __1 = require("..");
15
+ const transformers_1 = require("../client/transformers");
16
+ const mixer_1 = require("../deps/mixer");
16
17
  class BaseChannel extends DiscordBase_1.DiscordBase {
17
18
  constructor(client, data) {
18
19
  super(client, data);
@@ -22,7 +23,7 @@ class BaseChannel extends DiscordBase_1.DiscordBase {
22
23
  }
23
24
  /** The URL to the channel */
24
25
  get url() {
25
- return (0, functions_1.channelLink)(this.id);
26
+ return __1.Formatter.channelLink(this.id);
26
27
  }
27
28
  fetch(force = false) {
28
29
  return this.client.channels.fetch(this.id, force);
@@ -37,37 +38,37 @@ class BaseChannel extends DiscordBase_1.DiscordBase {
37
38
  });
38
39
  }
39
40
  toString() {
40
- return `<#${this.id}>`;
41
+ return __1.Formatter.channelMention(this.id);
41
42
  }
42
43
  isStage() {
43
- return this.type === v10_1.ChannelType.GuildStageVoice;
44
+ return this.type === types_1.ChannelType.GuildStageVoice;
44
45
  }
45
46
  isMedia() {
46
- return this.type === v10_1.ChannelType.GuildMedia;
47
+ return this.type === types_1.ChannelType.GuildMedia;
47
48
  }
48
49
  isDM() {
49
- return [v10_1.ChannelType.DM, v10_1.ChannelType.GroupDM].includes(this.type);
50
+ return [types_1.ChannelType.DM, types_1.ChannelType.GroupDM].includes(this.type);
50
51
  }
51
52
  isForum() {
52
- return this.type === v10_1.ChannelType.GuildForum;
53
+ return this.type === types_1.ChannelType.GuildForum;
53
54
  }
54
55
  isThread() {
55
- return [v10_1.ChannelType.PublicThread, v10_1.ChannelType.PrivateThread, v10_1.ChannelType.AnnouncementThread].includes(this.type);
56
+ return [types_1.ChannelType.PublicThread, types_1.ChannelType.PrivateThread, types_1.ChannelType.AnnouncementThread].includes(this.type);
56
57
  }
57
58
  isDirectory() {
58
- return this.type === v10_1.ChannelType.GuildDirectory;
59
+ return this.type === types_1.ChannelType.GuildDirectory;
59
60
  }
60
61
  isVoice() {
61
- return this.type === v10_1.ChannelType.GuildVoice;
62
+ return this.type === types_1.ChannelType.GuildVoice;
62
63
  }
63
64
  isTextGuild() {
64
- return this.type === v10_1.ChannelType.GuildText;
65
+ return this.type === types_1.ChannelType.GuildText;
65
66
  }
66
67
  isCategory() {
67
- return this.type === v10_1.ChannelType.GuildCategory;
68
+ return this.type === types_1.ChannelType.GuildCategory;
68
69
  }
69
70
  isNews() {
70
- return this.type === v10_1.ChannelType.GuildAnnouncement;
71
+ return this.type === types_1.ChannelType.GuildAnnouncement;
71
72
  }
72
73
  isTextable() {
73
74
  return 'messages' in this;
@@ -79,7 +80,7 @@ class BaseChannel extends DiscordBase_1.DiscordBase {
79
80
  return this.isForum() || this.isMedia();
80
81
  }
81
82
  is(channelTypes) {
82
- return channelTypes.some(x => v10_1.ChannelType[x] === this.type);
83
+ return channelTypes.some(x => types_1.ChannelType[x] === this.type);
83
84
  }
84
85
  static allMethods(ctx) {
85
86
  return {
@@ -115,7 +116,7 @@ class BaseGuildChannel extends BaseChannel {
115
116
  return this.client.guilds.fetch(this.guildId, force);
116
117
  }
117
118
  get url() {
118
- return (0, functions_1.channelLink)(this.id, this.guildId);
119
+ return __1.Formatter.channelLink(this.id, this.guildId);
119
120
  }
120
121
  setPosition(position, reason) {
121
122
  return this.edit({ position }, reason);
@@ -168,22 +169,27 @@ class MessagesMethods extends DiscordBase_1.DiscordBase {
168
169
  }
169
170
  static transformMessageBody(body, files, self) {
170
171
  const poll = body.poll;
171
- return {
172
+ const payload = {
172
173
  allowed_mentions: self.options?.allowedMentions,
173
174
  ...body,
174
175
  components: body.components?.map(x => (x instanceof builders_1.ActionRow ? x.toJSON() : x)) ?? undefined,
175
176
  embeds: body.embeds?.map(x => (x instanceof builders_1.Embed ? x.toJSON() : x)) ?? undefined,
176
- attachments: 'attachments' in body
177
- ? body.attachments?.map((x, i) => ({
178
- id: i,
179
- ...(0, builders_1.resolveAttachment)(x),
180
- })) ?? undefined
181
- : files?.map((x, id) => ({
182
- id,
183
- filename: x.name,
184
- })),
185
177
  poll: poll ? (poll instanceof builders_1.PollBuilder ? poll.toJSON() : poll) : undefined,
186
178
  };
179
+ if ('attachments' in body) {
180
+ payload.attachments =
181
+ body.attachments?.map((x, i) => ({
182
+ id: i,
183
+ ...(0, builders_1.resolveAttachment)(x),
184
+ })) ?? undefined;
185
+ }
186
+ else if (files?.length) {
187
+ payload.attachments = files?.map((x, id) => ({
188
+ id,
189
+ filename: x.name,
190
+ }));
191
+ }
192
+ return payload;
187
193
  }
188
194
  }
189
195
  exports.MessagesMethods = MessagesMethods;
@@ -191,40 +197,39 @@ let TextBaseGuildChannel = class TextBaseGuildChannel extends BaseGuildChannel {
191
197
  };
192
198
  exports.TextBaseGuildChannel = TextBaseGuildChannel;
193
199
  exports.TextBaseGuildChannel = TextBaseGuildChannel = __decorate([
194
- (0, ts_mixer_1.mix)(MessagesMethods)
200
+ (0, mixer_1.mix)(MessagesMethods)
195
201
  ], TextBaseGuildChannel);
196
202
  function channelFrom(data, client) {
197
203
  switch (data.type) {
198
- case v10_1.ChannelType.GuildStageVoice:
199
- return new StageChannel(client, data);
200
- case v10_1.ChannelType.GuildMedia:
201
- return new MediaChannel(client, data);
202
- case v10_1.ChannelType.DM:
203
- return new DMChannel(client, data);
204
- case v10_1.ChannelType.GuildForum:
205
- return new ForumChannel(client, data);
206
- case v10_1.ChannelType.AnnouncementThread:
207
- case v10_1.ChannelType.PrivateThread:
208
- case v10_1.ChannelType.PublicThread:
209
- return new ThreadChannel(client, data);
210
- case v10_1.ChannelType.GuildDirectory:
211
- return new DirectoryChannel(client, data);
212
- case v10_1.ChannelType.GuildVoice:
213
- return new VoiceChannel(client, data);
214
- case v10_1.ChannelType.GuildText:
215
- return new TextGuildChannel(client, data);
216
- case v10_1.ChannelType.GuildCategory:
217
- return new CategoryChannel(client, data);
218
- case v10_1.ChannelType.GuildAnnouncement:
219
- return new NewsChannel(client, data);
204
+ case types_1.ChannelType.GuildStageVoice:
205
+ return transformers_1.Transformers.StageChannel(client, data);
206
+ case types_1.ChannelType.GuildMedia:
207
+ return transformers_1.Transformers.MediaChannel(client, data);
208
+ case types_1.ChannelType.DM:
209
+ return transformers_1.Transformers.DMChannel(client, data);
210
+ case types_1.ChannelType.GuildForum:
211
+ return transformers_1.Transformers.ForumChannel(client, data);
212
+ case types_1.ChannelType.AnnouncementThread:
213
+ case types_1.ChannelType.PrivateThread:
214
+ case types_1.ChannelType.PublicThread:
215
+ return transformers_1.Transformers.ThreadChannel(client, data);
216
+ case types_1.ChannelType.GuildDirectory:
217
+ return transformers_1.Transformers.DirectoryChannel(client, data);
218
+ case types_1.ChannelType.GuildVoice:
219
+ return transformers_1.Transformers.VoiceChannel(client, data);
220
+ case types_1.ChannelType.GuildText:
221
+ return transformers_1.Transformers.TextGuildChannel(client, data);
222
+ case types_1.ChannelType.GuildCategory:
223
+ return transformers_1.Transformers.CategoryChannel(client, data);
224
+ case types_1.ChannelType.GuildAnnouncement:
225
+ return transformers_1.Transformers.NewsChannel(client, data);
220
226
  default:
221
227
  if ('guild_id' in data) {
222
- return new BaseGuildChannel(client, data);
228
+ return transformers_1.Transformers.BaseGuildChannel(client, data);
223
229
  }
224
- return new BaseChannel(client, data);
230
+ return transformers_1.Transformers.BaseChannel(client, data);
225
231
  }
226
232
  }
227
- exports.default = channelFrom;
228
233
  class TopicableGuildChannel extends DiscordBase_1.DiscordBase {
229
234
  setTopic(topic, reason) {
230
235
  return this.edit({ topic }, reason);
@@ -253,7 +258,7 @@ let ThreadOnlyMethods = class ThreadOnlyMethods extends DiscordBase_1.DiscordBas
253
258
  };
254
259
  exports.ThreadOnlyMethods = ThreadOnlyMethods;
255
260
  exports.ThreadOnlyMethods = ThreadOnlyMethods = __decorate([
256
- (0, ts_mixer_1.mix)(TopicableGuildChannel)
261
+ (0, mixer_1.mix)(TopicableGuildChannel)
257
262
  ], ThreadOnlyMethods);
258
263
  class VoiceChannelMethods extends DiscordBase_1.DiscordBase {
259
264
  guildId;
@@ -267,7 +272,7 @@ class VoiceChannelMethods extends DiscordBase_1.DiscordBase {
267
272
  return this.edit({ rtc_region }, reason);
268
273
  }
269
274
  setVideoQuality(quality, reason) {
270
- return this.edit({ video_quality_mode: v10_1.VideoQualityMode[quality] }, reason);
275
+ return this.edit({ video_quality_mode: types_1.VideoQualityMode[quality] }, reason);
271
276
  }
272
277
  setVoiceState(status = null) {
273
278
  return this.client.channels.setVoiceStatus(this.id, status);
@@ -327,37 +332,37 @@ let TextGuildChannel = class TextGuildChannel extends BaseGuildChannel {
327
332
  };
328
333
  exports.TextGuildChannel = TextGuildChannel;
329
334
  exports.TextGuildChannel = TextGuildChannel = __decorate([
330
- (0, ts_mixer_1.mix)(TextBaseGuildChannel, WebhookChannelMethods)
335
+ (0, mixer_1.mix)(TextBaseGuildChannel, WebhookChannelMethods)
331
336
  ], TextGuildChannel);
332
337
  let DMChannel = class DMChannel extends BaseChannel {
333
338
  };
334
339
  exports.DMChannel = DMChannel;
335
340
  exports.DMChannel = DMChannel = __decorate([
336
- (0, ts_mixer_1.mix)(MessagesMethods)
341
+ (0, mixer_1.mix)(MessagesMethods)
337
342
  ], DMChannel);
338
343
  let VoiceChannel = class VoiceChannel extends BaseChannel {
339
344
  };
340
345
  exports.VoiceChannel = VoiceChannel;
341
346
  exports.VoiceChannel = VoiceChannel = __decorate([
342
- (0, ts_mixer_1.mix)(TextGuildChannel, WebhookChannelMethods, VoiceChannelMethods)
347
+ (0, mixer_1.mix)(TextGuildChannel, WebhookChannelMethods, VoiceChannelMethods)
343
348
  ], VoiceChannel);
344
349
  let StageChannel = class StageChannel extends BaseChannel {
345
350
  };
346
351
  exports.StageChannel = StageChannel;
347
352
  exports.StageChannel = StageChannel = __decorate([
348
- (0, ts_mixer_1.mix)(TopicableGuildChannel, VoiceChannelMethods)
353
+ (0, mixer_1.mix)(TopicableGuildChannel, VoiceChannelMethods)
349
354
  ], StageChannel);
350
355
  let MediaChannel = class MediaChannel extends BaseChannel {
351
356
  };
352
357
  exports.MediaChannel = MediaChannel;
353
358
  exports.MediaChannel = MediaChannel = __decorate([
354
- (0, ts_mixer_1.mix)(ThreadOnlyMethods)
359
+ (0, mixer_1.mix)(ThreadOnlyMethods)
355
360
  ], MediaChannel);
356
361
  let ForumChannel = class ForumChannel extends BaseChannel {
357
362
  };
358
363
  exports.ForumChannel = ForumChannel;
359
364
  exports.ForumChannel = ForumChannel = __decorate([
360
- (0, ts_mixer_1.mix)(ThreadOnlyMethods, WebhookChannelMethods)
365
+ (0, mixer_1.mix)(ThreadOnlyMethods, WebhookChannelMethods)
361
366
  ], ForumChannel);
362
367
  let ThreadChannel = class ThreadChannel extends BaseChannel {
363
368
  webhooks = WebhookChannelMethods.channel({
@@ -376,10 +381,10 @@ let ThreadChannel = class ThreadChannel extends BaseChannel {
376
381
  return this.edit({ rate_limit_per_user });
377
382
  }
378
383
  pin(reason) {
379
- return this.edit({ flags: (this.flags ?? 0) | v10_1.ChannelFlags.Pinned }, reason);
384
+ return this.edit({ flags: (this.flags ?? 0) | types_1.ChannelFlags.Pinned }, reason);
380
385
  }
381
386
  unpin(reason) {
382
- return this.edit({ flags: (this.flags ?? 0) & ~v10_1.ChannelFlags.Pinned }, reason);
387
+ return this.edit({ flags: (this.flags ?? 0) & ~types_1.ChannelFlags.Pinned }, reason);
383
388
  }
384
389
  setTags(applied_tags, reason) {
385
390
  /**
@@ -403,7 +408,7 @@ let ThreadChannel = class ThreadChannel extends BaseChannel {
403
408
  };
404
409
  exports.ThreadChannel = ThreadChannel;
405
410
  exports.ThreadChannel = ThreadChannel = __decorate([
406
- (0, ts_mixer_1.mix)(TextBaseGuildChannel)
411
+ (0, mixer_1.mix)(TextBaseGuildChannel)
407
412
  ], ThreadChannel);
408
413
  class CategoryChannel extends BaseGuildChannel {
409
414
  }
@@ -415,7 +420,7 @@ let NewsChannel = class NewsChannel extends BaseChannel {
415
420
  };
416
421
  exports.NewsChannel = NewsChannel;
417
422
  exports.NewsChannel = NewsChannel = __decorate([
418
- (0, ts_mixer_1.mix)(WebhookChannelMethods)
423
+ (0, mixer_1.mix)(WebhookChannelMethods)
419
424
  ], NewsChannel);
420
425
  class DirectoryChannel extends BaseChannel {
421
426
  }