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
@@ -5,22 +5,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
8
  Object.defineProperty(exports, "__esModule", { value: true });
12
9
  exports.ModalSubmitInteraction = exports.MessageCommandInteraction = exports.UserCommandInteraction = exports.ChatInputCommandInteraction = exports.UserSelectMenuInteraction = exports.RoleSelectMenuInteraction = exports.MentionableSelectMenuInteraction = exports.ChannelSelectMenuInteraction = exports.StringSelectMenuInteraction = exports.SelectMenuInteraction = exports.ButtonInteraction = exports.ComponentInteraction = exports.ApplicationCommandInteraction = exports.Interaction = exports.AutocompleteInteraction = exports.BaseInteraction = void 0;
13
- const v10_1 = require("discord-api-types/v10");
14
- const ts_mixer_1 = require("ts-mixer");
10
+ const types_1 = require("../types");
15
11
  const builders_1 = require("../builders");
16
- const commands_1 = require("../commands");
17
12
  const _1 = require("./");
18
- const GuildRole_1 = require("./GuildRole");
19
- const Message_1 = require("./Message");
20
- const User_1 = require("./User");
21
- const channels_1 = __importDefault(require("./channels"));
22
13
  const DiscordBase_1 = require("./extra/DiscordBase");
23
14
  const Permissions_1 = require("./extra/Permissions");
15
+ const transformers_1 = require("../client/transformers");
16
+ const mixer_1 = require("../deps/mixer");
17
+ const Entitlement_1 = require("./Entitlement");
24
18
  class BaseInteraction extends DiscordBase_1.DiscordBase {
25
19
  client;
26
20
  __reply;
@@ -35,49 +29,35 @@ class BaseInteraction extends DiscordBase_1.DiscordBase {
35
29
  this.client = client;
36
30
  this.__reply = __reply;
37
31
  if (interaction.member) {
38
- this.member = new _1.InteractionGuildMember(client, interaction.member, interaction.member.user, interaction.guild_id);
32
+ this.member = transformers_1.Transformers.InteractionGuildMember(client, interaction.member, interaction.member.user, interaction.guild_id);
39
33
  }
40
34
  if (interaction.message) {
41
- this.message = new Message_1.Message(client, interaction.message);
35
+ this.message = transformers_1.Transformers.Message(client, interaction.message);
42
36
  }
43
37
  if (interaction.app_permissions) {
44
38
  this.appPermissions = new Permissions_1.PermissionsBitField(Number(interaction.app_permissions));
45
39
  }
46
40
  if (interaction.channel) {
47
- this.channel = (0, channels_1.default)(interaction.channel, client);
41
+ this.channel = (0, _1.channelFrom)(interaction.channel, client);
48
42
  }
49
- this.user = this.member?.user ?? new User_1.User(client, interaction.user);
43
+ this.user = this.member?.user ?? transformers_1.Transformers.User(client, interaction.user);
44
+ this.entitlements = interaction.entitlements.map(e => new Entitlement_1.Entitlement(this.client, e));
50
45
  }
51
46
  static transformBodyRequest(body, files, self) {
52
47
  switch (body.type) {
53
- case v10_1.InteractionResponseType.ApplicationCommandAutocompleteResult:
54
- case v10_1.InteractionResponseType.DeferredMessageUpdate:
55
- case v10_1.InteractionResponseType.DeferredChannelMessageWithSource:
48
+ case types_1.InteractionResponseType.ApplicationCommandAutocompleteResult:
49
+ case types_1.InteractionResponseType.DeferredMessageUpdate:
50
+ case types_1.InteractionResponseType.DeferredChannelMessageWithSource:
56
51
  return body;
57
- case v10_1.InteractionResponseType.ChannelMessageWithSource:
58
- case v10_1.InteractionResponseType.UpdateMessage: {
59
- const poll = body.poll;
52
+ case types_1.InteractionResponseType.ChannelMessageWithSource:
53
+ case types_1.InteractionResponseType.UpdateMessage: {
60
54
  return {
61
55
  type: body.type,
62
56
  //@ts-ignore
63
- data: {
64
- //@ts-ignore
65
- allowed_mentions: self.options?.allowedMentions,
66
- ...(body.data ?? {}),
67
- //@ts-ignore
68
- components: body.data?.components?.map(x => (x instanceof builders_1.ActionRow ? x.toJSON() : x)),
69
- embeds: body.data?.embeds?.map(x => (x instanceof builders_1.Embed ? x.toJSON() : x)),
70
- attachments: body.data && 'attachments' in body.data
71
- ? body.data.attachments?.map((x, i) => ({ id: i, ...(0, builders_1.resolveAttachment)(x) }))
72
- : files?.map((x, id) => ({
73
- id,
74
- filename: x.name,
75
- })),
76
- poll: poll ? (poll instanceof builders_1.PollBuilder ? poll.toJSON() : poll) : undefined,
77
- },
57
+ data: BaseInteraction.transformBody(body.data ?? {}, files, self),
78
58
  };
79
59
  }
80
- case v10_1.InteractionResponseType.Modal:
60
+ case types_1.InteractionResponseType.Modal:
81
61
  return {
82
62
  type: body.type,
83
63
  data: body.data instanceof builders_1.Modal
@@ -97,19 +77,27 @@ class BaseInteraction extends DiscordBase_1.DiscordBase {
97
77
  }
98
78
  static transformBody(body, files, self) {
99
79
  const poll = body.poll;
100
- return {
80
+ const payload = {
101
81
  allowed_mentions: self.options?.allowedMentions,
102
- attachments: 'attachments' in body
103
- ? body.attachments?.map((x, i) => ({ id: i, ...(0, builders_1.resolveAttachment)(x) }))
104
- : files?.map((x, id) => ({
105
- id,
106
- filename: x.name,
107
- })),
108
82
  ...body,
109
83
  components: body.components?.map(x => (x instanceof builders_1.ActionRow ? x.toJSON() : x)),
110
84
  embeds: body?.embeds?.map(x => (x instanceof builders_1.Embed ? x.toJSON() : x)),
111
85
  poll: poll ? (poll instanceof builders_1.PollBuilder ? poll.toJSON() : poll) : undefined,
112
86
  };
87
+ if ('attachments' in body) {
88
+ payload.attachments =
89
+ body.attachments?.map((x, i) => ({
90
+ id: i,
91
+ ...(0, builders_1.resolveAttachment)(x),
92
+ })) ?? undefined;
93
+ }
94
+ else if (files?.length) {
95
+ payload.attachments = files?.map((x, id) => ({
96
+ id,
97
+ filename: x.name,
98
+ }));
99
+ }
100
+ return payload;
113
101
  }
114
102
  async matchReplied(body) {
115
103
  if (this.__reply) {
@@ -137,43 +125,76 @@ class BaseInteraction extends DiscordBase_1.DiscordBase {
137
125
  }
138
126
  deferReply(flags) {
139
127
  return this.reply({
140
- type: v10_1.InteractionResponseType.DeferredChannelMessageWithSource,
128
+ type: types_1.InteractionResponseType.DeferredChannelMessageWithSource,
141
129
  data: {
142
130
  flags,
143
131
  },
144
132
  });
145
133
  }
134
+ isButton() {
135
+ return false;
136
+ }
137
+ isChannelSelectMenu() {
138
+ return false;
139
+ }
140
+ isRoleSelectMenu() {
141
+ return false;
142
+ }
143
+ isMentionableSelectMenu() {
144
+ return false;
145
+ }
146
+ isUserSelectMenu() {
147
+ return false;
148
+ }
149
+ isStringSelectMenu() {
150
+ return false;
151
+ }
152
+ isChatInput() {
153
+ return false;
154
+ }
155
+ isUser() {
156
+ return false;
157
+ }
158
+ isMessage() {
159
+ return false;
160
+ }
161
+ isAutocomplete() {
162
+ return false;
163
+ }
164
+ isModal() {
165
+ return false;
166
+ }
146
167
  static from(client, gateway, __reply) {
147
168
  switch (gateway.type) {
148
- case v10_1.InteractionType.ApplicationCommandAutocomplete:
169
+ case types_1.InteractionType.ApplicationCommandAutocomplete:
149
170
  return new AutocompleteInteraction(client, gateway, undefined, __reply);
150
171
  // biome-ignore lint/suspicious/noFallthroughSwitchClause: bad interaction between biome and ts-server
151
- case v10_1.InteractionType.ApplicationCommand:
172
+ case types_1.InteractionType.ApplicationCommand:
152
173
  switch (gateway.data.type) {
153
- case v10_1.ApplicationCommandType.ChatInput:
174
+ case types_1.ApplicationCommandType.ChatInput:
154
175
  return new ChatInputCommandInteraction(client, gateway, __reply);
155
- case v10_1.ApplicationCommandType.User:
176
+ case types_1.ApplicationCommandType.User:
156
177
  return new UserCommandInteraction(client, gateway, __reply);
157
- case v10_1.ApplicationCommandType.Message:
178
+ case types_1.ApplicationCommandType.Message:
158
179
  return new MessageCommandInteraction(client, gateway, __reply);
159
180
  }
160
181
  // biome-ignore lint/suspicious/noFallthroughSwitchClause: bad interaction between biome and ts-server
161
- case v10_1.InteractionType.MessageComponent:
182
+ case types_1.InteractionType.MessageComponent:
162
183
  switch (gateway.data.component_type) {
163
- case v10_1.ComponentType.Button:
184
+ case types_1.ComponentType.Button:
164
185
  return new ButtonInteraction(client, gateway, __reply);
165
- case v10_1.ComponentType.ChannelSelect:
186
+ case types_1.ComponentType.ChannelSelect:
166
187
  return new ChannelSelectMenuInteraction(client, gateway, __reply);
167
- case v10_1.ComponentType.RoleSelect:
188
+ case types_1.ComponentType.RoleSelect:
168
189
  return new RoleSelectMenuInteraction(client, gateway, __reply);
169
- case v10_1.ComponentType.MentionableSelect:
190
+ case types_1.ComponentType.MentionableSelect:
170
191
  return new MentionableSelectMenuInteraction(client, gateway, __reply);
171
- case v10_1.ComponentType.UserSelect:
192
+ case types_1.ComponentType.UserSelect:
172
193
  return new UserSelectMenuInteraction(client, gateway, __reply);
173
- case v10_1.ComponentType.StringSelect:
194
+ case types_1.ComponentType.StringSelect:
174
195
  return new StringSelectMenuInteraction(client, gateway, __reply);
175
196
  }
176
- case v10_1.InteractionType.ModalSubmit:
197
+ case types_1.InteractionType.ModalSubmit:
177
198
  return new ModalSubmitInteraction(client, gateway);
178
199
  default:
179
200
  return new BaseInteraction(client, gateway);
@@ -192,13 +213,16 @@ class AutocompleteInteraction extends BaseInteraction {
192
213
  this.__reply = __reply;
193
214
  this.options =
194
215
  resolver ??
195
- new commands_1.OptionResolver(client, interaction.data.options, undefined, interaction.guild_id, interaction.data.resolved);
216
+ transformers_1.Transformers.OptionResolver(client, interaction.data.options, undefined, interaction.guild_id, interaction.data.resolved);
196
217
  }
197
218
  getInput() {
198
219
  return this.options.getAutocompleteValue() ?? '';
199
220
  }
200
221
  respond(choices) {
201
- return super.reply({ data: { choices }, type: v10_1.InteractionResponseType.ApplicationCommandAutocompleteResult });
222
+ return super.reply({ data: { choices }, type: types_1.InteractionResponseType.ApplicationCommandAutocompleteResult });
223
+ }
224
+ isAutocomplete() {
225
+ return true;
202
226
  }
203
227
  /** @intenal */
204
228
  async reply(..._args) {
@@ -215,7 +239,7 @@ class Interaction extends BaseInteraction {
215
239
  }
216
240
  async write(body, fetchReply) {
217
241
  (await this.reply({
218
- type: v10_1.InteractionResponseType.ChannelMessageWithSource,
242
+ type: types_1.InteractionResponseType.ChannelMessageWithSource,
219
243
  data: body,
220
244
  }));
221
245
  if (fetchReply)
@@ -224,7 +248,7 @@ class Interaction extends BaseInteraction {
224
248
  }
225
249
  modal(body) {
226
250
  return this.reply({
227
- type: v10_1.InteractionResponseType.Modal,
251
+ type: types_1.InteractionResponseType.Modal,
228
252
  data: body,
229
253
  });
230
254
  }
@@ -247,13 +271,13 @@ class Interaction extends BaseInteraction {
247
271
  deleteMessage(messageId) {
248
272
  return this.client.interactions.deleteResponse(this.id, this.token, messageId);
249
273
  }
250
- async followup(body) {
274
+ followup(body) {
251
275
  return this.client.interactions.followup(this.token, body);
252
276
  }
253
277
  }
254
278
  exports.Interaction = Interaction;
255
279
  class ApplicationCommandInteraction extends Interaction {
256
- type = v10_1.ApplicationCommandType.ChatInput;
280
+ type;
257
281
  respond(data) {
258
282
  return this.reply(data);
259
283
  }
@@ -262,13 +286,13 @@ exports.ApplicationCommandInteraction = ApplicationCommandInteraction;
262
286
  class ComponentInteraction extends Interaction {
263
287
  update(data) {
264
288
  return this.reply({
265
- type: v10_1.InteractionResponseType.UpdateMessage,
289
+ type: types_1.InteractionResponseType.UpdateMessage,
266
290
  data,
267
291
  });
268
292
  }
269
293
  deferUpdate() {
270
294
  return this.reply({
271
- type: v10_1.InteractionResponseType.DeferredMessageUpdate,
295
+ type: types_1.InteractionResponseType.DeferredMessageUpdate,
272
296
  });
273
297
  }
274
298
  get customId() {
@@ -277,27 +301,12 @@ class ComponentInteraction extends Interaction {
277
301
  get componentType() {
278
302
  return this.data.componentType;
279
303
  }
280
- isButton() {
281
- return this.data.componentType === v10_1.ComponentType.Button;
282
- }
283
- isChannelSelectMenu() {
284
- return this.componentType === v10_1.ComponentType.ChannelSelect;
285
- }
286
- isRoleSelectMenu() {
287
- return this.componentType === v10_1.ComponentType.RoleSelect;
288
- }
289
- isMentionableSelectMenu() {
290
- return this.componentType === v10_1.ComponentType.MentionableSelect;
291
- }
292
- isUserSelectMenu() {
293
- return this.componentType === v10_1.ComponentType.UserSelect;
294
- }
295
- isStringSelectMenu() {
296
- return this.componentType === v10_1.ComponentType.StringSelect;
297
- }
298
304
  }
299
305
  exports.ComponentInteraction = ComponentInteraction;
300
306
  class ButtonInteraction extends ComponentInteraction {
307
+ isButton() {
308
+ return true;
309
+ }
301
310
  }
302
311
  exports.ButtonInteraction = ButtonInteraction;
303
312
  class SelectMenuInteraction extends ComponentInteraction {
@@ -312,6 +321,9 @@ class SelectMenuInteraction extends ComponentInteraction {
312
321
  }
313
322
  exports.SelectMenuInteraction = SelectMenuInteraction;
314
323
  class StringSelectMenuInteraction extends SelectMenuInteraction {
324
+ isStringSelectMenu() {
325
+ return true;
326
+ }
315
327
  }
316
328
  exports.StringSelectMenuInteraction = StringSelectMenuInteraction;
317
329
  class ChannelSelectMenuInteraction extends SelectMenuInteraction {
@@ -321,7 +333,10 @@ class ChannelSelectMenuInteraction extends SelectMenuInteraction {
321
333
  super(client, interaction);
322
334
  this.__reply = __reply;
323
335
  const resolved = interaction.data.resolved;
324
- this.channels = this.values.map(x => (0, channels_1.default)(resolved.channels[x], this.client));
336
+ this.channels = this.values.map(x => (0, _1.channelFrom)(resolved.channels[x], this.client));
337
+ }
338
+ isChannelSelectMenu() {
339
+ return true;
325
340
  }
326
341
  }
327
342
  exports.ChannelSelectMenuInteraction = ChannelSelectMenuInteraction;
@@ -335,12 +350,15 @@ class MentionableSelectMenuInteraction extends SelectMenuInteraction {
335
350
  this.__reply = __reply;
336
351
  const resolved = interaction.data.resolved;
337
352
  this.roles = resolved.roles
338
- ? this.values.map(x => new GuildRole_1.GuildRole(this.client, resolved.roles[x], this.guildId))
353
+ ? this.values.map(x => transformers_1.Transformers.GuildRole(this.client, resolved.roles[x], this.guildId))
339
354
  : [];
340
355
  this.members = resolved.members
341
- ? this.values.map(x => new _1.InteractionGuildMember(this.client, resolved.members[x], this.users.find(u => u.id === x), this.guildId))
356
+ ? this.values.map(x => transformers_1.Transformers.InteractionGuildMember(this.client, resolved.members[x], resolved.users[this.values.find(u => u === x)], this.guildId))
342
357
  : [];
343
- this.users = resolved.users ? this.values.map(x => new User_1.User(this.client, resolved.users[x])) : [];
358
+ this.users = resolved.users ? this.values.map(x => transformers_1.Transformers.User(this.client, resolved.users[x])) : [];
359
+ }
360
+ isMentionableSelectMenu() {
361
+ return true;
344
362
  }
345
363
  }
346
364
  exports.MentionableSelectMenuInteraction = MentionableSelectMenuInteraction;
@@ -351,7 +369,10 @@ class RoleSelectMenuInteraction extends SelectMenuInteraction {
351
369
  super(client, interaction);
352
370
  this.__reply = __reply;
353
371
  const resolved = interaction.data.resolved;
354
- this.roles = this.values.map(x => new GuildRole_1.GuildRole(this.client, resolved.roles[x], this.guildId));
372
+ this.roles = this.values.map(x => transformers_1.Transformers.GuildRole(this.client, resolved.roles[x], this.guildId));
373
+ }
374
+ isRoleSelectMenu() {
375
+ return true;
355
376
  }
356
377
  }
357
378
  exports.RoleSelectMenuInteraction = RoleSelectMenuInteraction;
@@ -363,20 +384,32 @@ class UserSelectMenuInteraction extends SelectMenuInteraction {
363
384
  super(client, interaction);
364
385
  this.__reply = __reply;
365
386
  const resolved = interaction.data.resolved;
366
- this.users = this.values.map(x => new User_1.User(this.client, resolved.users[x]));
387
+ this.users = this.values.map(x => transformers_1.Transformers.User(this.client, resolved.users[x]));
367
388
  this.members = resolved.members
368
- ? this.values.map(x => new _1.InteractionGuildMember(this.client, resolved.members[x], this.users.find(u => u.id === x), this.guildId))
389
+ ? this.values.map(x => transformers_1.Transformers.InteractionGuildMember(this.client, resolved.members[x], resolved.users[this.values.find(u => u === x)], this.guildId))
369
390
  : [];
370
391
  }
392
+ isUserSelectMenu() {
393
+ return true;
394
+ }
371
395
  }
372
396
  exports.UserSelectMenuInteraction = UserSelectMenuInteraction;
373
397
  class ChatInputCommandInteraction extends ApplicationCommandInteraction {
398
+ isChatInput() {
399
+ return true;
400
+ }
374
401
  }
375
402
  exports.ChatInputCommandInteraction = ChatInputCommandInteraction;
376
403
  class UserCommandInteraction extends ApplicationCommandInteraction {
404
+ isUser() {
405
+ return true;
406
+ }
377
407
  }
378
408
  exports.UserCommandInteraction = UserCommandInteraction;
379
409
  class MessageCommandInteraction extends ApplicationCommandInteraction {
410
+ isMessage() {
411
+ return true;
412
+ }
380
413
  }
381
414
  exports.MessageCommandInteraction = MessageCommandInteraction;
382
415
  let ModalSubmitInteraction = class ModalSubmitInteraction extends BaseInteraction {
@@ -399,8 +432,11 @@ let ModalSubmitInteraction = class ModalSubmitInteraction extends BaseInteractio
399
432
  throw new Error(`${customId} component doesn't have a value`);
400
433
  return value;
401
434
  }
435
+ isModal() {
436
+ return true;
437
+ }
402
438
  };
403
439
  exports.ModalSubmitInteraction = ModalSubmitInteraction;
404
440
  exports.ModalSubmitInteraction = ModalSubmitInteraction = __decorate([
405
- (0, ts_mixer_1.mix)(Interaction)
441
+ (0, mixer_1.mix)(Interaction)
406
442
  ], ModalSubmitInteraction);
@@ -1,4 +1,4 @@
1
- import type { APIChannelMention, APIEmbed, APIMessage, GatewayMessageCreateDispatchData } from 'discord-api-types/v10';
1
+ import type { APIChannelMention, APIEmbed, APIMessage, GatewayMessageCreateDispatchData } from '../types';
2
2
  import type { ListenerOptions } from '../builders';
3
3
  import type { UsingClient } from '../commands';
4
4
  import { type ObjectToLower } from '../common';
@@ -6,35 +6,34 @@ import type { EmojiResolvable } from '../common/types/resolvables';
6
6
  import type { MessageCreateBodyRequest, MessageUpdateBodyRequest } from '../common/types/write';
7
7
  import type { ActionRowMessageComponents } from '../components';
8
8
  import { MessageActionRowComponent } from '../components/ActionRow';
9
- import { GuildMember } from './GuildMember';
10
- import { User } from './User';
11
9
  import type { MessageWebhookMethodEditParams, MessageWebhookMethodWriteParams } from './Webhook';
12
10
  import { DiscordBase } from './extra/DiscordBase';
13
- import { Embed, Poll } from '..';
11
+ import { Embed } from '..';
12
+ import { type PollStructure, type GuildMemberStructure, type UserStructure } from '../client/transformers';
14
13
  export type MessageData = APIMessage | GatewayMessageCreateDispatchData;
15
14
  export interface BaseMessage extends DiscordBase, ObjectToLower<Omit<MessageData, 'timestamp' | 'author' | 'mentions' | 'components' | 'poll' | 'embeds'>> {
16
15
  timestamp?: number;
17
16
  guildId?: string;
18
- author: User;
19
- member?: GuildMember;
17
+ author: UserStructure;
18
+ member?: GuildMemberStructure;
20
19
  components: MessageActionRowComponent<ActionRowMessageComponents>[];
21
- poll?: Poll;
20
+ poll?: PollStructure;
22
21
  mentions: {
23
22
  roles: string[];
24
23
  channels: APIChannelMention[];
25
- users: (GuildMember | User)[];
24
+ users: (GuildMemberStructure | UserStructure)[];
26
25
  };
27
26
  }
28
27
  export declare class BaseMessage extends DiscordBase {
29
28
  embeds: InMessageEmbed[];
30
29
  constructor(client: UsingClient, data: MessageData);
31
- get user(): User;
30
+ get user(): import("./User").User;
32
31
  createComponentCollector(options?: ListenerOptions): {
33
- run<T extends import("./Interaction").StringSelectMenuInteraction<string[]> | import("./Interaction").ComponentInteraction<boolean, import("discord-api-types/v10").APIMessageComponentInteraction> = import("./Interaction").StringSelectMenuInteraction<string[]> | import("./Interaction").ComponentInteraction<boolean, import("discord-api-types/v10").APIMessageComponentInteraction>>(customId: string | RegExp | string[], callback: import("..").ComponentCallback<T>): any;
34
- stop(reason?: string | undefined): any;
32
+ run<T extends import("../components/handler").CollectorInteraction = import("../components/handler").CollectorInteraction>(customId: string | string[] | RegExp, callback: import("..").ComponentCallback<T>): any;
33
+ stop(reason?: string): any;
35
34
  };
36
- get url(): string;
37
- guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">> | undefined;
35
+ get url(): `https://discord.com/channels/${string}/${string}/${string}`;
36
+ guild(force?: boolean): Promise<import("./Guild").Guild<"api">> | undefined;
38
37
  channel(force?: boolean): Promise<import("./channels").AllChannels>;
39
38
  react(emoji: EmojiResolvable): Promise<void>;
40
39
  private patch;
@@ -56,7 +55,7 @@ export declare class WebhookMessage extends BaseMessage {
56
55
  readonly webhookId: string;
57
56
  readonly webhookToken: string;
58
57
  constructor(client: UsingClient, data: MessageData, webhookId: string, webhookToken: string);
59
- fetch(): Promise<import("discord-api-types/v10").RESTGetAPIWebhookWithTokenResult>;
58
+ fetch(): Promise<import("../types").RESTGetAPIWebhookWithTokenResult>;
60
59
  edit(body: EditMessageWebhook): Promise<WebhookMessage>;
61
60
  write(body: WriteMessageWebhook): Promise<WebhookMessage | null>;
62
61
  delete(reason?: string): Promise<never>;
@@ -68,7 +67,7 @@ export declare class InMessageEmbed {
68
67
  /**
69
68
  * @deprecated
70
69
  */
71
- get type(): import("discord-api-types/v10").EmbedType | undefined;
70
+ get type(): import("../types").EmbedType | undefined;
72
71
  get description(): string | undefined;
73
72
  get url(): string | undefined;
74
73
  get timestamp(): string | undefined;
@@ -96,28 +95,28 @@ export declare class InMessageEmbed {
96
95
  height?: number | undefined;
97
96
  width?: number | undefined;
98
97
  } | undefined;
99
- get provider(): import("discord-api-types/v10").APIEmbedProvider | undefined;
98
+ get provider(): import("../types").APIEmbedProvider | undefined;
100
99
  get author(): {
101
100
  name: string;
102
101
  url?: string | undefined;
103
102
  iconUrl?: string | undefined;
104
103
  proxyIconUrl?: string | undefined;
105
104
  } | undefined;
106
- get fields(): import("discord-api-types/v10").APIEmbedField[] | undefined;
105
+ get fields(): import("../types").APIEmbedField[] | undefined;
107
106
  toBuilder(): Embed;
108
107
  toJSON(): {
109
- title?: string | undefined;
110
- type?: import("discord-api-types/v10").EmbedType | undefined;
111
- description?: string | undefined;
112
- url?: string | undefined;
113
- timestamp?: string | undefined;
114
- color?: number | undefined;
115
- footer?: import("discord-api-types/v10").APIEmbedFooter | undefined;
116
- image?: import("discord-api-types/v10").APIEmbedImage | undefined;
117
- thumbnail?: import("discord-api-types/v10").APIEmbedThumbnail | undefined;
118
- video?: import("discord-api-types/v10").APIEmbedVideo | undefined;
119
- provider?: import("discord-api-types/v10").APIEmbedProvider | undefined;
120
- author?: import("discord-api-types/v10").APIEmbedAuthor | undefined;
121
- fields?: import("discord-api-types/v10").APIEmbedField[] | undefined;
108
+ title?: string;
109
+ type?: import("../types").EmbedType;
110
+ description?: string;
111
+ url?: string;
112
+ timestamp?: string;
113
+ color?: number;
114
+ footer?: import("../types").APIEmbedFooter;
115
+ image?: import("../types").APIEmbedImage;
116
+ thumbnail?: import("../types").APIEmbedThumbnail;
117
+ video?: import("../types").APIEmbedVideo;
118
+ provider?: import("../types").APIEmbedProvider;
119
+ author?: import("../types").APIEmbedAuthor;
120
+ fields?: import("../types").APIEmbedField[];
122
121
  };
123
122
  }
@@ -3,11 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InMessageEmbed = exports.WebhookMessage = exports.Message = exports.BaseMessage = void 0;
4
4
  const common_1 = require("../common");
5
5
  const ActionRow_1 = require("../components/ActionRow");
6
- const GuildMember_1 = require("./GuildMember");
7
- const User_1 = require("./User");
8
6
  const DiscordBase_1 = require("./extra/DiscordBase");
9
- const functions_1 = require("./extra/functions");
7
+ const common_2 = require("../common");
10
8
  const __1 = require("..");
9
+ const transformers_1 = require("../client/transformers");
11
10
  class BaseMessage extends DiscordBase_1.DiscordBase {
12
11
  embeds;
13
12
  constructor(client, data) {
@@ -28,7 +27,7 @@ class BaseMessage extends DiscordBase_1.DiscordBase {
28
27
  return this.client.components.createComponentCollector(this.id, options);
29
28
  }
30
29
  get url() {
31
- return (0, functions_1.messageLink)(this.channelId, this.id, this.guildId);
30
+ return common_2.Formatter.messageLink(this.guildId, this.channelId, this.id);
32
31
  }
33
32
  guild(force = false) {
34
33
  if (!this.guildId)
@@ -46,21 +45,21 @@ class BaseMessage extends DiscordBase_1.DiscordBase {
46
45
  this.timestamp = Date.parse(data.timestamp);
47
46
  }
48
47
  if ('author' in data && data.author) {
49
- this.author = new User_1.User(this.client, data.author);
48
+ this.author = transformers_1.Transformers.User(this.client, data.author);
50
49
  }
51
50
  if ('member' in data && data.member) {
52
- 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);
53
52
  }
54
53
  if (data.mentions?.length) {
55
54
  this.mentions.users = this.guildId
56
- ? data.mentions.map(m => new GuildMember_1.GuildMember(this.client, {
55
+ ? data.mentions.map(m => transformers_1.Transformers.GuildMember(this.client, {
57
56
  ...m.member,
58
57
  user: m,
59
58
  }, m, this.guildId))
60
- : data.mentions.map(u => new User_1.User(this.client, u));
59
+ : data.mentions.map(u => transformers_1.Transformers.User(this.client, u));
61
60
  }
62
61
  if (data.poll) {
63
- 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);
64
63
  }
65
64
  }
66
65
  }
@@ -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';
1
+ import type { APISticker, RESTPatchAPIGuildStickerJSONBody, RESTPostAPIGuildStickerFormDataBody } from '../types';
2
2
  import type { RawFile, UsingClient } from '..';
3
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
  }>): {