seyfert 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +22 -14
  3. package/lib/api/Router.js +5 -3
  4. package/lib/api/Routes/applications.d.ts +23 -1
  5. package/lib/api/Routes/channels.d.ts +1 -1
  6. package/lib/api/Routes/gateway.d.ts +1 -1
  7. package/lib/api/Routes/guilds.d.ts +8 -2
  8. package/lib/api/Routes/interactions.d.ts +1 -1
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/stage-instances.d.ts +1 -1
  11. package/lib/api/Routes/stickers.d.ts +2 -2
  12. package/lib/api/Routes/users.d.ts +1 -1
  13. package/lib/api/Routes/voice.d.ts +1 -1
  14. package/lib/api/Routes/webhooks.d.ts +2 -2
  15. package/lib/api/api.d.ts +2 -2
  16. package/lib/api/api.js +2 -14
  17. package/lib/api/bucket.d.ts +0 -1
  18. package/lib/api/shared.d.ts +0 -1
  19. package/lib/api/utils/constants.d.ts +2 -5
  20. package/lib/api/utils/constants.js +3 -7
  21. package/lib/api/utils/utils.d.ts +1 -2
  22. package/lib/api/utils/utils.js +2 -3
  23. package/lib/builders/ActionRow.d.ts +1 -1
  24. package/lib/builders/ActionRow.js +3 -3
  25. package/lib/builders/Attachment.d.ts +2 -3
  26. package/lib/builders/Attachment.js +12 -13
  27. package/lib/builders/Base.d.ts +2 -2
  28. package/lib/builders/Base.js +1 -1
  29. package/lib/builders/Button.d.ts +7 -7
  30. package/lib/builders/Button.js +11 -9
  31. package/lib/builders/Embed.d.ts +1 -1
  32. package/lib/builders/Modal.d.ts +1 -1
  33. package/lib/builders/Modal.js +2 -2
  34. package/lib/builders/Poll.d.ts +2 -2
  35. package/lib/builders/Poll.js +5 -6
  36. package/lib/builders/SelectMenu.d.ts +1 -1
  37. package/lib/builders/SelectMenu.js +17 -18
  38. package/lib/builders/index.d.ts +1 -1
  39. package/lib/builders/index.js +10 -11
  40. package/lib/cache/adapters/default.d.ts +16 -9
  41. package/lib/cache/adapters/default.js +42 -31
  42. package/lib/cache/adapters/index.d.ts +0 -1
  43. package/lib/cache/adapters/index.js +0 -1
  44. package/lib/cache/adapters/limited.d.ts +17 -12
  45. package/lib/cache/adapters/limited.js +80 -36
  46. package/lib/cache/adapters/types.d.ts +6 -7
  47. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  48. package/lib/cache/adapters/workeradapter.js +13 -0
  49. package/lib/cache/index.d.ts +24 -11
  50. package/lib/cache/index.js +335 -19
  51. package/lib/cache/resources/bans.d.ts +15 -0
  52. package/lib/cache/resources/bans.js +44 -0
  53. package/lib/cache/resources/channels.d.ts +6 -4
  54. package/lib/cache/resources/channels.js +13 -7
  55. package/lib/cache/resources/default/base.d.ts +7 -7
  56. package/lib/cache/resources/default/base.js +2 -2
  57. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  58. package/lib/cache/resources/default/guild-based.js +6 -6
  59. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  60. package/lib/cache/resources/default/guild-related.js +10 -8
  61. package/lib/cache/resources/emojis.d.ts +15 -6
  62. package/lib/cache/resources/emojis.js +13 -4
  63. package/lib/cache/resources/guilds.d.ts +9 -6
  64. package/lib/cache/resources/guilds.js +27 -6
  65. package/lib/cache/resources/members.d.ts +9 -6
  66. package/lib/cache/resources/members.js +24 -8
  67. package/lib/cache/resources/messages.d.ts +11 -7
  68. package/lib/cache/resources/messages.js +25 -11
  69. package/lib/cache/resources/overwrites.d.ts +11 -2
  70. package/lib/cache/resources/overwrites.js +9 -0
  71. package/lib/cache/resources/presence.d.ts +3 -2
  72. package/lib/cache/resources/roles.d.ts +9 -6
  73. package/lib/cache/resources/roles.js +13 -4
  74. package/lib/cache/resources/stage-instances.d.ts +2 -2
  75. package/lib/cache/resources/stickers.d.ts +9 -6
  76. package/lib/cache/resources/stickers.js +13 -4
  77. package/lib/cache/resources/threads.d.ts +9 -6
  78. package/lib/cache/resources/threads.js +13 -4
  79. package/lib/cache/resources/users.d.ts +9 -6
  80. package/lib/cache/resources/users.js +13 -4
  81. package/lib/cache/resources/voice-states.d.ts +11 -8
  82. package/lib/cache/resources/voice-states.js +15 -4
  83. package/lib/client/base.d.ts +32 -20
  84. package/lib/client/base.js +51 -30
  85. package/lib/client/client.d.ts +12 -9
  86. package/lib/client/client.js +43 -49
  87. package/lib/client/collectors.d.ts +36 -0
  88. package/lib/client/collectors.js +110 -0
  89. package/lib/client/httpclient.d.ts +8 -13
  90. package/lib/client/httpclient.js +27 -218
  91. package/lib/client/index.d.ts +1 -0
  92. package/lib/client/index.js +1 -0
  93. package/lib/client/transformers.d.ts +68 -0
  94. package/lib/client/transformers.js +99 -0
  95. package/lib/client/types.d.ts +5 -0
  96. package/lib/client/types.js +2 -0
  97. package/lib/client/workerclient.d.ts +18 -15
  98. package/lib/client/workerclient.js +148 -110
  99. package/lib/collection.d.ts +2 -2
  100. package/lib/collection.js +2 -2
  101. package/lib/commands/applications/chat.d.ts +40 -38
  102. package/lib/commands/applications/chat.js +22 -12
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/menu.d.ts +9 -9
  106. package/lib/commands/applications/menu.js +5 -7
  107. package/lib/commands/applications/menucontext.d.ts +14 -13
  108. package/lib/commands/applications/menucontext.js +9 -9
  109. package/lib/commands/applications/options.d.ts +1 -1
  110. package/lib/commands/applications/options.js +20 -21
  111. package/lib/commands/applications/shared.d.ts +14 -0
  112. package/lib/commands/decorators.d.ts +47 -35
  113. package/lib/commands/decorators.js +19 -27
  114. package/lib/commands/handle.d.ts +64 -0
  115. package/lib/commands/handle.js +685 -0
  116. package/lib/commands/handler.d.ts +27 -18
  117. package/lib/commands/handler.js +296 -160
  118. package/lib/commands/optionresolver.d.ts +13 -13
  119. package/lib/commands/optionresolver.js +23 -28
  120. package/lib/common/bot/watcher.d.ts +4 -33
  121. package/lib/common/bot/watcher.js +0 -109
  122. package/lib/common/index.d.ts +2 -0
  123. package/lib/common/index.js +4 -1
  124. package/lib/common/it/colors.js +48 -49
  125. package/lib/common/it/formatter.d.ts +187 -0
  126. package/lib/common/it/formatter.js +226 -0
  127. package/lib/common/it/logger.d.ts +0 -1
  128. package/lib/common/it/logger.js +8 -8
  129. package/lib/common/it/utils.d.ts +15 -2
  130. package/lib/common/it/utils.js +80 -21
  131. package/lib/common/shorters/application.d.ts +56 -0
  132. package/lib/common/shorters/application.js +81 -0
  133. package/lib/common/shorters/bans.d.ts +42 -0
  134. package/lib/common/shorters/bans.js +78 -0
  135. package/lib/common/shorters/channels.d.ts +7 -6
  136. package/lib/common/shorters/channels.js +19 -15
  137. package/lib/common/shorters/emojis.d.ts +5 -6
  138. package/lib/common/shorters/emojis.js +8 -7
  139. package/lib/common/shorters/guilds.d.ts +18 -16
  140. package/lib/common/shorters/guilds.js +31 -26
  141. package/lib/common/shorters/interaction.d.ts +6 -6
  142. package/lib/common/shorters/interaction.js +12 -9
  143. package/lib/common/shorters/members.d.ts +29 -12
  144. package/lib/common/shorters/members.js +55 -16
  145. package/lib/common/shorters/messages.d.ts +7 -8
  146. package/lib/common/shorters/messages.js +10 -9
  147. package/lib/common/shorters/reactions.d.ts +3 -3
  148. package/lib/common/shorters/reactions.js +11 -11
  149. package/lib/common/shorters/roles.d.ts +9 -7
  150. package/lib/common/shorters/roles.js +26 -7
  151. package/lib/common/shorters/templates.d.ts +7 -8
  152. package/lib/common/shorters/templates.js +7 -7
  153. package/lib/common/shorters/threads.d.ts +6 -7
  154. package/lib/common/shorters/threads.js +6 -9
  155. package/lib/common/shorters/users.d.ts +4 -4
  156. package/lib/common/shorters/users.js +8 -4
  157. package/lib/common/shorters/webhook.d.ts +10 -10
  158. package/lib/common/shorters/webhook.js +12 -11
  159. package/lib/common/types/resolvables.d.ts +2 -2
  160. package/lib/common/types/util.d.ts +3 -1
  161. package/lib/common/types/write.d.ts +1 -1
  162. package/lib/components/ActionRow.d.ts +1 -1
  163. package/lib/components/BaseComponent.d.ts +1 -1
  164. package/lib/components/BaseComponent.js +1 -1
  165. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  166. package/lib/components/ButtonComponent.d.ts +17 -7
  167. package/lib/components/ButtonComponent.js +19 -2
  168. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  169. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  170. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  171. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  172. package/lib/components/TextInputComponent.d.ts +2 -2
  173. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  174. package/lib/components/componentcommand.d.ts +3 -2
  175. package/lib/components/componentcommand.js +4 -3
  176. package/lib/components/componentcontext.d.ts +11 -10
  177. package/lib/components/componentcontext.js +8 -8
  178. package/lib/components/handler.d.ts +16 -15
  179. package/lib/components/handler.js +101 -108
  180. package/lib/components/index.d.ts +3 -3
  181. package/lib/components/index.js +12 -10
  182. package/lib/components/modalcommand.d.ts +2 -1
  183. package/lib/components/modalcommand.js +1 -0
  184. package/lib/components/modalcontext.d.ts +13 -12
  185. package/lib/components/modalcontext.js +2 -2
  186. package/lib/deps/mixer.d.ts +8 -0
  187. package/lib/deps/mixer.js +66 -0
  188. package/lib/events/event.d.ts +4 -3
  189. package/lib/events/handler.d.ts +40 -15
  190. package/lib/events/handler.js +99 -21
  191. package/lib/events/hooks/application_command.d.ts +2 -2
  192. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  193. package/lib/events/hooks/auto_moderation.js +4 -4
  194. package/lib/events/hooks/channel.d.ts +2 -2
  195. package/lib/events/hooks/channel.js +4 -7
  196. package/lib/events/hooks/custom.d.ts +3 -3
  197. package/lib/events/hooks/dispatch.d.ts +3 -4
  198. package/lib/events/hooks/dispatch.js +2 -2
  199. package/lib/events/hooks/entitlement.d.ts +5 -37
  200. package/lib/events/hooks/entitlement.js +7 -7
  201. package/lib/events/hooks/guild.d.ts +126 -181
  202. package/lib/events/hooks/guild.js +13 -15
  203. package/lib/events/hooks/integration.d.ts +71 -15
  204. package/lib/events/hooks/integration.js +3 -3
  205. package/lib/events/hooks/interactions.d.ts +2 -2
  206. package/lib/events/hooks/invite.d.ts +18 -14
  207. package/lib/events/hooks/message.d.ts +72 -52
  208. package/lib/events/hooks/message.js +4 -8
  209. package/lib/events/hooks/presence.d.ts +21 -16
  210. package/lib/events/hooks/stage.d.ts +4 -4
  211. package/lib/events/hooks/thread.d.ts +140 -60
  212. package/lib/events/hooks/thread.js +4 -4
  213. package/lib/events/hooks/typing.d.ts +28 -5
  214. package/lib/events/hooks/typing.js +2 -2
  215. package/lib/events/hooks/user.d.ts +3 -3
  216. package/lib/events/hooks/user.js +2 -2
  217. package/lib/events/hooks/voice.d.ts +28 -3
  218. package/lib/events/hooks/voice.js +8 -4
  219. package/lib/events/hooks/webhook.d.ts +1 -1
  220. package/lib/index.d.ts +6 -15
  221. package/lib/index.js +8 -12
  222. package/lib/langs/handler.d.ts +14 -10
  223. package/lib/langs/handler.js +40 -9
  224. package/lib/structures/AutoModerationRule.d.ts +4 -4
  225. package/lib/structures/AutoModerationRule.js +1 -2
  226. package/lib/structures/ClientUser.d.ts +1 -1
  227. package/lib/structures/Entitlement.d.ts +10 -0
  228. package/lib/structures/Entitlement.js +16 -0
  229. package/lib/structures/Guild.d.ts +37 -30
  230. package/lib/structures/Guild.js +7 -2
  231. package/lib/structures/GuildBan.d.ts +25 -0
  232. package/lib/structures/GuildBan.js +37 -0
  233. package/lib/structures/GuildEmoji.d.ts +4 -4
  234. package/lib/structures/GuildEmoji.js +3 -2
  235. package/lib/structures/GuildMember.d.ts +27 -19
  236. package/lib/structures/GuildMember.js +21 -11
  237. package/lib/structures/GuildPreview.d.ts +1 -1
  238. package/lib/structures/GuildRole.d.ts +5 -3
  239. package/lib/structures/GuildRole.js +8 -1
  240. package/lib/structures/GuildTemplate.d.ts +2 -2
  241. package/lib/structures/GuildTemplate.js +1 -1
  242. package/lib/structures/Interaction.d.ts +56 -38
  243. package/lib/structures/Interaction.js +134 -86
  244. package/lib/structures/Message.d.ts +80 -20
  245. package/lib/structures/Message.js +67 -26
  246. package/lib/structures/Poll.d.ts +4 -3
  247. package/lib/structures/Poll.js +6 -2
  248. package/lib/structures/Sticker.d.ts +10 -10
  249. package/lib/structures/Sticker.js +7 -7
  250. package/lib/structures/User.d.ts +6 -4
  251. package/lib/structures/User.js +6 -2
  252. package/lib/structures/VoiceState.d.ts +15 -11
  253. package/lib/structures/VoiceState.js +35 -17
  254. package/lib/structures/Webhook.d.ts +6 -7
  255. package/lib/structures/Webhook.js +6 -7
  256. package/lib/structures/channels.d.ts +14 -10
  257. package/lib/structures/channels.js +97 -62
  258. package/lib/structures/extra/BaseGuild.d.ts +1 -1
  259. package/lib/structures/extra/BaseGuild.js +3 -3
  260. package/lib/structures/extra/BitField.d.ts +1 -1
  261. package/lib/structures/extra/BitField.js +3 -2
  262. package/lib/structures/extra/DiscordBase.js +2 -2
  263. package/lib/structures/extra/Permissions.d.ts +3 -1
  264. package/lib/structures/extra/Permissions.js +8 -3
  265. package/lib/types/gateway.d.ts +1537 -0
  266. package/lib/types/gateway.js +4 -0
  267. package/lib/types/index.d.ts +9 -1
  268. package/lib/types/index.js +28 -1
  269. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  270. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  271. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  272. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  273. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  303. package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
  304. package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
  305. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  306. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  307. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  308. package/lib/types/payloads/_interactions/base.js +2 -0
  309. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  310. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  311. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  312. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  313. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  314. package/lib/types/payloads/_interactions/ping.js +2 -0
  315. package/lib/types/payloads/_interactions/responses.d.ts +112 -0
  316. package/lib/types/payloads/_interactions/responses.js +54 -0
  317. package/lib/types/payloads/application.d.ts +292 -0
  318. package/lib/types/payloads/application.js +117 -0
  319. package/lib/types/payloads/auditLog.d.ts +644 -0
  320. package/lib/types/payloads/auditLog.js +80 -0
  321. package/lib/types/payloads/autoModeration.d.ts +219 -0
  322. package/lib/types/payloads/autoModeration.js +87 -0
  323. package/lib/types/payloads/channel.d.ts +1708 -0
  324. package/lib/types/payloads/channel.js +372 -0
  325. package/lib/types/payloads/emoji.d.ts +48 -0
  326. package/lib/types/payloads/emoji.js +5 -0
  327. package/lib/types/payloads/gateway.d.ts +373 -0
  328. package/lib/types/payloads/gateway.js +82 -0
  329. package/lib/types/payloads/guild.d.ts +1060 -0
  330. package/lib/types/payloads/guild.js +324 -0
  331. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  332. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  333. package/lib/types/payloads/index.d.ts +64 -0
  334. package/lib/types/payloads/index.js +37 -0
  335. package/lib/types/payloads/interactions.d.ts +24 -0
  336. package/lib/types/payloads/interactions.js +23 -0
  337. package/lib/types/payloads/invite.d.ts +121 -0
  338. package/lib/types/payloads/invite.js +23 -0
  339. package/lib/types/payloads/monetization.d.ts +150 -0
  340. package/lib/types/payloads/monetization.js +79 -0
  341. package/lib/types/payloads/oauth2.d.ts +131 -0
  342. package/lib/types/payloads/oauth2.js +135 -0
  343. package/lib/types/payloads/permissions.d.ts +97 -0
  344. package/lib/types/payloads/permissions.js +16 -0
  345. package/lib/types/payloads/poll.d.ts +104 -0
  346. package/lib/types/payloads/poll.js +16 -0
  347. package/lib/types/payloads/stageInstance.d.ts +77 -0
  348. package/lib/types/payloads/stageInstance.js +19 -0
  349. package/lib/types/payloads/sticker.d.ts +123 -0
  350. package/lib/types/payloads/sticker.js +30 -0
  351. package/lib/types/payloads/teams.d.ts +78 -0
  352. package/lib/types/payloads/teams.js +23 -0
  353. package/lib/types/payloads/template.d.ts +62 -0
  354. package/lib/types/payloads/template.js +5 -0
  355. package/lib/types/payloads/user.d.ts +337 -0
  356. package/lib/types/payloads/user.js +167 -0
  357. package/lib/types/payloads/voice.d.ts +89 -0
  358. package/lib/types/payloads/voice.js +5 -0
  359. package/lib/types/payloads/webhook.d.ts +76 -0
  360. package/lib/types/payloads/webhook.js +21 -0
  361. package/lib/types/rest/application.d.ts +57 -0
  362. package/lib/types/rest/application.js +2 -0
  363. package/lib/types/rest/auditLog.d.ts +30 -0
  364. package/lib/types/rest/auditLog.js +2 -0
  365. package/lib/types/rest/autoModeration.d.ts +66 -0
  366. package/lib/types/rest/autoModeration.js +2 -0
  367. package/lib/types/rest/channel.d.ts +712 -0
  368. package/lib/types/rest/channel.js +11 -0
  369. package/lib/types/rest/emoji.d.ts +54 -0
  370. package/lib/types/rest/emoji.js +2 -0
  371. package/lib/types/rest/gateway.d.ts +9 -0
  372. package/lib/types/rest/gateway.js +2 -0
  373. package/lib/types/rest/guild.d.ts +865 -0
  374. package/lib/types/rest/guild.js +2 -0
  375. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  376. package/lib/types/rest/guildScheduledEvent.js +2 -0
  377. package/lib/types/rest/index.d.ts +296 -0
  378. package/lib/types/rest/index.js +292 -0
  379. package/lib/types/rest/interactions.d.ts +194 -0
  380. package/lib/types/rest/interactions.js +2 -0
  381. package/lib/types/rest/invite.d.ts +24 -0
  382. package/lib/types/rest/invite.js +2 -0
  383. package/lib/types/rest/monetization.d.ts +82 -0
  384. package/lib/types/rest/monetization.js +11 -0
  385. package/lib/types/rest/oauth2.d.ts +172 -0
  386. package/lib/types/rest/oauth2.js +2 -0
  387. package/lib/types/rest/poll.d.ts +44 -0
  388. package/lib/types/rest/poll.js +2 -0
  389. package/lib/types/rest/stageInstance.d.ts +58 -0
  390. package/lib/types/rest/stageInstance.js +2 -0
  391. package/lib/types/rest/sticker.d.ts +77 -0
  392. package/lib/types/rest/sticker.js +2 -0
  393. package/lib/types/rest/template.d.ts +62 -0
  394. package/lib/types/rest/template.js +2 -0
  395. package/lib/types/rest/user.d.ts +120 -0
  396. package/lib/types/rest/user.js +2 -0
  397. package/lib/types/rest/voice.d.ts +17 -0
  398. package/lib/types/rest/voice.js +2 -0
  399. package/lib/types/rest/webhook.d.ts +250 -0
  400. package/lib/types/rest/webhook.js +2 -0
  401. package/lib/types/utils/index.d.ts +797 -0
  402. package/lib/types/utils/index.js +799 -0
  403. package/lib/websocket/SharedTypes.d.ts +4 -3
  404. package/lib/websocket/SharedTypes.js +1 -1
  405. package/lib/websocket/constants/index.d.ts +0 -1
  406. package/lib/websocket/discord/basesocket.d.ts +7 -6
  407. package/lib/websocket/discord/basesocket.js +35 -6
  408. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  409. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  410. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  411. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  412. package/lib/websocket/discord/shard.d.ts +9 -8
  413. package/lib/websocket/discord/shard.js +65 -47
  414. package/lib/websocket/discord/sharder.d.ts +6 -5
  415. package/lib/websocket/discord/sharder.js +11 -10
  416. package/lib/websocket/discord/shared.d.ts +13 -5
  417. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  418. package/lib/websocket/discord/socket/custom.js +283 -0
  419. package/lib/websocket/discord/worker.d.ts +5 -10
  420. package/lib/websocket/discord/workermanager.d.ts +8 -15
  421. package/lib/websocket/discord/workermanager.js +35 -39
  422. package/lib/websocket/structures/index.d.ts +0 -1
  423. package/lib/websocket/structures/index.js +1 -1
  424. package/lib/websocket/structures/timeout.d.ts +0 -1
  425. package/package.json +65 -74
  426. package/lib/cache/adapters/redis.d.ts +0 -37
  427. package/lib/cache/adapters/redis.js +0 -218
  428. package/lib/client/oninteractioncreate.d.ts +0 -4
  429. package/lib/client/oninteractioncreate.js +0 -198
  430. package/lib/client/onmessagecreate.d.ts +0 -3
  431. package/lib/client/onmessagecreate.js +0 -395
  432. package/lib/structures/extra/functions.d.ts +0 -12
  433. package/lib/structures/extra/functions.js +0 -70
@@ -1,21 +1,22 @@
1
- import { ApplicationCommandOptionType, ApplicationCommandType, type APIApplicationCommandBasicOption, type APIApplicationCommandOption, type LocaleString } from 'discord-api-types/v10';
1
+ import { ApplicationCommandOptionType, ApplicationCommandType, type ApplicationIntegrationType, type InteractionContextType, type APIApplicationCommandBasicOption, type APIApplicationCommandOption, type LocaleString } from '../../types';
2
2
  import type { PermissionStrings, SeyfertNumberOption, SeyfertStringOption } from '../..';
3
3
  import type { Attachment } from '../../builders';
4
- import { type FlatObjectKeys } from '../../common';
5
- import type { AllChannels, AutocompleteInteraction, GuildRole, InteractionGuildMember, User } from '../../structures';
6
- import type { Groups, IntegrationTypes, InteractionContextTypes, RegisteredMiddlewares } from '../decorators';
4
+ import { type Awaitable, type FlatObjectKeys } from '../../common';
5
+ import type { AllChannels, AutocompleteInteraction } from '../../structures';
6
+ import type { Groups, RegisteredMiddlewares } from '../decorators';
7
7
  import type { CommandContext } from './chatcontext';
8
- import type { DefaultLocale, IgnoreCommand, OKFunction, OnOptionsReturnObject, StopFunction, UsingClient } from './shared';
8
+ import type { DefaultLocale, ExtraProps, IgnoreCommand, OKFunction, OnOptionsReturnObject, StopFunction, UsingClient } from './shared';
9
+ import type { GuildRoleStructure, InteractionGuildMemberStructure, UserStructure } from '../../client/transformers';
9
10
  export interface ReturnOptionsTypes {
10
11
  1: never;
11
12
  2: never;
12
13
  3: string;
13
14
  4: number;
14
15
  5: boolean;
15
- 6: InteractionGuildMember | User;
16
+ 6: InteractionGuildMemberStructure | UserStructure;
16
17
  7: AllChannels;
17
- 8: GuildRole;
18
- 9: GuildRole | AllChannels | User;
18
+ 8: GuildRoleStructure;
19
+ 9: GuildRoleStructure | AllChannels | UserStructure;
19
20
  10: number;
20
21
  11: Attachment;
21
22
  }
@@ -24,7 +25,7 @@ type Wrap<N extends ApplicationCommandOptionType> = N extends ApplicationCommand
24
25
  value?(data: {
25
26
  context: CommandContext;
26
27
  value: ReturnOptionsTypes[N];
27
- }, ok: OKFunction<any>, fail: StopFunction): void;
28
+ }, ok: OKFunction<any>, fail: StopFunction): Awaitable<void>;
28
29
  } & {
29
30
  description: string;
30
31
  description_localizations?: APIApplicationCommandBasicOption['description_localizations'];
@@ -78,25 +79,26 @@ export declare class BaseCommand {
78
79
  nsfw?: boolean;
79
80
  description: string;
80
81
  defaultMemberPermissions?: bigint;
81
- integrationTypes?: IntegrationTypes[];
82
- contexts?: InteractionContextTypes[];
82
+ integrationTypes: ApplicationIntegrationType[];
83
+ contexts: InteractionContextType[];
83
84
  botPermissions?: bigint;
84
85
  name_localizations?: Partial<Record<LocaleString, string>>;
85
86
  description_localizations?: Partial<Record<LocaleString, string>>;
86
87
  options?: CommandOption[] | SubCommand[];
87
88
  ignore?: IgnoreCommand;
88
89
  aliases?: string[];
90
+ props: ExtraProps;
89
91
  toJSON(): {
90
- name: BaseCommand['name'];
91
- type: BaseCommand['type'];
92
- nsfw: BaseCommand['nsfw'];
93
- description: BaseCommand['description'];
94
- name_localizations: BaseCommand['name_localizations'];
95
- description_localizations: BaseCommand['description_localizations'];
96
- guild_id: BaseCommand['guildId'];
92
+ name: BaseCommand["name"];
93
+ type: BaseCommand["type"];
94
+ nsfw: BaseCommand["nsfw"];
95
+ description: BaseCommand["description"];
96
+ name_localizations: BaseCommand["name_localizations"];
97
+ description_localizations: BaseCommand["description_localizations"];
98
+ guild_id: BaseCommand["guildId"];
97
99
  default_member_permissions: string;
98
- contexts: BaseCommand['contexts'];
99
- integration_types: BaseCommand['integrationTypes'];
100
+ contexts: BaseCommand["contexts"];
101
+ integration_types: BaseCommand["integrationTypes"];
100
102
  };
101
103
  reload(): Promise<void>;
102
104
  run?(context: CommandContext): any;
@@ -119,16 +121,16 @@ export declare class Command extends BaseCommand {
119
121
  }>;
120
122
  toJSON(): {
121
123
  options: APIApplicationCommandOption[];
122
- name: string;
123
- type: number;
124
- nsfw: boolean | undefined;
125
- description: string;
126
- name_localizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>> | undefined;
127
- description_localizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>> | undefined;
128
- guild_id: string[] | undefined;
124
+ name: BaseCommand["name"];
125
+ type: BaseCommand["type"];
126
+ nsfw: BaseCommand["nsfw"];
127
+ description: BaseCommand["description"];
128
+ name_localizations: BaseCommand["name_localizations"];
129
+ description_localizations: BaseCommand["description_localizations"];
130
+ guild_id: BaseCommand["guildId"];
129
131
  default_member_permissions: string;
130
- contexts: InteractionContextTypes[] | undefined;
131
- integration_types: IntegrationTypes[] | undefined;
132
+ contexts: BaseCommand["contexts"];
133
+ integration_types: BaseCommand["integrationTypes"];
132
134
  };
133
135
  }
134
136
  export declare abstract class SubCommand extends BaseCommand {
@@ -137,16 +139,16 @@ export declare abstract class SubCommand extends BaseCommand {
137
139
  options?: CommandOption[];
138
140
  toJSON(): {
139
141
  options: APIApplicationCommandBasicOption[];
140
- name: string;
141
- type: number;
142
- nsfw: boolean | undefined;
143
- description: string;
144
- name_localizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>> | undefined;
145
- description_localizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>> | undefined;
146
- guild_id: string[] | undefined;
142
+ name: BaseCommand["name"];
143
+ type: BaseCommand["type"];
144
+ nsfw: BaseCommand["nsfw"];
145
+ description: BaseCommand["description"];
146
+ name_localizations: BaseCommand["name_localizations"];
147
+ description_localizations: BaseCommand["description_localizations"];
148
+ guild_id: BaseCommand["guildId"];
147
149
  default_member_permissions: string;
148
- contexts: InteractionContextTypes[] | undefined;
149
- integration_types: IntegrationTypes[] | undefined;
150
+ contexts: BaseCommand["contexts"];
151
+ integration_types: BaseCommand["integrationTypes"];
150
152
  };
151
153
  abstract run(context: CommandContext<any>): any;
152
154
  }
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SubCommand = exports.Command = exports.BaseCommand = void 0;
4
- const v10_1 = require("discord-api-types/v10");
4
+ const types_1 = require("../../types");
5
5
  const common_1 = require("../../common");
6
+ const node_util_1 = require("node:util");
6
7
  class BaseCommand {
7
8
  middlewares = [];
8
9
  __filePath;
@@ -14,14 +15,15 @@ class BaseCommand {
14
15
  nsfw;
15
16
  description;
16
17
  defaultMemberPermissions;
17
- integrationTypes;
18
- contexts;
18
+ integrationTypes = [];
19
+ contexts = [];
19
20
  botPermissions;
20
21
  name_localizations;
21
22
  description_localizations;
22
23
  options;
23
24
  ignore;
24
25
  aliases;
26
+ props = {};
25
27
  /** @internal */
26
28
  async __runOptions(ctx, resolver) {
27
29
  if (!this?.options?.length) {
@@ -33,8 +35,15 @@ class BaseCommand {
33
35
  try {
34
36
  const option = this.options.find(x => x.name === i.name);
35
37
  const value = resolver.getHoisted(i.name)?.value !== undefined
36
- ? await new Promise((res, rej) => option.value?.({ context: ctx, value: resolver.getValue(i.name) }, res, rej) ||
37
- res(resolver.getValue(i.name)))
38
+ ? await new Promise(async (res, rej) => {
39
+ try {
40
+ (await option.value?.({ context: ctx, value: resolver.getValue(i.name) }, res, rej)) ||
41
+ res(resolver.getValue(i.name));
42
+ }
43
+ catch (e) {
44
+ rej(e);
45
+ }
46
+ })
38
47
  : undefined;
39
48
  if (value === undefined) {
40
49
  if (option.required) {
@@ -42,6 +51,7 @@ class BaseCommand {
42
51
  data[i.name] = {
43
52
  failed: true,
44
53
  value: `${i.name} is required but returned no value`,
54
+ parseError: undefined,
45
55
  };
46
56
  continue;
47
57
  }
@@ -57,7 +67,8 @@ class BaseCommand {
57
67
  errored = true;
58
68
  data[i.name] = {
59
69
  failed: true,
60
- value: e instanceof Error ? e.message : `${e}`,
70
+ value: e instanceof Error ? e.message : typeof e === 'string' ? e : (0, node_util_1.inspect)(e),
71
+ parseError: undefined,
61
72
  };
62
73
  }
63
74
  }
@@ -82,7 +93,6 @@ class BaseCommand {
82
93
  if (!running) {
83
94
  return;
84
95
  }
85
- // biome-ignore lint/style/noArguments: yes
86
96
  if (arguments.length) {
87
97
  // @ts-expect-error
88
98
  context[global ? 'globalMetadata' : 'metadata'][middlewares[index]] = obj;
@@ -115,7 +125,7 @@ class BaseCommand {
115
125
  const data = {
116
126
  name: this.name,
117
127
  type: this.type,
118
- nsfw: this.nsfw || false,
128
+ nsfw: !!this.nsfw,
119
129
  description: this.description,
120
130
  name_localizations: this.name_localizations,
121
131
  description_localizations: this.description_localizations,
@@ -139,7 +149,7 @@ class BaseCommand {
139
149
  }
140
150
  exports.BaseCommand = BaseCommand;
141
151
  class Command extends BaseCommand {
142
- type = v10_1.ApplicationCommandType.ChatInput;
152
+ type = types_1.ApplicationCommandType.ChatInput;
143
153
  groups;
144
154
  groupsAliases;
145
155
  __tGroups;
@@ -153,7 +163,7 @@ class Command extends BaseCommand {
153
163
  if (i.group) {
154
164
  if (!options.find(x => x.name === i.group)) {
155
165
  options.push({
156
- type: v10_1.ApplicationCommandOptionType.SubcommandGroup,
166
+ type: types_1.ApplicationCommandOptionType.SubcommandGroup,
157
167
  name: i.group,
158
168
  description: this.groups[i.group].defaultDescription,
159
169
  description_localizations: Object.fromEntries(this.groups?.[i.group].description ?? []),
@@ -175,12 +185,12 @@ class Command extends BaseCommand {
175
185
  }
176
186
  exports.Command = Command;
177
187
  class SubCommand extends BaseCommand {
178
- type = v10_1.ApplicationCommandOptionType.Subcommand;
188
+ type = types_1.ApplicationCommandOptionType.Subcommand;
179
189
  group;
180
190
  toJSON() {
181
191
  return {
182
192
  ...super.toJSON(),
183
- options: (this.options ?? []).map(x => ({ ...x, autocomplete: 'autocomplete' in x })),
193
+ options: this.options?.map(x => ({ ...x, autocomplete: 'autocomplete' in x })) ?? [],
184
194
  };
185
195
  }
186
196
  }
@@ -1,46 +1,46 @@
1
- import type { AllChannels, Guild, InferWithPrefix, ReturnCache, WebhookMessage } from '../..';
1
+ import type { AllChannels, InferWithPrefix, Message, ReturnCache } from '../..';
2
2
  import type { If, UnionToTuple, When } from '../../common';
3
3
  import type { InteractionCreateBodyRequest, InteractionMessageUpdateBodyRequest } from '../../common/types/write';
4
- import { Message, type ChatInputCommandInteraction, type GuildMember, type InteractionGuildMember } from '../../structures';
4
+ import { ChatInputCommandInteraction } from '../../structures';
5
5
  import { BaseContext } from '../basecontext';
6
6
  import type { RegisteredMiddlewares } from '../decorators';
7
- import type { OptionResolver } from '../optionresolver';
8
7
  import type { Command, ContextOptions, OptionsRecord, SubCommand } from './chat';
9
8
  import type { CommandMetadata, ExtendContext, GlobalMetadata, UsingClient } from './shared';
9
+ import type { GuildMemberStructure, GuildStructure, InteractionGuildMemberStructure, MessageStructure, OptionResolverStructure, WebhookMessageStructure } from '../../client/transformers';
10
10
  export interface CommandContext<T extends OptionsRecord = {}, M extends keyof RegisteredMiddlewares = never> extends BaseContext, ExtendContext {
11
11
  }
12
12
  export declare class CommandContext<T extends OptionsRecord = {}, M extends keyof RegisteredMiddlewares = never> extends BaseContext {
13
13
  readonly client: UsingClient;
14
- readonly resolver: OptionResolver;
14
+ readonly resolver: OptionResolverStructure;
15
15
  readonly shardId: number;
16
16
  readonly command: Command | SubCommand;
17
- message: If<InferWithPrefix, Message | undefined, undefined>;
17
+ message: If<InferWithPrefix, MessageStructure | undefined, undefined>;
18
18
  interaction: If<InferWithPrefix, ChatInputCommandInteraction | undefined, ChatInputCommandInteraction>;
19
- messageResponse?: If<InferWithPrefix, Message | undefined>;
20
- constructor(client: UsingClient, data: ChatInputCommandInteraction | Message, resolver: OptionResolver, shardId: number, command: Command | SubCommand);
19
+ messageResponse?: If<InferWithPrefix, MessageStructure | undefined>;
20
+ constructor(client: UsingClient, data: ChatInputCommandInteraction | MessageStructure, resolver: OptionResolverStructure, shardId: number, command: Command | SubCommand);
21
21
  options: ContextOptions<T>;
22
22
  metadata: CommandMetadata<UnionToTuple<M>>;
23
23
  globalMetadata: GlobalMetadata;
24
24
  get proxy(): import("../..").APIRoutes;
25
25
  get t(): import("../..").__InternalParseLocale<import("./shared").DefaultLocale> & {
26
- get(locale?: string | undefined): import("./shared").DefaultLocale;
26
+ get(locale?: string): import("./shared").DefaultLocale;
27
27
  };
28
28
  get fullCommandName(): string;
29
- write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage | Message, void | WebhookMessage | Message>>;
29
+ write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessageStructure | MessageStructure, void | WebhookMessageStructure | MessageStructure>>;
30
30
  deferReply(ephemeral?: boolean): Promise<void | Message>;
31
- editResponse(body: InteractionMessageUpdateBodyRequest): Promise<Message | WebhookMessage>;
31
+ editResponse(body: InteractionMessageUpdateBodyRequest): Promise<Message | import("../..").WebhookMessage>;
32
32
  deleteResponse(): Promise<void>;
33
- editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage | Message, void | WebhookMessage | Message>>;
34
- fetchResponse(): Promise<If<InferWithPrefix, WebhookMessage | Message | undefined, WebhookMessage | undefined>>;
33
+ editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessageStructure | MessageStructure, void | WebhookMessageStructure | MessageStructure>>;
34
+ fetchResponse(): Promise<If<InferWithPrefix, WebhookMessageStructure | MessageStructure | undefined, WebhookMessageStructure | undefined>>;
35
35
  channel(mode?: 'rest' | 'flow'): Promise<If<InferWithPrefix, AllChannels | undefined, AllChannels>>;
36
36
  channel(mode?: 'cache'): ReturnCache<If<InferWithPrefix, AllChannels | undefined, AllChannels>>;
37
- me(mode?: 'rest' | 'flow'): Promise<GuildMember>;
38
- me(mode?: 'cache'): ReturnCache<GuildMember | undefined>;
39
- guild(mode?: 'rest' | 'flow'): Promise<Guild<'cached' | 'api'> | undefined>;
40
- guild(mode?: 'cache'): ReturnCache<Guild<'cached'> | undefined>;
37
+ me(mode?: 'rest' | 'flow'): Promise<GuildMemberStructure>;
38
+ me(mode?: 'cache'): ReturnCache<GuildMemberStructure | undefined>;
39
+ guild(mode?: 'rest' | 'flow'): Promise<GuildStructure<'cached' | 'api'> | undefined>;
40
+ guild(mode?: 'cache'): ReturnCache<GuildStructure<'cached'> | undefined>;
41
41
  get guildId(): string | undefined;
42
42
  get channelId(): string;
43
43
  get author(): import("../..").User;
44
- get member(): If<InferWithPrefix, GuildMember | InteractionGuildMember | undefined, InteractionGuildMember | undefined>;
44
+ get member(): If<InferWithPrefix, GuildMemberStructure | InteractionGuildMemberStructure | undefined, InteractionGuildMemberStructure | undefined>;
45
45
  isChat(): this is CommandContext;
46
46
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommandContext = void 0;
4
- const v10_1 = require("discord-api-types/v10");
4
+ const types_1 = require("../../types");
5
5
  const structures_1 = require("../../structures");
6
6
  const basecontext_1 = require("../basecontext");
7
7
  class CommandContext extends basecontext_1.BaseContext {
@@ -18,11 +18,11 @@ class CommandContext extends basecontext_1.BaseContext {
18
18
  this.resolver = resolver;
19
19
  this.shardId = shardId;
20
20
  this.command = command;
21
- if (data instanceof structures_1.Message) {
22
- this.message = data;
21
+ if (data instanceof structures_1.ChatInputCommandInteraction) {
22
+ this.interaction = data;
23
23
  }
24
24
  else {
25
- this.interaction = data;
25
+ this.message = data;
26
26
  }
27
27
  }
28
28
  options = {};
@@ -45,7 +45,7 @@ class CommandContext extends basecontext_1.BaseContext {
45
45
  }
46
46
  async deferReply(ephemeral = false) {
47
47
  if (this.interaction)
48
- return this.interaction.deferReply(ephemeral ? v10_1.MessageFlags.Ephemeral : undefined);
48
+ return this.interaction.deferReply(ephemeral ? types_1.MessageFlags.Ephemeral : undefined);
49
49
  const options = this.client.options?.commands;
50
50
  return (this.messageResponse = await this.message[options?.reply?.(this) ? 'reply' : 'write'](options?.deferReplyResponse?.(this) ?? { content: 'Thinking...' }));
51
51
  }
@@ -1,8 +1,8 @@
1
- import type { ApplicationCommandType, LocaleString } from 'discord-api-types/v10';
1
+ import type { ApplicationCommandType, ApplicationIntegrationType, InteractionContextType, LocaleString } from '../../types';
2
2
  import { type PermissionStrings } from '../../common';
3
- import type { IntegrationTypes, InteractionContextTypes, RegisteredMiddlewares } from '../decorators';
3
+ import type { RegisteredMiddlewares } from '../decorators';
4
4
  import type { MenuCommandContext } from './menucontext';
5
- import type { UsingClient } from './shared';
5
+ import type { ExtraProps, UsingClient } from './shared';
6
6
  export declare abstract class ContextMenuCommand {
7
7
  middlewares: (keyof RegisteredMiddlewares)[];
8
8
  __filePath?: string;
@@ -14,14 +14,15 @@ export declare abstract class ContextMenuCommand {
14
14
  name: string;
15
15
  type: ApplicationCommandType.User | ApplicationCommandType.Message;
16
16
  nsfw?: boolean;
17
- integrationTypes?: IntegrationTypes[];
18
- contexts?: InteractionContextTypes[];
17
+ integrationTypes: ApplicationIntegrationType[];
18
+ contexts: InteractionContextType[];
19
19
  description: string;
20
20
  defaultMemberPermissions?: bigint;
21
21
  botPermissions?: bigint;
22
22
  dm?: boolean;
23
23
  name_localizations?: Partial<Record<LocaleString, string>>;
24
24
  description_localizations?: Partial<Record<LocaleString, string>>;
25
+ props: ExtraProps;
25
26
  toJSON(): {
26
27
  name: string;
27
28
  type: ApplicationCommandType.User | ApplicationCommandType.Message;
@@ -32,8 +33,8 @@ export declare abstract class ContextMenuCommand {
32
33
  guild_id: string[] | undefined;
33
34
  dm_permission: boolean | undefined;
34
35
  default_member_permissions: string | undefined;
35
- contexts: InteractionContextTypes[] | undefined;
36
- integration_types: IntegrationTypes[] | undefined;
36
+ contexts: InteractionContextType[];
37
+ integration_types: ApplicationIntegrationType[];
37
38
  };
38
39
  reload(): Promise<void>;
39
40
  abstract run?(context: MenuCommandContext<any>): any;
@@ -41,6 +42,5 @@ export declare abstract class ContextMenuCommand {
41
42
  onRunError(context: MenuCommandContext<any, never>, error: unknown): any;
42
43
  onMiddlewaresError(context: MenuCommandContext<any, never>, error: string): any;
43
44
  onBotPermissionsFail(context: MenuCommandContext<any, never>, permissions: PermissionStrings): any;
44
- onPermissionsFail(context: MenuCommandContext<any, never>, permissions: PermissionStrings): any;
45
- onInternalError(client: UsingClient, error?: unknown): any;
45
+ onInternalError(client: UsingClient, command: ContextMenuCommand, error?: unknown): any;
46
46
  }
@@ -10,14 +10,15 @@ class ContextMenuCommand {
10
10
  name;
11
11
  type;
12
12
  nsfw;
13
- integrationTypes;
14
- contexts;
13
+ integrationTypes = [];
14
+ contexts = [];
15
15
  description;
16
16
  defaultMemberPermissions;
17
17
  botPermissions;
18
18
  dm;
19
19
  name_localizations;
20
20
  description_localizations;
21
+ props = {};
21
22
  toJSON() {
22
23
  return {
23
24
  name: this.name,
@@ -47,11 +48,8 @@ class ContextMenuCommand {
47
48
  onBotPermissionsFail(context, permissions) {
48
49
  context.client.logger.fatal(`${this.name}.<onBotPermissionsFail>`, context.author.id, permissions);
49
50
  }
50
- onPermissionsFail(context, permissions) {
51
- context.client.logger.fatal(`${this.name}.<onPermissionsFail>`, context.author.id, permissions);
52
- }
53
- onInternalError(client, error) {
54
- client.logger.fatal(error);
51
+ onInternalError(client, command, error) {
52
+ client.logger.fatal(command.name, error);
55
53
  }
56
54
  }
57
55
  exports.ContextMenuCommand = ContextMenuCommand;
@@ -1,10 +1,11 @@
1
- import type { ContextMenuCommand, ReturnCache, WebhookMessage } from '../..';
1
+ import type { ContextMenuCommand, ReturnCache } from '../..';
2
2
  import { type InteractionCreateBodyRequest, type InteractionMessageUpdateBodyRequest, type ModalCreateBodyRequest, type UnionToTuple, type When } from '../../common';
3
- import { Message, User, type AllChannels, type Guild, type GuildMember, type MessageCommandInteraction, type UserCommandInteraction } from '../../structures';
3
+ import type { AllChannels, MessageCommandInteraction, UserCommandInteraction } from '../../structures';
4
4
  import { BaseContext } from '../basecontext';
5
5
  import type { RegisteredMiddlewares } from '../decorators';
6
6
  import type { CommandMetadata, ExtendContext, GlobalMetadata, UsingClient } from './shared';
7
- export type InteractionTarget<T> = T extends MessageCommandInteraction ? Message : User;
7
+ import { type GuildMemberStructure, type GuildStructure, type MessageStructure, type UserStructure, type WebhookMessageStructure } from '../../client/transformers';
8
+ export type InteractionTarget<T> = T extends MessageCommandInteraction ? MessageStructure : UserStructure;
8
9
  export interface MenuCommandContext<T extends MessageCommandInteraction | UserCommandInteraction, M extends keyof RegisteredMiddlewares = never> extends BaseContext, ExtendContext {
9
10
  }
10
11
  export declare class MenuCommandContext<T extends MessageCommandInteraction | UserCommandInteraction, M extends keyof RegisteredMiddlewares = never> extends BaseContext {
@@ -17,25 +18,25 @@ export declare class MenuCommandContext<T extends MessageCommandInteraction | Us
17
18
  globalMetadata: GlobalMetadata;
18
19
  get target(): InteractionTarget<T>;
19
20
  get t(): import("../..").__InternalParseLocale<import("./shared").DefaultLocale> & {
20
- get(locale?: string | undefined): import("./shared").DefaultLocale;
21
+ get(locale?: string): import("./shared").DefaultLocale;
21
22
  };
22
23
  get fullCommandName(): string;
23
- write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage, void | WebhookMessage>>;
24
+ write<FR extends boolean = false>(body: InteractionCreateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessageStructure, void | WebhookMessageStructure>>;
24
25
  modal(body: ModalCreateBodyRequest): Promise<void>;
25
26
  deferReply(ephemeral?: boolean): Promise<void>;
26
- editResponse(body: InteractionMessageUpdateBodyRequest): Promise<WebhookMessage>;
27
+ editResponse(body: InteractionMessageUpdateBodyRequest): Promise<import("../..").WebhookMessage>;
27
28
  deleteResponse(): Promise<void | undefined>;
28
- editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessage | Message, void | WebhookMessage | Message>>;
29
- fetchResponse(): Promise<WebhookMessage | undefined>;
29
+ editOrReply<FR extends boolean = false>(body: InteractionCreateBodyRequest | InteractionMessageUpdateBodyRequest, fetchReply?: FR): Promise<When<FR, WebhookMessageStructure | MessageStructure, void | WebhookMessageStructure | MessageStructure>>;
30
+ fetchResponse(): Promise<import("../..").WebhookMessage | undefined>;
30
31
  channel(mode?: 'rest' | 'flow'): Promise<AllChannels>;
31
32
  channel(mode?: 'cache'): ReturnCache<AllChannels>;
32
- me(mode?: 'rest' | 'flow'): Promise<GuildMember>;
33
- me(mode?: 'cache'): ReturnCache<GuildMember | undefined>;
34
- guild(mode?: 'rest' | 'flow'): Promise<Guild<'cached' | 'api'> | undefined>;
35
- guild(mode?: 'cache'): ReturnCache<Guild<'cached'> | undefined>;
33
+ me(mode?: 'rest' | 'flow'): Promise<GuildMemberStructure>;
34
+ me(mode?: 'cache'): ReturnCache<GuildMemberStructure | undefined>;
35
+ guild(mode?: 'rest' | 'flow'): Promise<GuildStructure<'cached' | 'api'> | undefined>;
36
+ guild(mode?: 'cache'): ReturnCache<GuildStructure<'cached'> | undefined>;
36
37
  get guildId(): string | undefined;
37
38
  get channelId(): string;
38
- get author(): User;
39
+ get author(): import("../..").User;
39
40
  get member(): import("../..").InteractionGuildMember | undefined;
40
41
  isMenu(): this is MenuCommandContext<UserCommandInteraction | MessageCommandInteraction>;
41
42
  isMenuUser(): this is MenuCommandContext<UserCommandInteraction>;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MenuCommandContext = void 0;
4
- const v10_1 = require("discord-api-types/v10");
4
+ const types_1 = require("../../types");
5
5
  const common_1 = require("../../common");
6
- const structures_1 = require("../../structures");
7
6
  const basecontext_1 = require("../basecontext");
7
+ const transformers_1 = require("../../client/transformers");
8
8
  class MenuCommandContext extends basecontext_1.BaseContext {
9
9
  client;
10
10
  interaction;
@@ -22,13 +22,13 @@ class MenuCommandContext extends basecontext_1.BaseContext {
22
22
  // biome-ignore lint/suspicious/useGetterReturn: default don't exist.
23
23
  get target() {
24
24
  switch (this.interaction.data.type) {
25
- case v10_1.ApplicationCommandType.Message: {
25
+ case types_1.ApplicationCommandType.Message: {
26
26
  const data = this.interaction.data.resolved.messages[this.interaction.data.targetId];
27
- return new structures_1.Message(this.client, (0, common_1.toSnakeCase)(data));
27
+ return transformers_1.Transformers.Message(this.client, (0, common_1.toSnakeCase)(data));
28
28
  }
29
- case v10_1.ApplicationCommandType.User: {
29
+ case types_1.ApplicationCommandType.User: {
30
30
  const data = this.interaction.data.resolved.users[this.interaction.data.targetId];
31
- return new structures_1.User(this.client, (0, common_1.toSnakeCase)(data));
31
+ return transformers_1.Transformers.User(this.client, (0, common_1.toSnakeCase)(data));
32
32
  }
33
33
  }
34
34
  }
@@ -45,7 +45,7 @@ class MenuCommandContext extends basecontext_1.BaseContext {
45
45
  return this.interaction.modal(body);
46
46
  }
47
47
  deferReply(ephemeral = false) {
48
- return this.interaction.deferReply(ephemeral ? v10_1.MessageFlags.Ephemeral : undefined);
48
+ return this.interaction.deferReply(ephemeral ? types_1.MessageFlags.Ephemeral : undefined);
49
49
  }
50
50
  editResponse(body) {
51
51
  return this.interaction.editResponse(body);
@@ -100,10 +100,10 @@ class MenuCommandContext extends basecontext_1.BaseContext {
100
100
  return true;
101
101
  }
102
102
  isMenuUser() {
103
- return this.target instanceof structures_1.User;
103
+ return this.interaction.data.type === types_1.ApplicationCommandType.User;
104
104
  }
105
105
  isMenuMessage() {
106
- return this.target instanceof structures_1.Message;
106
+ return this.interaction.data.type === types_1.ApplicationCommandType.Message;
107
107
  }
108
108
  }
109
109
  exports.MenuCommandContext = MenuCommandContext;
@@ -1,4 +1,4 @@
1
- import { ApplicationCommandOptionType, type APIApplicationCommandOptionChoice, type ChannelType } from 'discord-api-types/v10';
1
+ import { ApplicationCommandOptionType, type APIApplicationCommandOptionChoice, type ChannelType } from '../../types';
2
2
  import type { AutocompleteCallback, MenuCommandContext, OnAutocompleteErrorCallback, ReturnOptionsTypes, __TypesWrapper } from '..';
3
3
  import type { MessageCommandInteraction, UserCommandInteraction } from '../../structures';
4
4
  import type { CommandContext } from './chatcontext';
@@ -1,44 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMiddleware = exports.createAttachmentOption = exports.createNumberOption = exports.createMentionableOption = exports.createRoleOption = exports.createChannelOption = exports.createUserOption = exports.createBooleanOption = exports.createIntegerOption = exports.createStringOption = void 0;
4
- const v10_1 = require("discord-api-types/v10");
3
+ exports.createStringOption = createStringOption;
4
+ exports.createIntegerOption = createIntegerOption;
5
+ exports.createBooleanOption = createBooleanOption;
6
+ exports.createUserOption = createUserOption;
7
+ exports.createChannelOption = createChannelOption;
8
+ exports.createRoleOption = createRoleOption;
9
+ exports.createMentionableOption = createMentionableOption;
10
+ exports.createNumberOption = createNumberOption;
11
+ exports.createAttachmentOption = createAttachmentOption;
12
+ exports.createMiddleware = createMiddleware;
13
+ const types_1 = require("../../types");
5
14
  function createStringOption(data) {
6
- return { ...data, type: v10_1.ApplicationCommandOptionType.String };
15
+ return { ...data, type: types_1.ApplicationCommandOptionType.String };
7
16
  }
8
- exports.createStringOption = createStringOption;
9
17
  function createIntegerOption(data) {
10
- return { ...data, type: v10_1.ApplicationCommandOptionType.Integer };
18
+ return { ...data, type: types_1.ApplicationCommandOptionType.Integer };
11
19
  }
12
- exports.createIntegerOption = createIntegerOption;
13
20
  function createBooleanOption(data) {
14
- return { ...data, type: v10_1.ApplicationCommandOptionType.Boolean };
21
+ return { ...data, type: types_1.ApplicationCommandOptionType.Boolean };
15
22
  }
16
- exports.createBooleanOption = createBooleanOption;
17
23
  function createUserOption(data) {
18
- return { ...data, type: v10_1.ApplicationCommandOptionType.User };
24
+ return { ...data, type: types_1.ApplicationCommandOptionType.User };
19
25
  }
20
- exports.createUserOption = createUserOption;
21
26
  function createChannelOption(data) {
22
- return { ...data, type: v10_1.ApplicationCommandOptionType.Channel };
27
+ return { ...data, type: types_1.ApplicationCommandOptionType.Channel };
23
28
  }
24
- exports.createChannelOption = createChannelOption;
25
29
  function createRoleOption(data) {
26
- return { ...data, type: v10_1.ApplicationCommandOptionType.Role };
30
+ return { ...data, type: types_1.ApplicationCommandOptionType.Role };
27
31
  }
28
- exports.createRoleOption = createRoleOption;
29
32
  function createMentionableOption(data) {
30
- return { ...data, type: v10_1.ApplicationCommandOptionType.Mentionable };
33
+ return { ...data, type: types_1.ApplicationCommandOptionType.Mentionable };
31
34
  }
32
- exports.createMentionableOption = createMentionableOption;
33
35
  function createNumberOption(data) {
34
- return { ...data, type: v10_1.ApplicationCommandOptionType.Number };
36
+ return { ...data, type: types_1.ApplicationCommandOptionType.Number };
35
37
  }
36
- exports.createNumberOption = createNumberOption;
37
38
  function createAttachmentOption(data) {
38
- return { ...data, type: v10_1.ApplicationCommandOptionType.Attachment };
39
+ return { ...data, type: types_1.ApplicationCommandOptionType.Attachment };
39
40
  }
40
- exports.createAttachmentOption = createAttachmentOption;
41
41
  function createMiddleware(data) {
42
42
  return data;
43
43
  }
44
- exports.createMiddleware = createMiddleware;