seyfert 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +22 -14
  3. package/lib/api/Router.js +5 -3
  4. package/lib/api/Routes/applications.d.ts +23 -1
  5. package/lib/api/Routes/channels.d.ts +1 -1
  6. package/lib/api/Routes/gateway.d.ts +1 -1
  7. package/lib/api/Routes/guilds.d.ts +8 -2
  8. package/lib/api/Routes/interactions.d.ts +1 -1
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/stage-instances.d.ts +1 -1
  11. package/lib/api/Routes/stickers.d.ts +2 -2
  12. package/lib/api/Routes/users.d.ts +1 -1
  13. package/lib/api/Routes/voice.d.ts +1 -1
  14. package/lib/api/Routes/webhooks.d.ts +2 -2
  15. package/lib/api/api.d.ts +2 -2
  16. package/lib/api/api.js +2 -14
  17. package/lib/api/bucket.d.ts +0 -1
  18. package/lib/api/shared.d.ts +0 -1
  19. package/lib/api/utils/constants.d.ts +2 -5
  20. package/lib/api/utils/constants.js +3 -7
  21. package/lib/api/utils/utils.d.ts +1 -2
  22. package/lib/api/utils/utils.js +2 -3
  23. package/lib/builders/ActionRow.d.ts +1 -1
  24. package/lib/builders/ActionRow.js +3 -3
  25. package/lib/builders/Attachment.d.ts +2 -3
  26. package/lib/builders/Attachment.js +12 -13
  27. package/lib/builders/Base.d.ts +2 -2
  28. package/lib/builders/Base.js +1 -1
  29. package/lib/builders/Button.d.ts +7 -7
  30. package/lib/builders/Button.js +11 -9
  31. package/lib/builders/Embed.d.ts +1 -1
  32. package/lib/builders/Modal.d.ts +1 -1
  33. package/lib/builders/Modal.js +2 -2
  34. package/lib/builders/Poll.d.ts +2 -2
  35. package/lib/builders/Poll.js +5 -6
  36. package/lib/builders/SelectMenu.d.ts +1 -1
  37. package/lib/builders/SelectMenu.js +17 -18
  38. package/lib/builders/index.d.ts +1 -1
  39. package/lib/builders/index.js +10 -11
  40. package/lib/cache/adapters/default.d.ts +16 -9
  41. package/lib/cache/adapters/default.js +42 -31
  42. package/lib/cache/adapters/index.d.ts +0 -1
  43. package/lib/cache/adapters/index.js +0 -1
  44. package/lib/cache/adapters/limited.d.ts +17 -12
  45. package/lib/cache/adapters/limited.js +80 -36
  46. package/lib/cache/adapters/types.d.ts +6 -7
  47. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  48. package/lib/cache/adapters/workeradapter.js +13 -0
  49. package/lib/cache/index.d.ts +24 -11
  50. package/lib/cache/index.js +335 -19
  51. package/lib/cache/resources/bans.d.ts +15 -0
  52. package/lib/cache/resources/bans.js +44 -0
  53. package/lib/cache/resources/channels.d.ts +6 -4
  54. package/lib/cache/resources/channels.js +13 -7
  55. package/lib/cache/resources/default/base.d.ts +7 -7
  56. package/lib/cache/resources/default/base.js +2 -2
  57. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  58. package/lib/cache/resources/default/guild-based.js +6 -6
  59. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  60. package/lib/cache/resources/default/guild-related.js +10 -8
  61. package/lib/cache/resources/emojis.d.ts +15 -6
  62. package/lib/cache/resources/emojis.js +13 -4
  63. package/lib/cache/resources/guilds.d.ts +9 -6
  64. package/lib/cache/resources/guilds.js +27 -6
  65. package/lib/cache/resources/members.d.ts +9 -6
  66. package/lib/cache/resources/members.js +24 -8
  67. package/lib/cache/resources/messages.d.ts +11 -7
  68. package/lib/cache/resources/messages.js +25 -11
  69. package/lib/cache/resources/overwrites.d.ts +11 -2
  70. package/lib/cache/resources/overwrites.js +9 -0
  71. package/lib/cache/resources/presence.d.ts +3 -2
  72. package/lib/cache/resources/roles.d.ts +9 -6
  73. package/lib/cache/resources/roles.js +13 -4
  74. package/lib/cache/resources/stage-instances.d.ts +2 -2
  75. package/lib/cache/resources/stickers.d.ts +9 -6
  76. package/lib/cache/resources/stickers.js +13 -4
  77. package/lib/cache/resources/threads.d.ts +9 -6
  78. package/lib/cache/resources/threads.js +13 -4
  79. package/lib/cache/resources/users.d.ts +9 -6
  80. package/lib/cache/resources/users.js +13 -4
  81. package/lib/cache/resources/voice-states.d.ts +11 -8
  82. package/lib/cache/resources/voice-states.js +15 -4
  83. package/lib/client/base.d.ts +32 -20
  84. package/lib/client/base.js +51 -30
  85. package/lib/client/client.d.ts +12 -9
  86. package/lib/client/client.js +43 -49
  87. package/lib/client/collectors.d.ts +36 -0
  88. package/lib/client/collectors.js +110 -0
  89. package/lib/client/httpclient.d.ts +8 -13
  90. package/lib/client/httpclient.js +27 -218
  91. package/lib/client/index.d.ts +1 -0
  92. package/lib/client/index.js +1 -0
  93. package/lib/client/transformers.d.ts +68 -0
  94. package/lib/client/transformers.js +99 -0
  95. package/lib/client/types.d.ts +5 -0
  96. package/lib/client/types.js +2 -0
  97. package/lib/client/workerclient.d.ts +18 -15
  98. package/lib/client/workerclient.js +148 -110
  99. package/lib/collection.d.ts +2 -2
  100. package/lib/collection.js +2 -2
  101. package/lib/commands/applications/chat.d.ts +40 -38
  102. package/lib/commands/applications/chat.js +22 -12
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/menu.d.ts +9 -9
  106. package/lib/commands/applications/menu.js +5 -7
  107. package/lib/commands/applications/menucontext.d.ts +14 -13
  108. package/lib/commands/applications/menucontext.js +9 -9
  109. package/lib/commands/applications/options.d.ts +1 -1
  110. package/lib/commands/applications/options.js +20 -21
  111. package/lib/commands/applications/shared.d.ts +14 -0
  112. package/lib/commands/decorators.d.ts +47 -35
  113. package/lib/commands/decorators.js +19 -27
  114. package/lib/commands/handle.d.ts +64 -0
  115. package/lib/commands/handle.js +685 -0
  116. package/lib/commands/handler.d.ts +27 -18
  117. package/lib/commands/handler.js +296 -160
  118. package/lib/commands/optionresolver.d.ts +13 -13
  119. package/lib/commands/optionresolver.js +23 -28
  120. package/lib/common/bot/watcher.d.ts +4 -33
  121. package/lib/common/bot/watcher.js +0 -109
  122. package/lib/common/index.d.ts +2 -0
  123. package/lib/common/index.js +4 -1
  124. package/lib/common/it/colors.js +48 -49
  125. package/lib/common/it/formatter.d.ts +187 -0
  126. package/lib/common/it/formatter.js +226 -0
  127. package/lib/common/it/logger.d.ts +0 -1
  128. package/lib/common/it/logger.js +8 -8
  129. package/lib/common/it/utils.d.ts +15 -2
  130. package/lib/common/it/utils.js +80 -21
  131. package/lib/common/shorters/application.d.ts +56 -0
  132. package/lib/common/shorters/application.js +81 -0
  133. package/lib/common/shorters/bans.d.ts +42 -0
  134. package/lib/common/shorters/bans.js +78 -0
  135. package/lib/common/shorters/channels.d.ts +7 -6
  136. package/lib/common/shorters/channels.js +19 -15
  137. package/lib/common/shorters/emojis.d.ts +5 -6
  138. package/lib/common/shorters/emojis.js +8 -7
  139. package/lib/common/shorters/guilds.d.ts +18 -16
  140. package/lib/common/shorters/guilds.js +31 -26
  141. package/lib/common/shorters/interaction.d.ts +6 -6
  142. package/lib/common/shorters/interaction.js +12 -9
  143. package/lib/common/shorters/members.d.ts +29 -12
  144. package/lib/common/shorters/members.js +55 -16
  145. package/lib/common/shorters/messages.d.ts +7 -8
  146. package/lib/common/shorters/messages.js +10 -9
  147. package/lib/common/shorters/reactions.d.ts +3 -3
  148. package/lib/common/shorters/reactions.js +11 -11
  149. package/lib/common/shorters/roles.d.ts +9 -7
  150. package/lib/common/shorters/roles.js +26 -7
  151. package/lib/common/shorters/templates.d.ts +7 -8
  152. package/lib/common/shorters/templates.js +7 -7
  153. package/lib/common/shorters/threads.d.ts +6 -7
  154. package/lib/common/shorters/threads.js +6 -9
  155. package/lib/common/shorters/users.d.ts +4 -4
  156. package/lib/common/shorters/users.js +8 -4
  157. package/lib/common/shorters/webhook.d.ts +10 -10
  158. package/lib/common/shorters/webhook.js +12 -11
  159. package/lib/common/types/resolvables.d.ts +2 -2
  160. package/lib/common/types/util.d.ts +3 -1
  161. package/lib/common/types/write.d.ts +1 -1
  162. package/lib/components/ActionRow.d.ts +1 -1
  163. package/lib/components/BaseComponent.d.ts +1 -1
  164. package/lib/components/BaseComponent.js +1 -1
  165. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  166. package/lib/components/ButtonComponent.d.ts +17 -7
  167. package/lib/components/ButtonComponent.js +19 -2
  168. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  169. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  170. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  171. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  172. package/lib/components/TextInputComponent.d.ts +2 -2
  173. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  174. package/lib/components/componentcommand.d.ts +3 -2
  175. package/lib/components/componentcommand.js +4 -3
  176. package/lib/components/componentcontext.d.ts +11 -10
  177. package/lib/components/componentcontext.js +8 -8
  178. package/lib/components/handler.d.ts +16 -15
  179. package/lib/components/handler.js +101 -108
  180. package/lib/components/index.d.ts +3 -3
  181. package/lib/components/index.js +12 -10
  182. package/lib/components/modalcommand.d.ts +2 -1
  183. package/lib/components/modalcommand.js +1 -0
  184. package/lib/components/modalcontext.d.ts +13 -12
  185. package/lib/components/modalcontext.js +2 -2
  186. package/lib/deps/mixer.d.ts +8 -0
  187. package/lib/deps/mixer.js +66 -0
  188. package/lib/events/event.d.ts +4 -3
  189. package/lib/events/handler.d.ts +40 -15
  190. package/lib/events/handler.js +99 -21
  191. package/lib/events/hooks/application_command.d.ts +2 -2
  192. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  193. package/lib/events/hooks/auto_moderation.js +4 -4
  194. package/lib/events/hooks/channel.d.ts +2 -2
  195. package/lib/events/hooks/channel.js +4 -7
  196. package/lib/events/hooks/custom.d.ts +3 -3
  197. package/lib/events/hooks/dispatch.d.ts +3 -4
  198. package/lib/events/hooks/dispatch.js +2 -2
  199. package/lib/events/hooks/entitlement.d.ts +5 -37
  200. package/lib/events/hooks/entitlement.js +7 -7
  201. package/lib/events/hooks/guild.d.ts +126 -181
  202. package/lib/events/hooks/guild.js +13 -15
  203. package/lib/events/hooks/integration.d.ts +71 -15
  204. package/lib/events/hooks/integration.js +3 -3
  205. package/lib/events/hooks/interactions.d.ts +2 -2
  206. package/lib/events/hooks/invite.d.ts +18 -14
  207. package/lib/events/hooks/message.d.ts +72 -52
  208. package/lib/events/hooks/message.js +4 -8
  209. package/lib/events/hooks/presence.d.ts +21 -16
  210. package/lib/events/hooks/stage.d.ts +4 -4
  211. package/lib/events/hooks/thread.d.ts +140 -60
  212. package/lib/events/hooks/thread.js +4 -4
  213. package/lib/events/hooks/typing.d.ts +28 -5
  214. package/lib/events/hooks/typing.js +2 -2
  215. package/lib/events/hooks/user.d.ts +3 -3
  216. package/lib/events/hooks/user.js +2 -2
  217. package/lib/events/hooks/voice.d.ts +28 -3
  218. package/lib/events/hooks/voice.js +8 -4
  219. package/lib/events/hooks/webhook.d.ts +1 -1
  220. package/lib/index.d.ts +6 -15
  221. package/lib/index.js +8 -12
  222. package/lib/langs/handler.d.ts +14 -10
  223. package/lib/langs/handler.js +40 -9
  224. package/lib/structures/AutoModerationRule.d.ts +4 -4
  225. package/lib/structures/AutoModerationRule.js +1 -2
  226. package/lib/structures/ClientUser.d.ts +1 -1
  227. package/lib/structures/Entitlement.d.ts +10 -0
  228. package/lib/structures/Entitlement.js +16 -0
  229. package/lib/structures/Guild.d.ts +37 -30
  230. package/lib/structures/Guild.js +7 -2
  231. package/lib/structures/GuildBan.d.ts +25 -0
  232. package/lib/structures/GuildBan.js +37 -0
  233. package/lib/structures/GuildEmoji.d.ts +4 -4
  234. package/lib/structures/GuildEmoji.js +3 -2
  235. package/lib/structures/GuildMember.d.ts +27 -19
  236. package/lib/structures/GuildMember.js +21 -11
  237. package/lib/structures/GuildPreview.d.ts +1 -1
  238. package/lib/structures/GuildRole.d.ts +5 -3
  239. package/lib/structures/GuildRole.js +8 -1
  240. package/lib/structures/GuildTemplate.d.ts +2 -2
  241. package/lib/structures/GuildTemplate.js +1 -1
  242. package/lib/structures/Interaction.d.ts +56 -38
  243. package/lib/structures/Interaction.js +134 -86
  244. package/lib/structures/Message.d.ts +80 -20
  245. package/lib/structures/Message.js +67 -26
  246. package/lib/structures/Poll.d.ts +4 -3
  247. package/lib/structures/Poll.js +6 -2
  248. package/lib/structures/Sticker.d.ts +10 -10
  249. package/lib/structures/Sticker.js +7 -7
  250. package/lib/structures/User.d.ts +6 -4
  251. package/lib/structures/User.js +6 -2
  252. package/lib/structures/VoiceState.d.ts +15 -11
  253. package/lib/structures/VoiceState.js +35 -17
  254. package/lib/structures/Webhook.d.ts +6 -7
  255. package/lib/structures/Webhook.js +6 -7
  256. package/lib/structures/channels.d.ts +14 -10
  257. package/lib/structures/channels.js +97 -62
  258. package/lib/structures/extra/BaseGuild.d.ts +1 -1
  259. package/lib/structures/extra/BaseGuild.js +3 -3
  260. package/lib/structures/extra/BitField.d.ts +1 -1
  261. package/lib/structures/extra/BitField.js +3 -2
  262. package/lib/structures/extra/DiscordBase.js +2 -2
  263. package/lib/structures/extra/Permissions.d.ts +3 -1
  264. package/lib/structures/extra/Permissions.js +8 -3
  265. package/lib/types/gateway.d.ts +1537 -0
  266. package/lib/types/gateway.js +4 -0
  267. package/lib/types/index.d.ts +9 -1
  268. package/lib/types/index.js +28 -1
  269. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  270. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  271. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  272. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  273. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  303. package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
  304. package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
  305. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  306. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  307. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  308. package/lib/types/payloads/_interactions/base.js +2 -0
  309. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  310. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  311. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  312. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  313. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  314. package/lib/types/payloads/_interactions/ping.js +2 -0
  315. package/lib/types/payloads/_interactions/responses.d.ts +112 -0
  316. package/lib/types/payloads/_interactions/responses.js +54 -0
  317. package/lib/types/payloads/application.d.ts +292 -0
  318. package/lib/types/payloads/application.js +117 -0
  319. package/lib/types/payloads/auditLog.d.ts +644 -0
  320. package/lib/types/payloads/auditLog.js +80 -0
  321. package/lib/types/payloads/autoModeration.d.ts +219 -0
  322. package/lib/types/payloads/autoModeration.js +87 -0
  323. package/lib/types/payloads/channel.d.ts +1708 -0
  324. package/lib/types/payloads/channel.js +372 -0
  325. package/lib/types/payloads/emoji.d.ts +48 -0
  326. package/lib/types/payloads/emoji.js +5 -0
  327. package/lib/types/payloads/gateway.d.ts +373 -0
  328. package/lib/types/payloads/gateway.js +82 -0
  329. package/lib/types/payloads/guild.d.ts +1060 -0
  330. package/lib/types/payloads/guild.js +324 -0
  331. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  332. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  333. package/lib/types/payloads/index.d.ts +64 -0
  334. package/lib/types/payloads/index.js +37 -0
  335. package/lib/types/payloads/interactions.d.ts +24 -0
  336. package/lib/types/payloads/interactions.js +23 -0
  337. package/lib/types/payloads/invite.d.ts +121 -0
  338. package/lib/types/payloads/invite.js +23 -0
  339. package/lib/types/payloads/monetization.d.ts +150 -0
  340. package/lib/types/payloads/monetization.js +79 -0
  341. package/lib/types/payloads/oauth2.d.ts +131 -0
  342. package/lib/types/payloads/oauth2.js +135 -0
  343. package/lib/types/payloads/permissions.d.ts +97 -0
  344. package/lib/types/payloads/permissions.js +16 -0
  345. package/lib/types/payloads/poll.d.ts +104 -0
  346. package/lib/types/payloads/poll.js +16 -0
  347. package/lib/types/payloads/stageInstance.d.ts +77 -0
  348. package/lib/types/payloads/stageInstance.js +19 -0
  349. package/lib/types/payloads/sticker.d.ts +123 -0
  350. package/lib/types/payloads/sticker.js +30 -0
  351. package/lib/types/payloads/teams.d.ts +78 -0
  352. package/lib/types/payloads/teams.js +23 -0
  353. package/lib/types/payloads/template.d.ts +62 -0
  354. package/lib/types/payloads/template.js +5 -0
  355. package/lib/types/payloads/user.d.ts +337 -0
  356. package/lib/types/payloads/user.js +167 -0
  357. package/lib/types/payloads/voice.d.ts +89 -0
  358. package/lib/types/payloads/voice.js +5 -0
  359. package/lib/types/payloads/webhook.d.ts +76 -0
  360. package/lib/types/payloads/webhook.js +21 -0
  361. package/lib/types/rest/application.d.ts +57 -0
  362. package/lib/types/rest/application.js +2 -0
  363. package/lib/types/rest/auditLog.d.ts +30 -0
  364. package/lib/types/rest/auditLog.js +2 -0
  365. package/lib/types/rest/autoModeration.d.ts +66 -0
  366. package/lib/types/rest/autoModeration.js +2 -0
  367. package/lib/types/rest/channel.d.ts +712 -0
  368. package/lib/types/rest/channel.js +11 -0
  369. package/lib/types/rest/emoji.d.ts +54 -0
  370. package/lib/types/rest/emoji.js +2 -0
  371. package/lib/types/rest/gateway.d.ts +9 -0
  372. package/lib/types/rest/gateway.js +2 -0
  373. package/lib/types/rest/guild.d.ts +865 -0
  374. package/lib/types/rest/guild.js +2 -0
  375. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  376. package/lib/types/rest/guildScheduledEvent.js +2 -0
  377. package/lib/types/rest/index.d.ts +296 -0
  378. package/lib/types/rest/index.js +292 -0
  379. package/lib/types/rest/interactions.d.ts +194 -0
  380. package/lib/types/rest/interactions.js +2 -0
  381. package/lib/types/rest/invite.d.ts +24 -0
  382. package/lib/types/rest/invite.js +2 -0
  383. package/lib/types/rest/monetization.d.ts +82 -0
  384. package/lib/types/rest/monetization.js +11 -0
  385. package/lib/types/rest/oauth2.d.ts +172 -0
  386. package/lib/types/rest/oauth2.js +2 -0
  387. package/lib/types/rest/poll.d.ts +44 -0
  388. package/lib/types/rest/poll.js +2 -0
  389. package/lib/types/rest/stageInstance.d.ts +58 -0
  390. package/lib/types/rest/stageInstance.js +2 -0
  391. package/lib/types/rest/sticker.d.ts +77 -0
  392. package/lib/types/rest/sticker.js +2 -0
  393. package/lib/types/rest/template.d.ts +62 -0
  394. package/lib/types/rest/template.js +2 -0
  395. package/lib/types/rest/user.d.ts +120 -0
  396. package/lib/types/rest/user.js +2 -0
  397. package/lib/types/rest/voice.d.ts +17 -0
  398. package/lib/types/rest/voice.js +2 -0
  399. package/lib/types/rest/webhook.d.ts +250 -0
  400. package/lib/types/rest/webhook.js +2 -0
  401. package/lib/types/utils/index.d.ts +797 -0
  402. package/lib/types/utils/index.js +799 -0
  403. package/lib/websocket/SharedTypes.d.ts +4 -3
  404. package/lib/websocket/SharedTypes.js +1 -1
  405. package/lib/websocket/constants/index.d.ts +0 -1
  406. package/lib/websocket/discord/basesocket.d.ts +7 -6
  407. package/lib/websocket/discord/basesocket.js +35 -6
  408. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  409. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  410. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  411. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  412. package/lib/websocket/discord/shard.d.ts +9 -8
  413. package/lib/websocket/discord/shard.js +65 -47
  414. package/lib/websocket/discord/sharder.d.ts +6 -5
  415. package/lib/websocket/discord/sharder.js +11 -10
  416. package/lib/websocket/discord/shared.d.ts +13 -5
  417. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  418. package/lib/websocket/discord/socket/custom.js +283 -0
  419. package/lib/websocket/discord/worker.d.ts +5 -10
  420. package/lib/websocket/discord/workermanager.d.ts +8 -15
  421. package/lib/websocket/discord/workermanager.js +35 -39
  422. package/lib/websocket/structures/index.d.ts +0 -1
  423. package/lib/websocket/structures/index.js +1 -1
  424. package/lib/websocket/structures/timeout.d.ts +0 -1
  425. package/package.json +65 -74
  426. package/lib/cache/adapters/redis.d.ts +0 -37
  427. package/lib/cache/adapters/redis.js +0 -218
  428. package/lib/client/oninteractioncreate.d.ts +0 -4
  429. package/lib/client/oninteractioncreate.js +0 -198
  430. package/lib/client/onmessagecreate.d.ts +0 -3
  431. package/lib/client/onmessagecreate.js +0 -395
  432. package/lib/structures/extra/functions.d.ts +0 -12
  433. package/lib/structures/extra/functions.js +0 -70
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebhookMessage = exports.Message = exports.BaseMessage = void 0;
3
+ exports.InMessageEmbed = exports.WebhookMessage = exports.Message = exports.BaseMessage = void 0;
4
+ const common_1 = require("../common");
4
5
  const ActionRow_1 = require("../components/ActionRow");
5
- const GuildMember_1 = require("./GuildMember");
6
- const User_1 = require("./User");
7
6
  const DiscordBase_1 = require("./extra/DiscordBase");
8
- const functions_1 = require("./extra/functions");
7
+ const common_2 = require("../common");
9
8
  const __1 = require("..");
9
+ const transformers_1 = require("../client/transformers");
10
10
  class BaseMessage extends DiscordBase_1.DiscordBase {
11
- guildId;
12
- timestamp;
13
- author;
14
- member;
15
- components;
16
- poll;
17
- mentions;
11
+ embeds;
18
12
  constructor(client, data) {
19
13
  super(client, data);
20
14
  this.mentions = {
@@ -23,6 +17,7 @@ class BaseMessage extends DiscordBase_1.DiscordBase {
23
17
  users: [],
24
18
  };
25
19
  this.components = data.components?.map(x => new ActionRow_1.MessageActionRowComponent(x)) ?? [];
20
+ this.embeds = data.embeds.map(embed => new InMessageEmbed(embed));
26
21
  this.patch(data);
27
22
  }
28
23
  get user() {
@@ -32,7 +27,7 @@ class BaseMessage extends DiscordBase_1.DiscordBase {
32
27
  return this.client.components.createComponentCollector(this.id, options);
33
28
  }
34
29
  get url() {
35
- return (0, functions_1.messageLink)(this.channelId, this.id, this.guildId);
30
+ return common_2.Formatter.messageLink(this.guildId, this.channelId, this.id);
36
31
  }
37
32
  guild(force = false) {
38
33
  if (!this.guildId)
@@ -46,34 +41,25 @@ class BaseMessage extends DiscordBase_1.DiscordBase {
46
41
  return this.client.reactions.add(this.id, this.channelId, emoji);
47
42
  }
48
43
  patch(data) {
49
- if ('guild_id' in data) {
50
- this.guildId = data.guild_id;
51
- }
52
- if (data.type !== undefined) {
53
- this.type = data.type;
54
- }
55
44
  if ('timestamp' in data && data.timestamp) {
56
45
  this.timestamp = Date.parse(data.timestamp);
57
46
  }
58
- if ('application_id' in data) {
59
- this.applicationId = data.application_id;
60
- }
61
47
  if ('author' in data && data.author) {
62
- this.author = new User_1.User(this.client, data.author);
48
+ this.author = transformers_1.Transformers.User(this.client, data.author);
63
49
  }
64
50
  if ('member' in data && data.member) {
65
- this.member = new GuildMember_1.GuildMember(this.client, data.member, this.author, this.guildId);
51
+ this.member = transformers_1.Transformers.GuildMember(this.client, data.member, data.author, this.guildId);
66
52
  }
67
53
  if (data.mentions?.length) {
68
54
  this.mentions.users = this.guildId
69
- ? data.mentions.map(m => new GuildMember_1.GuildMember(this.client, {
55
+ ? data.mentions.map(m => transformers_1.Transformers.GuildMember(this.client, {
70
56
  ...m.member,
71
57
  user: m,
72
58
  }, m, this.guildId))
73
- : data.mentions.map(u => new User_1.User(this.client, u));
59
+ : data.mentions.map(u => transformers_1.Transformers.User(this.client, u));
74
60
  }
75
61
  if (data.poll) {
76
- this.poll = new __1.Poll(this.client, data.poll, this.channelId, this.id);
62
+ this.poll = transformers_1.Transformers.Poll(this.client, data.poll, this.channelId, this.id);
77
63
  }
78
64
  }
79
65
  }
@@ -141,3 +127,58 @@ class WebhookMessage extends BaseMessage {
141
127
  }
142
128
  }
143
129
  exports.WebhookMessage = WebhookMessage;
130
+ class InMessageEmbed {
131
+ data;
132
+ constructor(data) {
133
+ this.data = data;
134
+ }
135
+ get title() {
136
+ return this.data.title;
137
+ }
138
+ /**
139
+ * @deprecated
140
+ */
141
+ get type() {
142
+ return this.data.type;
143
+ }
144
+ get description() {
145
+ return this.data.description;
146
+ }
147
+ get url() {
148
+ return this.data.url;
149
+ }
150
+ get timestamp() {
151
+ return this.data.timestamp;
152
+ }
153
+ get color() {
154
+ return this.data.color;
155
+ }
156
+ get footer() {
157
+ return this.data.footer ? (0, common_1.toCamelCase)(this.data.footer) : undefined;
158
+ }
159
+ get image() {
160
+ return this.data.image ? (0, common_1.toCamelCase)(this.data.image) : undefined;
161
+ }
162
+ get thumbnail() {
163
+ return this.data.thumbnail ? (0, common_1.toCamelCase)(this.data.thumbnail) : undefined;
164
+ }
165
+ get video() {
166
+ return this.data.video ? (0, common_1.toCamelCase)(this.data.video) : undefined;
167
+ }
168
+ get provider() {
169
+ return this.data.provider;
170
+ }
171
+ get author() {
172
+ return this.data.author ? (0, common_1.toCamelCase)(this.data.author) : undefined;
173
+ }
174
+ get fields() {
175
+ return this.data.fields;
176
+ }
177
+ toBuilder() {
178
+ return new __1.Embed(this.data);
179
+ }
180
+ toJSON() {
181
+ return { ...this.data };
182
+ }
183
+ }
184
+ exports.InMessageEmbed = InMessageEmbed;
@@ -1,15 +1,16 @@
1
- import type { APIPoll } from 'discord-api-types/v10';
1
+ import type { APIPoll } from '../types';
2
2
  import { type ObjectToLower } from '../common';
3
3
  import { Base } from './extra/Base';
4
4
  import type { UsingClient } from '../commands';
5
5
  import type { ValidAnswerId } from '../api/Routes/channels';
6
- export interface Poll extends ObjectToLower<Omit<APIPoll, 'expiry'>> {
6
+ export interface Poll extends ObjectToLower<APIPoll> {
7
7
  }
8
8
  export declare class Poll extends Base {
9
9
  readonly channelId: string;
10
10
  readonly messageId: string;
11
- expiry: number;
12
11
  constructor(client: UsingClient, data: APIPoll, channelId: string, messageId: string);
12
+ get expiryTimestamp(): number;
13
+ get expiryAt(): Date;
13
14
  end(): Promise<import("./Message").Message>;
14
15
  getAnswerVoters(id: ValidAnswerId): Promise<import("./User").User[]>;
15
16
  }
@@ -6,14 +6,18 @@ const Base_1 = require("./extra/Base");
6
6
  class Poll extends Base_1.Base {
7
7
  channelId;
8
8
  messageId;
9
- expiry;
10
9
  constructor(client, data, channelId, messageId) {
11
10
  super(client);
12
11
  this.channelId = channelId;
13
12
  this.messageId = messageId;
14
- this.expiry = Date.parse(data.expiry);
15
13
  Object.assign(this, (0, common_1.toCamelCase)(data));
16
14
  }
15
+ get expiryTimestamp() {
16
+ return Date.parse(this.expiry);
17
+ }
18
+ get expiryAt() {
19
+ return new Date(this.expiry);
20
+ }
17
21
  end() {
18
22
  return this.client.messages.endPoll(this.channelId, this.messageId);
19
23
  }
@@ -1,18 +1,18 @@
1
- import type { APISticker, RESTPatchAPIGuildStickerJSONBody, RESTPostAPIGuildStickerFormDataBody } from 'discord-api-types/v10';
2
- import type { UsingClient } from '..';
3
- import type { Attachment } from '../builders';
1
+ import type { APISticker, RESTPatchAPIGuildStickerJSONBody, RESTPostAPIGuildStickerFormDataBody } from '../types';
2
+ import type { RawFile, UsingClient } from '..';
3
+ import type { Attachment, AttachmentBuilder } from '../builders';
4
4
  import type { MethodContext, ObjectToLower } from '../common';
5
- import { User } from './User';
6
5
  import { DiscordBase } from './extra/DiscordBase';
6
+ import { type UserStructure } from '../client/transformers';
7
7
  export interface Sticker extends DiscordBase, ObjectToLower<Omit<APISticker, 'user'>> {
8
8
  }
9
9
  export declare class Sticker extends DiscordBase {
10
- user?: User;
10
+ user?: UserStructure;
11
11
  constructor(client: UsingClient, data: APISticker);
12
- guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">> | undefined;
13
- edit(body: RESTPatchAPIGuildStickerJSONBody, reason?: string): Promise<Sticker> | undefined;
14
- fetch(force?: boolean): Promise<Sticker> | undefined;
15
- delete(reason?: string): Promise<void> | undefined;
12
+ guild(force?: boolean): Promise<import("./Guild").Guild<"api"> | undefined>;
13
+ edit(body: RESTPatchAPIGuildStickerJSONBody, reason?: string): Promise<Sticker | undefined>;
14
+ fetch(force?: boolean): Promise<Sticker | undefined>;
15
+ delete(reason?: string): Promise<void>;
16
16
  static methods({ client, guildId }: MethodContext<{
17
17
  guildId: string;
18
18
  }>): {
@@ -24,5 +24,5 @@ export declare class Sticker extends DiscordBase {
24
24
  };
25
25
  }
26
26
  export interface CreateStickerBodyRequest extends Omit<RESTPostAPIGuildStickerFormDataBody, 'file'> {
27
- file: Attachment;
27
+ file: Attachment | AttachmentBuilder | RawFile;
28
28
  }
@@ -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
  }
@@ -16,13 +16,15 @@ export declare class User extends DiscordBase<APIUser> {
16
16
  */
17
17
  dm(force?: boolean): Promise<import("./channels").DMChannel>;
18
18
  write(body: MessageCreateBodyRequest): Promise<import("./Message").Message>;
19
+ defaultAvatarURL(): string;
19
20
  avatarURL(options?: ImageOptions): string;
20
21
  avatarDecorationURL(options?: ImageOptions): string | undefined;
21
22
  bannerURL(options?: ImageOptions): string | undefined;
22
- presence(): import("..").ReturnCache<(Omit<import("discord-api-types/v10").GatewayPresenceUpdate, "user"> & {
23
+ presence(): import("..").ReturnCache<(Omit<import("../types").GatewayPresenceUpdate, "user"> & {
23
24
  id: string;
25
+ user_id: string;
24
26
  } & {
25
27
  guild_id: string;
26
28
  }) | undefined>;
27
- toString(): string;
29
+ toString(): `<@${string}>`;
28
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() {
@@ -25,9 +26,12 @@ class User extends DiscordBase_1.DiscordBase {
25
26
  write(body) {
26
27
  return this.client.users.write(this.id, body);
27
28
  }
29
+ defaultAvatarURL() {
30
+ return this.rest.cdn.embed.avatars.get((0, api_1.calculateUserDefaultAvatarIndex)(this.id, this.discriminator));
31
+ }
28
32
  avatarURL(options) {
29
33
  if (!this.avatar) {
30
- return this.rest.cdn.embed.avatars.get((0, api_1.calculateUserDefaultAvatarIndex)(this.id, this.discriminator));
34
+ return this.defaultAvatarURL();
31
35
  }
32
36
  return this.rest.cdn.avatars(this.id).get(this.avatar, options);
33
37
  }
@@ -45,7 +49,7 @@ class User extends DiscordBase_1.DiscordBase {
45
49
  return this.client.members.presence(this.id);
46
50
  }
47
51
  toString() {
48
- return `<@${this.id}>`;
52
+ return common_1.Formatter.userMention(this.id);
49
53
  }
50
54
  }
51
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,9 +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
+ 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';
7
9
  export declare class BaseChannel<T extends ChannelType> extends DiscordBase<APIChannelBase<ChannelType>> {
8
10
  type: T;
9
11
  constructor(client: UsingClient, data: APIChannelBase<ChannelType>);
@@ -14,7 +16,7 @@ export declare class BaseChannel<T extends ChannelType> extends DiscordBase<APIC
14
16
  fetch(force?: boolean): Promise<AllChannels>;
15
17
  delete(reason?: string): Promise<AllChannels>;
16
18
  edit(body: RESTPatchAPIChannelJSONBody, reason?: string): Promise<AllChannels>;
17
- toString(): string;
19
+ toString(): `<#${string}>`;
18
20
  isStage(): this is StageChannel;
19
21
  isMedia(): this is MediaChannel;
20
22
  isDM(): this is DMChannel;
@@ -99,7 +101,7 @@ export declare class BaseGuildChannel extends BaseChannel<ChannelType> {
99
101
  guildId: string;
100
102
  } | undefined;
101
103
  }>;
102
- guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">>;
104
+ guild(force?: boolean): Promise<import("./Guild").Guild<"api">>;
103
105
  get url(): string;
104
106
  setPosition(position: number, reason?: string): Promise<AllChannels>;
105
107
  setName(name: string, reason?: string): Promise<AllChannels>;
@@ -153,13 +155,13 @@ export declare class MessagesMethods extends DiscordBase {
153
155
  set: (messageId: string, reason?: string) => Promise<never>;
154
156
  delete: (messageId: string, reason?: string) => Promise<never>;
155
157
  };
156
- static transformMessageBody<T>(body: MessageCreateBodyRequest | MessageUpdateBodyRequest, self: UsingClient): T;
158
+ static transformMessageBody<T>(body: MessageCreateBodyRequest | MessageUpdateBodyRequest, files: RawFile[] | undefined, self: UsingClient): T;
157
159
  }
158
160
  export interface TextBaseGuildChannel extends ObjectToLower<Omit<APITextChannel, 'type' | 'permission_overwrites'>>, MessagesMethods {
159
161
  }
160
162
  export declare class TextBaseGuildChannel extends BaseGuildChannel {
161
163
  }
162
- export default function channelFrom(data: APIChannelBase<ChannelType>, client: UsingClient): AllChannels;
164
+ export declare function channelFrom(data: APIChannelBase<ChannelType>, client: UsingClient): AllChannels;
163
165
  export interface TopicableGuildChannel extends BaseChannel<ChannelType> {
164
166
  }
165
167
  export declare class TopicableGuildChannel extends DiscordBase {
@@ -185,6 +187,7 @@ export declare class VoiceChannelMethods extends DiscordBase {
185
187
  setVideoQuality(quality: keyof typeof VideoQualityMode, reason?: string): Promise<AllChannels>;
186
188
  setVoiceState(status?: string | null): Promise<never>;
187
189
  states(): Promise<import("./VoiceState").VoiceState[]>;
190
+ members(force?: boolean): Promise<Collection<string, GuildMember>>;
188
191
  }
189
192
  export declare class WebhookGuildMethods extends DiscordBase {
190
193
  webhooks: {
@@ -270,12 +273,13 @@ export interface NewsChannel extends ObjectToLower<APINewsChannel>, WebhookChann
270
273
  }
271
274
  export declare class NewsChannel extends BaseChannel<ChannelType.GuildAnnouncement> {
272
275
  type: ChannelType.GuildAnnouncement;
273
- addFollower(webhookChannelId: string, reason?: string): Promise<import("discord-api-types/v10").APIFollowedChannel>;
276
+ addFollower(webhookChannelId: string, reason?: string): Promise<import("../types").APIFollowedChannel>;
274
277
  }
275
278
  export declare class DirectoryChannel extends BaseChannel<ChannelType.GuildDirectory> {
276
279
  }
277
- export type AllGuildChannels = TextGuildChannel | VoiceChannel | MediaChannel | ForumChannel | ThreadChannel | CategoryChannel | NewsChannel | DirectoryChannel | StageChannel;
278
- export type AllTextableChannels = TextGuildChannel | VoiceChannel | DMChannel | NewsChannel | ThreadChannel;
279
- export type AllGuildTextableChannels = TextGuildChannel | VoiceChannel | NewsChannel | ThreadChannel;
280
- 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;
281
285
  export {};