seyfert 1.5.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +18 -10
  3. package/lib/api/Router.js +2 -2
  4. package/lib/api/Routes/applications.d.ts +23 -1
  5. package/lib/api/Routes/channels.d.ts +1 -1
  6. package/lib/api/Routes/gateway.d.ts +1 -1
  7. package/lib/api/Routes/guilds.d.ts +5 -2
  8. package/lib/api/Routes/interactions.d.ts +8 -2
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/skus.d.ts +11 -0
  11. package/lib/api/Routes/skus.js +2 -0
  12. package/lib/api/Routes/stage-instances.d.ts +1 -1
  13. package/lib/api/Routes/stickers.d.ts +2 -2
  14. package/lib/api/Routes/users.d.ts +1 -1
  15. package/lib/api/Routes/voice.d.ts +1 -1
  16. package/lib/api/Routes/webhooks.d.ts +2 -2
  17. package/lib/api/api.d.ts +3 -3
  18. package/lib/api/api.js +15 -25
  19. package/lib/api/bucket.d.ts +0 -1
  20. package/lib/api/shared.d.ts +1 -2
  21. package/lib/api/utils/constants.d.ts +2 -5
  22. package/lib/api/utils/constants.js +3 -7
  23. package/lib/api/utils/utils.d.ts +1 -2
  24. package/lib/api/utils/utils.js +2 -3
  25. package/lib/builders/ActionRow.d.ts +1 -1
  26. package/lib/builders/ActionRow.js +3 -3
  27. package/lib/builders/Attachment.d.ts +3 -4
  28. package/lib/builders/Attachment.js +24 -25
  29. package/lib/builders/Base.d.ts +2 -2
  30. package/lib/builders/Base.js +1 -1
  31. package/lib/builders/Button.d.ts +7 -7
  32. package/lib/builders/Button.js +11 -9
  33. package/lib/builders/Embed.d.ts +1 -1
  34. package/lib/builders/Modal.d.ts +1 -1
  35. package/lib/builders/Modal.js +2 -2
  36. package/lib/builders/Poll.d.ts +2 -2
  37. package/lib/builders/Poll.js +5 -6
  38. package/lib/builders/SelectMenu.d.ts +1 -1
  39. package/lib/builders/SelectMenu.js +17 -18
  40. package/lib/builders/index.d.ts +1 -1
  41. package/lib/builders/index.js +10 -11
  42. package/lib/cache/adapters/default.d.ts +16 -9
  43. package/lib/cache/adapters/default.js +42 -31
  44. package/lib/cache/adapters/index.d.ts +0 -1
  45. package/lib/cache/adapters/index.js +0 -1
  46. package/lib/cache/adapters/limited.d.ts +17 -12
  47. package/lib/cache/adapters/limited.js +80 -36
  48. package/lib/cache/adapters/types.d.ts +6 -7
  49. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  50. package/lib/cache/adapters/workeradapter.js +13 -0
  51. package/lib/cache/index.d.ts +20 -8
  52. package/lib/cache/index.js +328 -22
  53. package/lib/cache/resources/bans.d.ts +9 -6
  54. package/lib/cache/resources/bans.js +13 -4
  55. package/lib/cache/resources/channels.d.ts +6 -4
  56. package/lib/cache/resources/channels.js +13 -7
  57. package/lib/cache/resources/default/base.d.ts +7 -7
  58. package/lib/cache/resources/default/base.js +2 -2
  59. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  60. package/lib/cache/resources/default/guild-based.js +6 -6
  61. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  62. package/lib/cache/resources/default/guild-related.js +10 -8
  63. package/lib/cache/resources/emojis.d.ts +15 -6
  64. package/lib/cache/resources/emojis.js +13 -4
  65. package/lib/cache/resources/guilds.d.ts +9 -6
  66. package/lib/cache/resources/guilds.js +27 -6
  67. package/lib/cache/resources/members.d.ts +9 -6
  68. package/lib/cache/resources/members.js +22 -6
  69. package/lib/cache/resources/messages.d.ts +11 -7
  70. package/lib/cache/resources/messages.js +19 -7
  71. package/lib/cache/resources/overwrites.d.ts +11 -2
  72. package/lib/cache/resources/overwrites.js +9 -0
  73. package/lib/cache/resources/presence.d.ts +3 -2
  74. package/lib/cache/resources/roles.d.ts +9 -6
  75. package/lib/cache/resources/roles.js +13 -4
  76. package/lib/cache/resources/stage-instances.d.ts +2 -2
  77. package/lib/cache/resources/stickers.d.ts +9 -6
  78. package/lib/cache/resources/stickers.js +13 -4
  79. package/lib/cache/resources/threads.d.ts +9 -6
  80. package/lib/cache/resources/threads.js +13 -4
  81. package/lib/cache/resources/users.d.ts +9 -6
  82. package/lib/cache/resources/users.js +13 -4
  83. package/lib/cache/resources/voice-states.d.ts +11 -8
  84. package/lib/cache/resources/voice-states.js +15 -4
  85. package/lib/client/base.d.ts +29 -21
  86. package/lib/client/base.js +64 -57
  87. package/lib/client/client.d.ts +11 -16
  88. package/lib/client/client.js +51 -37
  89. package/lib/client/collectors.d.ts +10 -10
  90. package/lib/client/collectors.js +26 -1
  91. package/lib/client/httpclient.d.ts +8 -13
  92. package/lib/client/httpclient.js +27 -218
  93. package/lib/client/index.d.ts +1 -0
  94. package/lib/client/index.js +1 -0
  95. package/lib/client/transformers.d.ts +68 -0
  96. package/lib/client/transformers.js +99 -0
  97. package/lib/client/types.d.ts +5 -0
  98. package/lib/client/types.js +2 -0
  99. package/lib/client/workerclient.d.ts +16 -15
  100. package/lib/client/workerclient.js +130 -72
  101. package/lib/commands/applications/chat.d.ts +35 -34
  102. package/lib/commands/applications/chat.js +5 -9
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/entryPoint.d.ts +46 -0
  106. package/lib/commands/applications/entryPoint.js +56 -0
  107. package/lib/commands/applications/entrycontext.d.ts +40 -0
  108. package/lib/commands/applications/entrycontext.js +85 -0
  109. package/lib/commands/applications/menu.d.ts +2 -3
  110. package/lib/commands/applications/menu.js +2 -5
  111. package/lib/commands/applications/menucontext.d.ts +14 -13
  112. package/lib/commands/applications/menucontext.js +9 -9
  113. package/lib/commands/applications/options.d.ts +4 -3
  114. package/lib/commands/applications/options.js +20 -21
  115. package/lib/commands/applications/shared.d.ts +3 -1
  116. package/lib/commands/decorators.d.ts +47 -35
  117. package/lib/commands/decorators.js +20 -18
  118. package/lib/commands/handle.d.ts +65 -0
  119. package/lib/commands/handle.js +727 -0
  120. package/lib/commands/handler.d.ts +29 -18
  121. package/lib/commands/handler.js +295 -164
  122. package/lib/commands/index.d.ts +2 -0
  123. package/lib/commands/index.js +2 -0
  124. package/lib/commands/optionresolver.d.ts +13 -13
  125. package/lib/commands/optionresolver.js +24 -29
  126. package/lib/common/bot/watcher.d.ts +4 -33
  127. package/lib/common/bot/watcher.js +0 -109
  128. package/lib/common/index.d.ts +1 -0
  129. package/lib/common/index.js +1 -0
  130. package/lib/common/it/colors.js +48 -49
  131. package/lib/common/it/formatter.d.ts +32 -0
  132. package/lib/common/it/formatter.js +42 -0
  133. package/lib/common/it/logger.d.ts +0 -1
  134. package/lib/common/it/logger.js +3 -3
  135. package/lib/common/it/utils.d.ts +24 -4
  136. package/lib/common/it/utils.js +88 -17
  137. package/lib/common/shorters/application.d.ts +56 -0
  138. package/lib/common/shorters/application.js +81 -0
  139. package/lib/common/shorters/bans.d.ts +4 -5
  140. package/lib/common/shorters/bans.js +3 -3
  141. package/lib/common/shorters/channels.d.ts +7 -6
  142. package/lib/common/shorters/channels.js +19 -15
  143. package/lib/common/shorters/emojis.d.ts +5 -6
  144. package/lib/common/shorters/emojis.js +5 -5
  145. package/lib/common/shorters/guilds.d.ts +18 -16
  146. package/lib/common/shorters/guilds.js +31 -26
  147. package/lib/common/shorters/interaction.d.ts +7 -7
  148. package/lib/common/shorters/interaction.js +3 -2
  149. package/lib/common/shorters/members.d.ts +29 -12
  150. package/lib/common/shorters/members.js +55 -16
  151. package/lib/common/shorters/messages.d.ts +7 -8
  152. package/lib/common/shorters/messages.js +8 -7
  153. package/lib/common/shorters/reactions.d.ts +3 -3
  154. package/lib/common/shorters/reactions.js +11 -11
  155. package/lib/common/shorters/roles.d.ts +9 -7
  156. package/lib/common/shorters/roles.js +26 -7
  157. package/lib/common/shorters/templates.d.ts +7 -8
  158. package/lib/common/shorters/templates.js +7 -7
  159. package/lib/common/shorters/threads.d.ts +6 -7
  160. package/lib/common/shorters/threads.js +6 -9
  161. package/lib/common/shorters/users.d.ts +4 -4
  162. package/lib/common/shorters/users.js +8 -4
  163. package/lib/common/shorters/webhook.d.ts +10 -10
  164. package/lib/common/shorters/webhook.js +10 -9
  165. package/lib/common/types/resolvables.d.ts +2 -2
  166. package/lib/common/types/util.d.ts +4 -2
  167. package/lib/common/types/write.d.ts +3 -3
  168. package/lib/components/ActionRow.d.ts +1 -1
  169. package/lib/components/BaseComponent.d.ts +1 -1
  170. package/lib/components/BaseComponent.js +1 -1
  171. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  172. package/lib/components/ButtonComponent.d.ts +17 -7
  173. package/lib/components/ButtonComponent.js +19 -2
  174. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  175. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  176. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  177. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  178. package/lib/components/TextInputComponent.d.ts +2 -2
  179. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  180. package/lib/components/componentcommand.js +2 -2
  181. package/lib/components/componentcontext.d.ts +10 -9
  182. package/lib/components/componentcontext.js +8 -8
  183. package/lib/components/handler.d.ts +15 -14
  184. package/lib/components/handler.js +89 -93
  185. package/lib/components/index.d.ts +3 -3
  186. package/lib/components/index.js +12 -10
  187. package/lib/components/modalcontext.d.ts +12 -11
  188. package/lib/components/modalcontext.js +2 -2
  189. package/lib/deps/mixer.d.ts +8 -0
  190. package/lib/deps/mixer.js +71 -0
  191. package/lib/events/handler.d.ts +35 -13
  192. package/lib/events/handler.js +57 -24
  193. package/lib/events/hooks/application_command.d.ts +2 -2
  194. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  195. package/lib/events/hooks/auto_moderation.js +4 -4
  196. package/lib/events/hooks/channel.d.ts +2 -2
  197. package/lib/events/hooks/channel.js +4 -7
  198. package/lib/events/hooks/custom.d.ts +4 -3
  199. package/lib/events/hooks/custom.js +5 -1
  200. package/lib/events/hooks/dispatch.d.ts +3 -4
  201. package/lib/events/hooks/dispatch.js +2 -2
  202. package/lib/events/hooks/entitlement.d.ts +5 -37
  203. package/lib/events/hooks/entitlement.js +7 -7
  204. package/lib/events/hooks/guild.d.ts +125 -125
  205. package/lib/events/hooks/guild.js +13 -15
  206. package/lib/events/hooks/integration.d.ts +27 -28
  207. package/lib/events/hooks/integration.js +3 -3
  208. package/lib/events/hooks/interactions.d.ts +2 -2
  209. package/lib/events/hooks/invite.d.ts +18 -17
  210. package/lib/events/hooks/message.d.ts +69 -54
  211. package/lib/events/hooks/message.js +4 -8
  212. package/lib/events/hooks/presence.d.ts +17 -16
  213. package/lib/events/hooks/stage.d.ts +4 -4
  214. package/lib/events/hooks/subscriptions.d.ts +35 -0
  215. package/lib/events/hooks/subscriptions.js +16 -0
  216. package/lib/events/hooks/thread.d.ts +132 -63
  217. package/lib/events/hooks/thread.js +4 -4
  218. package/lib/events/hooks/typing.d.ts +28 -6
  219. package/lib/events/hooks/typing.js +2 -2
  220. package/lib/events/hooks/user.d.ts +3 -3
  221. package/lib/events/hooks/user.js +2 -2
  222. package/lib/events/hooks/voice.d.ts +28 -3
  223. package/lib/events/hooks/voice.js +8 -4
  224. package/lib/events/hooks/webhook.d.ts +1 -1
  225. package/lib/index.d.ts +5 -14
  226. package/lib/index.js +7 -12
  227. package/lib/langs/handler.d.ts +14 -10
  228. package/lib/langs/handler.js +40 -9
  229. package/lib/structures/AutoModerationRule.d.ts +4 -4
  230. package/lib/structures/AutoModerationRule.js +1 -2
  231. package/lib/structures/ClientUser.d.ts +1 -1
  232. package/lib/structures/Entitlement.d.ts +10 -0
  233. package/lib/structures/Entitlement.js +16 -0
  234. package/lib/structures/Guild.d.ts +33 -34
  235. package/lib/structures/Guild.js +5 -2
  236. package/lib/structures/GuildBan.d.ts +6 -6
  237. package/lib/structures/GuildBan.js +2 -1
  238. package/lib/structures/GuildEmoji.d.ts +4 -4
  239. package/lib/structures/GuildEmoji.js +3 -2
  240. package/lib/structures/GuildMember.d.ts +20 -17
  241. package/lib/structures/GuildMember.js +18 -8
  242. package/lib/structures/GuildPreview.d.ts +1 -1
  243. package/lib/structures/GuildRole.d.ts +5 -3
  244. package/lib/structures/GuildRole.js +8 -1
  245. package/lib/structures/GuildTemplate.d.ts +2 -2
  246. package/lib/structures/GuildTemplate.js +1 -1
  247. package/lib/structures/Interaction.d.ts +76 -39
  248. package/lib/structures/Interaction.js +179 -94
  249. package/lib/structures/Message.d.ts +29 -33
  250. package/lib/structures/Message.js +8 -12
  251. package/lib/structures/Poll.d.ts +4 -3
  252. package/lib/structures/Poll.js +6 -2
  253. package/lib/structures/Sticker.d.ts +7 -7
  254. package/lib/structures/Sticker.js +7 -7
  255. package/lib/structures/User.d.ts +5 -4
  256. package/lib/structures/User.js +2 -1
  257. package/lib/structures/VoiceState.d.ts +15 -11
  258. package/lib/structures/VoiceState.js +35 -17
  259. package/lib/structures/Webhook.d.ts +6 -7
  260. package/lib/structures/Webhook.js +6 -7
  261. package/lib/structures/channels.d.ts +11 -10
  262. package/lib/structures/channels.js +70 -65
  263. package/lib/structures/extra/BaseGuild.d.ts +12 -2
  264. package/lib/structures/extra/BaseGuild.js +30 -3
  265. package/lib/structures/extra/BitField.d.ts +1 -1
  266. package/lib/structures/extra/BitField.js +3 -2
  267. package/lib/structures/extra/DiscordBase.js +2 -2
  268. package/lib/structures/extra/Permissions.d.ts +3 -1
  269. package/lib/structures/extra/Permissions.js +8 -3
  270. package/lib/types/gateway.d.ts +1554 -0
  271. package/lib/types/gateway.js +4 -0
  272. package/lib/types/index.d.ts +9 -1
  273. package/lib/types/index.js +28 -1
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +65 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  303. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  304. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  305. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  306. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  307. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  308. package/lib/types/payloads/_interactions/applicationCommands.d.ts +188 -0
  309. package/lib/types/payloads/_interactions/applicationCommands.js +88 -0
  310. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  311. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  312. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  313. package/lib/types/payloads/_interactions/base.js +2 -0
  314. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  315. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  316. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  317. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  318. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  319. package/lib/types/payloads/_interactions/ping.js +2 -0
  320. package/lib/types/payloads/_interactions/responses.d.ts +184 -0
  321. package/lib/types/payloads/_interactions/responses.js +58 -0
  322. package/lib/types/payloads/application.d.ts +292 -0
  323. package/lib/types/payloads/application.js +117 -0
  324. package/lib/types/payloads/auditLog.d.ts +644 -0
  325. package/lib/types/payloads/auditLog.js +80 -0
  326. package/lib/types/payloads/autoModeration.d.ts +219 -0
  327. package/lib/types/payloads/autoModeration.js +87 -0
  328. package/lib/types/payloads/channel.d.ts +1748 -0
  329. package/lib/types/payloads/channel.js +376 -0
  330. package/lib/types/payloads/emoji.d.ts +48 -0
  331. package/lib/types/payloads/emoji.js +5 -0
  332. package/lib/types/payloads/gateway.d.ts +373 -0
  333. package/lib/types/payloads/gateway.js +82 -0
  334. package/lib/types/payloads/guild.d.ts +1060 -0
  335. package/lib/types/payloads/guild.js +324 -0
  336. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  337. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  338. package/lib/types/payloads/index.d.ts +64 -0
  339. package/lib/types/payloads/index.js +37 -0
  340. package/lib/types/payloads/interactions.d.ts +24 -0
  341. package/lib/types/payloads/interactions.js +23 -0
  342. package/lib/types/payloads/invite.d.ts +121 -0
  343. package/lib/types/payloads/invite.js +23 -0
  344. package/lib/types/payloads/monetization.d.ts +178 -0
  345. package/lib/types/payloads/monetization.js +88 -0
  346. package/lib/types/payloads/oauth2.d.ts +131 -0
  347. package/lib/types/payloads/oauth2.js +135 -0
  348. package/lib/types/payloads/permissions.d.ts +97 -0
  349. package/lib/types/payloads/permissions.js +16 -0
  350. package/lib/types/payloads/poll.d.ts +104 -0
  351. package/lib/types/payloads/poll.js +16 -0
  352. package/lib/types/payloads/stageInstance.d.ts +77 -0
  353. package/lib/types/payloads/stageInstance.js +19 -0
  354. package/lib/types/payloads/sticker.d.ts +123 -0
  355. package/lib/types/payloads/sticker.js +30 -0
  356. package/lib/types/payloads/teams.d.ts +78 -0
  357. package/lib/types/payloads/teams.js +23 -0
  358. package/lib/types/payloads/template.d.ts +62 -0
  359. package/lib/types/payloads/template.js +5 -0
  360. package/lib/types/payloads/user.d.ts +337 -0
  361. package/lib/types/payloads/user.js +167 -0
  362. package/lib/types/payloads/voice.d.ts +89 -0
  363. package/lib/types/payloads/voice.js +5 -0
  364. package/lib/types/payloads/webhook.d.ts +76 -0
  365. package/lib/types/payloads/webhook.js +21 -0
  366. package/lib/types/rest/application.d.ts +57 -0
  367. package/lib/types/rest/application.js +2 -0
  368. package/lib/types/rest/auditLog.d.ts +30 -0
  369. package/lib/types/rest/auditLog.js +2 -0
  370. package/lib/types/rest/autoModeration.d.ts +66 -0
  371. package/lib/types/rest/autoModeration.js +2 -0
  372. package/lib/types/rest/channel.d.ts +699 -0
  373. package/lib/types/rest/channel.js +11 -0
  374. package/lib/types/rest/emoji.d.ts +54 -0
  375. package/lib/types/rest/emoji.js +2 -0
  376. package/lib/types/rest/gateway.d.ts +9 -0
  377. package/lib/types/rest/gateway.js +2 -0
  378. package/lib/types/rest/guild.d.ts +865 -0
  379. package/lib/types/rest/guild.js +2 -0
  380. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  381. package/lib/types/rest/guildScheduledEvent.js +2 -0
  382. package/lib/types/rest/index.d.ts +296 -0
  383. package/lib/types/rest/index.js +292 -0
  384. package/lib/types/rest/interactions.d.ts +216 -0
  385. package/lib/types/rest/interactions.js +2 -0
  386. package/lib/types/rest/invite.d.ts +24 -0
  387. package/lib/types/rest/invite.js +2 -0
  388. package/lib/types/rest/monetization.d.ts +103 -0
  389. package/lib/types/rest/monetization.js +11 -0
  390. package/lib/types/rest/oauth2.d.ts +172 -0
  391. package/lib/types/rest/oauth2.js +2 -0
  392. package/lib/types/rest/poll.d.ts +44 -0
  393. package/lib/types/rest/poll.js +2 -0
  394. package/lib/types/rest/stageInstance.d.ts +58 -0
  395. package/lib/types/rest/stageInstance.js +2 -0
  396. package/lib/types/rest/sticker.d.ts +77 -0
  397. package/lib/types/rest/sticker.js +2 -0
  398. package/lib/types/rest/template.d.ts +62 -0
  399. package/lib/types/rest/template.js +2 -0
  400. package/lib/types/rest/user.d.ts +120 -0
  401. package/lib/types/rest/user.js +2 -0
  402. package/lib/types/rest/voice.d.ts +17 -0
  403. package/lib/types/rest/voice.js +2 -0
  404. package/lib/types/rest/webhook.d.ts +250 -0
  405. package/lib/types/rest/webhook.js +2 -0
  406. package/lib/types/utils/index.d.ts +808 -0
  407. package/lib/types/utils/index.js +810 -0
  408. package/lib/websocket/SharedTypes.d.ts +12 -5
  409. package/lib/websocket/SharedTypes.js +1 -1
  410. package/lib/websocket/constants/index.d.ts +3 -3
  411. package/lib/websocket/constants/index.js +11 -1
  412. package/lib/websocket/discord/basesocket.d.ts +7 -7
  413. package/lib/websocket/discord/basesocket.js +34 -22
  414. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  415. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  416. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  417. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  418. package/lib/websocket/discord/shard.d.ts +9 -8
  419. package/lib/websocket/discord/shard.js +83 -57
  420. package/lib/websocket/discord/sharder.d.ts +6 -5
  421. package/lib/websocket/discord/sharder.js +70 -11
  422. package/lib/websocket/discord/shared.d.ts +34 -6
  423. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  424. package/lib/websocket/discord/socket/custom.js +300 -0
  425. package/lib/websocket/discord/worker.d.ts +6 -10
  426. package/lib/websocket/discord/workermanager.d.ts +10 -16
  427. package/lib/websocket/discord/workermanager.js +63 -50
  428. package/lib/websocket/structures/index.d.ts +0 -1
  429. package/lib/websocket/structures/index.js +1 -1
  430. package/lib/websocket/structures/timeout.d.ts +0 -1
  431. package/package.json +70 -74
  432. package/lib/cache/adapters/redis.d.ts +0 -37
  433. package/lib/cache/adapters/redis.js +0 -218
  434. package/lib/client/oninteractioncreate.d.ts +0 -4
  435. package/lib/client/oninteractioncreate.js +0 -198
  436. package/lib/client/onmessagecreate.d.ts +0 -13
  437. package/lib/client/onmessagecreate.js +0 -410
  438. package/lib/structures/extra/functions.d.ts +0 -12
  439. package/lib/structures/extra/functions.js +0 -70
@@ -5,22 +5,17 @@ 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
- 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");
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.EntryPointInteraction = exports.ApplicationCommandInteraction = exports.Interaction = exports.AutocompleteInteraction = exports.BaseInteraction = void 0;
10
+ const types_1 = require("../types");
15
11
  const builders_1 = require("../builders");
16
- const commands_1 = require("../commands");
12
+ const common_1 = require("../common");
17
13
  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
14
  const DiscordBase_1 = require("./extra/DiscordBase");
23
15
  const Permissions_1 = require("./extra/Permissions");
16
+ const transformers_1 = require("../client/transformers");
17
+ const mixer_1 = require("../deps/mixer");
18
+ const Entitlement_1 = require("./Entitlement");
24
19
  class BaseInteraction extends DiscordBase_1.DiscordBase {
25
20
  client;
26
21
  __reply;
@@ -35,49 +30,35 @@ class BaseInteraction extends DiscordBase_1.DiscordBase {
35
30
  this.client = client;
36
31
  this.__reply = __reply;
37
32
  if (interaction.member) {
38
- this.member = new _1.InteractionGuildMember(client, interaction.member, interaction.member.user, interaction.guild_id);
33
+ this.member = transformers_1.Transformers.InteractionGuildMember(client, interaction.member, interaction.member.user, interaction.guild_id);
39
34
  }
40
35
  if (interaction.message) {
41
- this.message = new Message_1.Message(client, interaction.message);
36
+ this.message = transformers_1.Transformers.Message(client, interaction.message);
42
37
  }
43
38
  if (interaction.app_permissions) {
44
39
  this.appPermissions = new Permissions_1.PermissionsBitField(Number(interaction.app_permissions));
45
40
  }
46
41
  if (interaction.channel) {
47
- this.channel = (0, channels_1.default)(interaction.channel, client);
42
+ this.channel = (0, _1.channelFrom)(interaction.channel, client);
48
43
  }
49
- this.user = this.member?.user ?? new User_1.User(client, interaction.user);
44
+ this.user = this.member?.user ?? transformers_1.Transformers.User(client, interaction.user);
45
+ this.entitlements = interaction.entitlements.map(e => new Entitlement_1.Entitlement(this.client, e));
50
46
  }
51
47
  static transformBodyRequest(body, files, self) {
52
48
  switch (body.type) {
53
- case v10_1.InteractionResponseType.ApplicationCommandAutocompleteResult:
54
- case v10_1.InteractionResponseType.DeferredMessageUpdate:
55
- case v10_1.InteractionResponseType.DeferredChannelMessageWithSource:
49
+ case types_1.InteractionResponseType.ApplicationCommandAutocompleteResult:
50
+ case types_1.InteractionResponseType.DeferredMessageUpdate:
51
+ case types_1.InteractionResponseType.DeferredChannelMessageWithSource:
56
52
  return body;
57
- case v10_1.InteractionResponseType.ChannelMessageWithSource:
58
- case v10_1.InteractionResponseType.UpdateMessage: {
59
- const poll = body.poll;
53
+ case types_1.InteractionResponseType.ChannelMessageWithSource:
54
+ case types_1.InteractionResponseType.UpdateMessage: {
60
55
  return {
61
56
  type: body.type,
62
57
  //@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
- },
58
+ data: BaseInteraction.transformBody(body.data ?? {}, files, self),
78
59
  };
79
60
  }
80
- case v10_1.InteractionResponseType.Modal:
61
+ case types_1.InteractionResponseType.Modal:
81
62
  return {
82
63
  type: body.type,
83
64
  data: body.data instanceof builders_1.Modal
@@ -91,25 +72,35 @@ class BaseInteraction extends DiscordBase_1.DiscordBase {
91
72
  : [],
92
73
  },
93
74
  };
75
+ case types_1.InteractionResponseType.LaunchActivity:
76
+ return body;
94
77
  default:
95
78
  return body;
96
79
  }
97
80
  }
98
81
  static transformBody(body, files, self) {
99
82
  const poll = body.poll;
100
- return {
83
+ const payload = {
101
84
  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
85
  ...body,
109
86
  components: body.components?.map(x => (x instanceof builders_1.ActionRow ? x.toJSON() : x)),
110
87
  embeds: body?.embeds?.map(x => (x instanceof builders_1.Embed ? x.toJSON() : x)),
111
88
  poll: poll ? (poll instanceof builders_1.PollBuilder ? poll.toJSON() : poll) : undefined,
112
89
  };
90
+ if ('attachments' in body) {
91
+ payload.attachments =
92
+ body.attachments?.map((x, i) => ({
93
+ id: i,
94
+ ...(0, builders_1.resolveAttachment)(x),
95
+ })) ?? undefined;
96
+ }
97
+ else if (files?.length) {
98
+ payload.attachments = files?.map(({ filename }, id) => ({
99
+ id,
100
+ filename,
101
+ }));
102
+ }
103
+ return payload;
113
104
  }
114
105
  async matchReplied(body) {
115
106
  if (this.__reply) {
@@ -137,43 +128,81 @@ class BaseInteraction extends DiscordBase_1.DiscordBase {
137
128
  }
138
129
  deferReply(flags) {
139
130
  return this.reply({
140
- type: v10_1.InteractionResponseType.DeferredChannelMessageWithSource,
131
+ type: types_1.InteractionResponseType.DeferredChannelMessageWithSource,
141
132
  data: {
142
133
  flags,
143
134
  },
144
135
  });
145
136
  }
137
+ isButton() {
138
+ return false;
139
+ }
140
+ isChannelSelectMenu() {
141
+ return false;
142
+ }
143
+ isRoleSelectMenu() {
144
+ return false;
145
+ }
146
+ isMentionableSelectMenu() {
147
+ return false;
148
+ }
149
+ isUserSelectMenu() {
150
+ return false;
151
+ }
152
+ isStringSelectMenu() {
153
+ return false;
154
+ }
155
+ isChatInput() {
156
+ return false;
157
+ }
158
+ isUser() {
159
+ return false;
160
+ }
161
+ isMessage() {
162
+ return false;
163
+ }
164
+ isAutocomplete() {
165
+ return false;
166
+ }
167
+ isModal() {
168
+ return false;
169
+ }
170
+ isEntryPoint() {
171
+ return false;
172
+ }
146
173
  static from(client, gateway, __reply) {
147
174
  switch (gateway.type) {
148
- case v10_1.InteractionType.ApplicationCommandAutocomplete:
175
+ case types_1.InteractionType.ApplicationCommandAutocomplete:
149
176
  return new AutocompleteInteraction(client, gateway, undefined, __reply);
150
177
  // biome-ignore lint/suspicious/noFallthroughSwitchClause: bad interaction between biome and ts-server
151
- case v10_1.InteractionType.ApplicationCommand:
178
+ case types_1.InteractionType.ApplicationCommand:
152
179
  switch (gateway.data.type) {
153
- case v10_1.ApplicationCommandType.ChatInput:
180
+ case types_1.ApplicationCommandType.ChatInput:
154
181
  return new ChatInputCommandInteraction(client, gateway, __reply);
155
- case v10_1.ApplicationCommandType.User:
182
+ case types_1.ApplicationCommandType.User:
156
183
  return new UserCommandInteraction(client, gateway, __reply);
157
- case v10_1.ApplicationCommandType.Message:
184
+ case types_1.ApplicationCommandType.Message:
158
185
  return new MessageCommandInteraction(client, gateway, __reply);
186
+ case types_1.ApplicationCommandType.PrimaryEntryPoint:
187
+ return new EntryPointInteraction(client, gateway, __reply);
159
188
  }
160
189
  // biome-ignore lint/suspicious/noFallthroughSwitchClause: bad interaction between biome and ts-server
161
- case v10_1.InteractionType.MessageComponent:
190
+ case types_1.InteractionType.MessageComponent:
162
191
  switch (gateway.data.component_type) {
163
- case v10_1.ComponentType.Button:
192
+ case types_1.ComponentType.Button:
164
193
  return new ButtonInteraction(client, gateway, __reply);
165
- case v10_1.ComponentType.ChannelSelect:
194
+ case types_1.ComponentType.ChannelSelect:
166
195
  return new ChannelSelectMenuInteraction(client, gateway, __reply);
167
- case v10_1.ComponentType.RoleSelect:
196
+ case types_1.ComponentType.RoleSelect:
168
197
  return new RoleSelectMenuInteraction(client, gateway, __reply);
169
- case v10_1.ComponentType.MentionableSelect:
198
+ case types_1.ComponentType.MentionableSelect:
170
199
  return new MentionableSelectMenuInteraction(client, gateway, __reply);
171
- case v10_1.ComponentType.UserSelect:
200
+ case types_1.ComponentType.UserSelect:
172
201
  return new UserSelectMenuInteraction(client, gateway, __reply);
173
- case v10_1.ComponentType.StringSelect:
202
+ case types_1.ComponentType.StringSelect:
174
203
  return new StringSelectMenuInteraction(client, gateway, __reply);
175
204
  }
176
- case v10_1.InteractionType.ModalSubmit:
205
+ case types_1.InteractionType.ModalSubmit:
177
206
  return new ModalSubmitInteraction(client, gateway);
178
207
  default:
179
208
  return new BaseInteraction(client, gateway);
@@ -192,13 +221,16 @@ class AutocompleteInteraction extends BaseInteraction {
192
221
  this.__reply = __reply;
193
222
  this.options =
194
223
  resolver ??
195
- new commands_1.OptionResolver(client, interaction.data.options, undefined, interaction.guild_id, interaction.data.resolved);
224
+ transformers_1.Transformers.OptionResolver(client, interaction.data.options, undefined, interaction.guild_id, interaction.data.resolved);
196
225
  }
197
226
  getInput() {
198
227
  return this.options.getAutocompleteValue() ?? '';
199
228
  }
200
229
  respond(choices) {
201
- return super.reply({ data: { choices }, type: v10_1.InteractionResponseType.ApplicationCommandAutocompleteResult });
230
+ return super.reply({ data: { choices }, type: types_1.InteractionResponseType.ApplicationCommandAutocompleteResult });
231
+ }
232
+ isAutocomplete() {
233
+ return true;
202
234
  }
203
235
  /** @intenal */
204
236
  async reply(..._args) {
@@ -215,7 +247,7 @@ class Interaction extends BaseInteraction {
215
247
  }
216
248
  async write(body, fetchReply) {
217
249
  (await this.reply({
218
- type: v10_1.InteractionResponseType.ChannelMessageWithSource,
250
+ type: types_1.InteractionResponseType.ChannelMessageWithSource,
219
251
  data: body,
220
252
  }));
221
253
  if (fetchReply)
@@ -224,14 +256,14 @@ class Interaction extends BaseInteraction {
224
256
  }
225
257
  modal(body) {
226
258
  return this.reply({
227
- type: v10_1.InteractionResponseType.Modal,
259
+ type: types_1.InteractionResponseType.Modal,
228
260
  data: body,
229
261
  });
230
262
  }
231
263
  async editOrReply(body, fetchReply) {
232
264
  if (await this.replied) {
233
- const { content, embeds, allowed_mentions, components, files, attachments } = body;
234
- return this.editResponse({ content, embeds, allowed_mentions, components, files, attachments });
265
+ const { content, embeds, allowed_mentions, components, files, attachments, poll } = body;
266
+ return this.editResponse({ content, embeds, allowed_mentions, components, files, attachments, poll });
235
267
  }
236
268
  return this.write(body, fetchReply);
237
269
  }
@@ -247,28 +279,69 @@ class Interaction extends BaseInteraction {
247
279
  deleteMessage(messageId) {
248
280
  return this.client.interactions.deleteResponse(this.id, this.token, messageId);
249
281
  }
250
- async followup(body) {
282
+ followup(body) {
251
283
  return this.client.interactions.followup(this.token, body);
252
284
  }
253
285
  }
254
286
  exports.Interaction = Interaction;
255
287
  class ApplicationCommandInteraction extends Interaction {
256
- type = v10_1.ApplicationCommandType.ChatInput;
288
+ type;
257
289
  respond(data) {
258
290
  return this.reply(data);
259
291
  }
260
292
  }
261
293
  exports.ApplicationCommandInteraction = ApplicationCommandInteraction;
294
+ /**
295
+ * Seyfert don't support activities, so this interaction is blank
296
+ */
297
+ class EntryPointInteraction extends ApplicationCommandInteraction {
298
+ async withReponse(data) {
299
+ let body = { type: types_1.InteractionResponseType.LaunchActivity };
300
+ if (data) {
301
+ let { files, ...rest } = data;
302
+ files = files ? await (0, builders_1.resolveFiles)(files) : undefined;
303
+ body = BaseInteraction.transformBody(rest, files, this.client);
304
+ }
305
+ const response = await this.client.proxy
306
+ .interactions(this.id)(this.token)
307
+ .callback.post({
308
+ body,
309
+ query: { with_response: true },
310
+ });
311
+ const result = {
312
+ interaction: (0, common_1.toCamelCase)(response.interaction),
313
+ };
314
+ if (response.resource) {
315
+ if (response.resource.type !== types_1.InteractionResponseType.LaunchActivity) {
316
+ result.resource = {
317
+ type: response.resource.type,
318
+ message: transformers_1.Transformers.WebhookMessage(this.client, response.resource.message, this.id, this.token),
319
+ };
320
+ }
321
+ else {
322
+ result.resource = {
323
+ type: response.resource.type,
324
+ activityInstance: response.resource.activity_instance,
325
+ };
326
+ }
327
+ }
328
+ return result;
329
+ }
330
+ isEntryPoint() {
331
+ return true;
332
+ }
333
+ }
334
+ exports.EntryPointInteraction = EntryPointInteraction;
262
335
  class ComponentInteraction extends Interaction {
263
336
  update(data) {
264
337
  return this.reply({
265
- type: v10_1.InteractionResponseType.UpdateMessage,
338
+ type: types_1.InteractionResponseType.UpdateMessage,
266
339
  data,
267
340
  });
268
341
  }
269
342
  deferUpdate() {
270
343
  return this.reply({
271
- type: v10_1.InteractionResponseType.DeferredMessageUpdate,
344
+ type: types_1.InteractionResponseType.DeferredMessageUpdate,
272
345
  });
273
346
  }
274
347
  get customId() {
@@ -277,27 +350,12 @@ class ComponentInteraction extends Interaction {
277
350
  get componentType() {
278
351
  return this.data.componentType;
279
352
  }
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
353
  }
299
354
  exports.ComponentInteraction = ComponentInteraction;
300
355
  class ButtonInteraction extends ComponentInteraction {
356
+ isButton() {
357
+ return true;
358
+ }
301
359
  }
302
360
  exports.ButtonInteraction = ButtonInteraction;
303
361
  class SelectMenuInteraction extends ComponentInteraction {
@@ -312,6 +370,9 @@ class SelectMenuInteraction extends ComponentInteraction {
312
370
  }
313
371
  exports.SelectMenuInteraction = SelectMenuInteraction;
314
372
  class StringSelectMenuInteraction extends SelectMenuInteraction {
373
+ isStringSelectMenu() {
374
+ return true;
375
+ }
315
376
  }
316
377
  exports.StringSelectMenuInteraction = StringSelectMenuInteraction;
317
378
  class ChannelSelectMenuInteraction extends SelectMenuInteraction {
@@ -321,7 +382,10 @@ class ChannelSelectMenuInteraction extends SelectMenuInteraction {
321
382
  super(client, interaction);
322
383
  this.__reply = __reply;
323
384
  const resolved = interaction.data.resolved;
324
- this.channels = this.values.map(x => (0, channels_1.default)(resolved.channels[x], this.client));
385
+ this.channels = this.values.map(x => (0, _1.channelFrom)(resolved.channels[x], this.client));
386
+ }
387
+ isChannelSelectMenu() {
388
+ return true;
325
389
  }
326
390
  }
327
391
  exports.ChannelSelectMenuInteraction = ChannelSelectMenuInteraction;
@@ -335,12 +399,15 @@ class MentionableSelectMenuInteraction extends SelectMenuInteraction {
335
399
  this.__reply = __reply;
336
400
  const resolved = interaction.data.resolved;
337
401
  this.roles = resolved.roles
338
- ? this.values.map(x => new GuildRole_1.GuildRole(this.client, resolved.roles[x], this.guildId))
402
+ ? this.values.map(x => transformers_1.Transformers.GuildRole(this.client, resolved.roles[x], this.guildId))
339
403
  : [];
340
404
  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))
405
+ ? this.values.map(x => transformers_1.Transformers.InteractionGuildMember(this.client, resolved.members[x], resolved.users[this.values.find(u => u === x)], this.guildId))
342
406
  : [];
343
- this.users = resolved.users ? this.values.map(x => new User_1.User(this.client, resolved.users[x])) : [];
407
+ this.users = resolved.users ? this.values.map(x => transformers_1.Transformers.User(this.client, resolved.users[x])) : [];
408
+ }
409
+ isMentionableSelectMenu() {
410
+ return true;
344
411
  }
345
412
  }
346
413
  exports.MentionableSelectMenuInteraction = MentionableSelectMenuInteraction;
@@ -351,7 +418,10 @@ class RoleSelectMenuInteraction extends SelectMenuInteraction {
351
418
  super(client, interaction);
352
419
  this.__reply = __reply;
353
420
  const resolved = interaction.data.resolved;
354
- this.roles = this.values.map(x => new GuildRole_1.GuildRole(this.client, resolved.roles[x], this.guildId));
421
+ this.roles = this.values.map(x => transformers_1.Transformers.GuildRole(this.client, resolved.roles[x], this.guildId));
422
+ }
423
+ isRoleSelectMenu() {
424
+ return true;
355
425
  }
356
426
  }
357
427
  exports.RoleSelectMenuInteraction = RoleSelectMenuInteraction;
@@ -363,20 +433,32 @@ class UserSelectMenuInteraction extends SelectMenuInteraction {
363
433
  super(client, interaction);
364
434
  this.__reply = __reply;
365
435
  const resolved = interaction.data.resolved;
366
- this.users = this.values.map(x => new User_1.User(this.client, resolved.users[x]));
436
+ this.users = this.values.map(x => transformers_1.Transformers.User(this.client, resolved.users[x]));
367
437
  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))
438
+ ? this.values.map(x => transformers_1.Transformers.InteractionGuildMember(this.client, resolved.members[x], resolved.users[this.values.find(u => u === x)], this.guildId))
369
439
  : [];
370
440
  }
441
+ isUserSelectMenu() {
442
+ return true;
443
+ }
371
444
  }
372
445
  exports.UserSelectMenuInteraction = UserSelectMenuInteraction;
373
446
  class ChatInputCommandInteraction extends ApplicationCommandInteraction {
447
+ isChatInput() {
448
+ return true;
449
+ }
374
450
  }
375
451
  exports.ChatInputCommandInteraction = ChatInputCommandInteraction;
376
452
  class UserCommandInteraction extends ApplicationCommandInteraction {
453
+ isUser() {
454
+ return true;
455
+ }
377
456
  }
378
457
  exports.UserCommandInteraction = UserCommandInteraction;
379
458
  class MessageCommandInteraction extends ApplicationCommandInteraction {
459
+ isMessage() {
460
+ return true;
461
+ }
380
462
  }
381
463
  exports.MessageCommandInteraction = MessageCommandInteraction;
382
464
  let ModalSubmitInteraction = class ModalSubmitInteraction extends BaseInteraction {
@@ -399,8 +481,11 @@ let ModalSubmitInteraction = class ModalSubmitInteraction extends BaseInteractio
399
481
  throw new Error(`${customId} component doesn't have a value`);
400
482
  return value;
401
483
  }
484
+ isModal() {
485
+ return true;
486
+ }
402
487
  };
403
488
  exports.ModalSubmitInteraction = ModalSubmitInteraction;
404
489
  exports.ModalSubmitInteraction = ModalSubmitInteraction = __decorate([
405
- (0, ts_mixer_1.mix)(Interaction)
490
+ (0, mixer_1.mix)(Interaction)
406
491
  ], 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>;
@@ -65,10 +64,7 @@ export declare class InMessageEmbed {
65
64
  data: APIEmbed;
66
65
  constructor(data: APIEmbed);
67
66
  get title(): string | undefined;
68
- /**
69
- * @deprecated
70
- */
71
- get type(): import("discord-api-types/v10").EmbedType | undefined;
67
+ get type(): import("../types").EmbedType | undefined;
72
68
  get description(): string | undefined;
73
69
  get url(): string | undefined;
74
70
  get timestamp(): string | undefined;
@@ -96,28 +92,28 @@ export declare class InMessageEmbed {
96
92
  height?: number | undefined;
97
93
  width?: number | undefined;
98
94
  } | undefined;
99
- get provider(): import("discord-api-types/v10").APIEmbedProvider | undefined;
95
+ get provider(): import("../types").APIEmbedProvider | undefined;
100
96
  get author(): {
101
97
  name: string;
102
98
  url?: string | undefined;
103
99
  iconUrl?: string | undefined;
104
100
  proxyIconUrl?: string | undefined;
105
101
  } | undefined;
106
- get fields(): import("discord-api-types/v10").APIEmbedField[] | undefined;
102
+ get fields(): import("../types").APIEmbedField[] | undefined;
107
103
  toBuilder(): Embed;
108
104
  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;
105
+ title?: string;
106
+ type?: import("../types").EmbedType;
107
+ description?: string;
108
+ url?: string;
109
+ timestamp?: string;
110
+ color?: number;
111
+ footer?: import("../types").APIEmbedFooter;
112
+ image?: import("../types").APIEmbedImage;
113
+ thumbnail?: import("../types").APIEmbedThumbnail;
114
+ video?: import("../types").APIEmbedVideo;
115
+ provider?: import("../types").APIEmbedProvider;
116
+ author?: import("../types").APIEmbedAuthor;
117
+ fields?: import("../types").APIEmbedField[];
122
118
  };
123
119
  }
@@ -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
  }
@@ -136,9 +135,6 @@ class InMessageEmbed {
136
135
  get title() {
137
136
  return this.data.title;
138
137
  }
139
- /**
140
- * @deprecated
141
- */
142
138
  get type() {
143
139
  return this.data.type;
144
140
  }