carbon-proxy 0.14.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 (520) hide show
  1. package/README.md +237 -0
  2. package/dist/package.json +43 -0
  3. package/dist/src/abstracts/AnySelectMenu.d.ts +40 -0
  4. package/dist/src/abstracts/AnySelectMenu.d.ts.map +1 -0
  5. package/dist/src/abstracts/AnySelectMenu.js +41 -0
  6. package/dist/src/abstracts/AnySelectMenu.js.map +1 -0
  7. package/dist/src/abstracts/AnySelectMenuInteraction.d.ts +12 -0
  8. package/dist/src/abstracts/AnySelectMenuInteraction.d.ts.map +1 -0
  9. package/dist/src/abstracts/AnySelectMenuInteraction.js +19 -0
  10. package/dist/src/abstracts/AnySelectMenuInteraction.js.map +1 -0
  11. package/dist/src/abstracts/Base.d.ts +10 -0
  12. package/dist/src/abstracts/Base.d.ts.map +1 -0
  13. package/dist/src/abstracts/Base.js +11 -0
  14. package/dist/src/abstracts/Base.js.map +1 -0
  15. package/dist/src/abstracts/BaseChannel.d.ts +60 -0
  16. package/dist/src/abstracts/BaseChannel.d.ts.map +1 -0
  17. package/dist/src/abstracts/BaseChannel.js +90 -0
  18. package/dist/src/abstracts/BaseChannel.js.map +1 -0
  19. package/dist/src/abstracts/BaseCommand.d.ts +77 -0
  20. package/dist/src/abstracts/BaseCommand.d.ts.map +1 -0
  21. package/dist/src/abstracts/BaseCommand.js +127 -0
  22. package/dist/src/abstracts/BaseCommand.js.map +1 -0
  23. package/dist/src/abstracts/BaseComponent.d.ts +20 -0
  24. package/dist/src/abstracts/BaseComponent.d.ts.map +1 -0
  25. package/dist/src/abstracts/BaseComponent.js +10 -0
  26. package/dist/src/abstracts/BaseComponent.js.map +1 -0
  27. package/dist/src/abstracts/BaseComponentInteraction.d.ts +18 -0
  28. package/dist/src/abstracts/BaseComponentInteraction.d.ts.map +1 -0
  29. package/dist/src/abstracts/BaseComponentInteraction.js +41 -0
  30. package/dist/src/abstracts/BaseComponentInteraction.js.map +1 -0
  31. package/dist/src/abstracts/BaseGuildChannel.d.ts +61 -0
  32. package/dist/src/abstracts/BaseGuildChannel.d.ts.map +1 -0
  33. package/dist/src/abstracts/BaseGuildChannel.js +125 -0
  34. package/dist/src/abstracts/BaseGuildChannel.js.map +1 -0
  35. package/dist/src/abstracts/BaseGuildTextChannel.d.ts +53 -0
  36. package/dist/src/abstracts/BaseGuildTextChannel.d.ts.map +1 -0
  37. package/dist/src/abstracts/BaseGuildTextChannel.js +89 -0
  38. package/dist/src/abstracts/BaseGuildTextChannel.js.map +1 -0
  39. package/dist/src/abstracts/BaseInteraction.d.ts +166 -0
  40. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -0
  41. package/dist/src/abstracts/BaseInteraction.js +274 -0
  42. package/dist/src/abstracts/BaseInteraction.js.map +1 -0
  43. package/dist/src/abstracts/BaseListener.d.ts +13 -0
  44. package/dist/src/abstracts/BaseListener.d.ts.map +1 -0
  45. package/dist/src/abstracts/BaseListener.js +8 -0
  46. package/dist/src/abstracts/BaseListener.js.map +1 -0
  47. package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts +41 -0
  48. package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts.map +1 -0
  49. package/dist/src/abstracts/BaseMessageInteractiveComponent.js +35 -0
  50. package/dist/src/abstracts/BaseMessageInteractiveComponent.js.map +1 -0
  51. package/dist/src/abstracts/BaseModalComponent.d.ts +9 -0
  52. package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -0
  53. package/dist/src/abstracts/BaseModalComponent.js +5 -0
  54. package/dist/src/abstracts/BaseModalComponent.js.map +1 -0
  55. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +58 -0
  56. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -0
  57. package/dist/src/abstracts/GuildThreadOnlyChannel.js +102 -0
  58. package/dist/src/abstracts/GuildThreadOnlyChannel.js.map +1 -0
  59. package/dist/src/abstracts/Plugin.d.ts +49 -0
  60. package/dist/src/abstracts/Plugin.d.ts.map +1 -0
  61. package/dist/src/abstracts/Plugin.js +6 -0
  62. package/dist/src/abstracts/Plugin.js.map +1 -0
  63. package/dist/src/adapters/bun/index.d.ts +13 -0
  64. package/dist/src/adapters/bun/index.d.ts.map +1 -0
  65. package/dist/src/adapters/bun/index.js +16 -0
  66. package/dist/src/adapters/bun/index.js.map +1 -0
  67. package/dist/src/adapters/fetch/index.d.ts +11 -0
  68. package/dist/src/adapters/fetch/index.d.ts.map +1 -0
  69. package/dist/src/adapters/fetch/index.js +50 -0
  70. package/dist/src/adapters/fetch/index.js.map +1 -0
  71. package/dist/src/adapters/node/index.d.ts +13 -0
  72. package/dist/src/adapters/node/index.d.ts.map +1 -0
  73. package/dist/src/adapters/node/index.js +17 -0
  74. package/dist/src/adapters/node/index.js.map +1 -0
  75. package/dist/src/classes/Client.d.ts +253 -0
  76. package/dist/src/classes/Client.d.ts.map +1 -0
  77. package/dist/src/classes/Client.js +419 -0
  78. package/dist/src/classes/Client.js.map +1 -0
  79. package/dist/src/classes/Command.d.ts +44 -0
  80. package/dist/src/classes/Command.d.ts.map +1 -0
  81. package/dist/src/classes/Command.js +53 -0
  82. package/dist/src/classes/Command.js.map +1 -0
  83. package/dist/src/classes/CommandWithSubcommandGroups.d.ts +22 -0
  84. package/dist/src/classes/CommandWithSubcommandGroups.d.ts.map +1 -0
  85. package/dist/src/classes/CommandWithSubcommandGroups.js +27 -0
  86. package/dist/src/classes/CommandWithSubcommandGroups.js.map +1 -0
  87. package/dist/src/classes/CommandWithSubcommands.d.ts +19 -0
  88. package/dist/src/classes/CommandWithSubcommands.d.ts.map +1 -0
  89. package/dist/src/classes/CommandWithSubcommands.js +19 -0
  90. package/dist/src/classes/CommandWithSubcommands.js.map +1 -0
  91. package/dist/src/classes/Embed.d.ts +61 -0
  92. package/dist/src/classes/Embed.d.ts.map +1 -0
  93. package/dist/src/classes/Embed.js +75 -0
  94. package/dist/src/classes/Embed.js.map +1 -0
  95. package/dist/src/classes/Listener.d.ts +392 -0
  96. package/dist/src/classes/Listener.d.ts.map +1 -0
  97. package/dist/src/classes/Listener.js +1034 -0
  98. package/dist/src/classes/Listener.js.map +1 -0
  99. package/dist/src/classes/Modal.d.ts +37 -0
  100. package/dist/src/classes/Modal.d.ts.map +1 -0
  101. package/dist/src/classes/Modal.js +28 -0
  102. package/dist/src/classes/Modal.js.map +1 -0
  103. package/dist/src/classes/RequestClient.d.ts +106 -0
  104. package/dist/src/classes/RequestClient.d.ts.map +1 -0
  105. package/dist/src/classes/RequestClient.js +451 -0
  106. package/dist/src/classes/RequestClient.js.map +1 -0
  107. package/dist/src/classes/components/Button.d.ts +52 -0
  108. package/dist/src/classes/components/Button.d.ts.map +1 -0
  109. package/dist/src/classes/components/Button.js +71 -0
  110. package/dist/src/classes/components/Button.js.map +1 -0
  111. package/dist/src/classes/components/ChannelSelectMenu.d.ts +17 -0
  112. package/dist/src/classes/components/ChannelSelectMenu.d.ts.map +1 -0
  113. package/dist/src/classes/components/ChannelSelectMenu.js +22 -0
  114. package/dist/src/classes/components/ChannelSelectMenu.js.map +1 -0
  115. package/dist/src/classes/components/Checkbox.d.ts +12 -0
  116. package/dist/src/classes/components/Checkbox.d.ts.map +1 -0
  117. package/dist/src/classes/components/Checkbox.js +20 -0
  118. package/dist/src/classes/components/Checkbox.js.map +1 -0
  119. package/dist/src/classes/components/CheckboxGroup.d.ts +24 -0
  120. package/dist/src/classes/components/CheckboxGroup.d.ts.map +1 -0
  121. package/dist/src/classes/components/CheckboxGroup.js +37 -0
  122. package/dist/src/classes/components/CheckboxGroup.js.map +1 -0
  123. package/dist/src/classes/components/Container.d.ts +28 -0
  124. package/dist/src/classes/components/Container.d.ts.map +1 -0
  125. package/dist/src/classes/components/Container.js +38 -0
  126. package/dist/src/classes/components/Container.js.map +1 -0
  127. package/dist/src/classes/components/File.d.ts +21 -0
  128. package/dist/src/classes/components/File.d.ts.map +1 -0
  129. package/dist/src/classes/components/File.js +36 -0
  130. package/dist/src/classes/components/File.js.map +1 -0
  131. package/dist/src/classes/components/FileUpload.d.ts +23 -0
  132. package/dist/src/classes/components/FileUpload.d.ts.map +1 -0
  133. package/dist/src/classes/components/FileUpload.js +36 -0
  134. package/dist/src/classes/components/FileUpload.js.map +1 -0
  135. package/dist/src/classes/components/Label.d.ts +31 -0
  136. package/dist/src/classes/components/Label.d.ts.map +1 -0
  137. package/dist/src/classes/components/Label.js +35 -0
  138. package/dist/src/classes/components/Label.js.map +1 -0
  139. package/dist/src/classes/components/MediaGallery.d.ts +22 -0
  140. package/dist/src/classes/components/MediaGallery.d.ts.map +1 -0
  141. package/dist/src/classes/components/MediaGallery.js +32 -0
  142. package/dist/src/classes/components/MediaGallery.js.map +1 -0
  143. package/dist/src/classes/components/MentionableSelectMenu.d.ts +15 -0
  144. package/dist/src/classes/components/MentionableSelectMenu.d.ts.map +1 -0
  145. package/dist/src/classes/components/MentionableSelectMenu.js +20 -0
  146. package/dist/src/classes/components/MentionableSelectMenu.js.map +1 -0
  147. package/dist/src/classes/components/RadioGroup.d.ts +24 -0
  148. package/dist/src/classes/components/RadioGroup.d.ts.map +1 -0
  149. package/dist/src/classes/components/RadioGroup.js +33 -0
  150. package/dist/src/classes/components/RadioGroup.js.map +1 -0
  151. package/dist/src/classes/components/RoleSelectMenu.d.ts +15 -0
  152. package/dist/src/classes/components/RoleSelectMenu.d.ts.map +1 -0
  153. package/dist/src/classes/components/RoleSelectMenu.js +20 -0
  154. package/dist/src/classes/components/RoleSelectMenu.js.map +1 -0
  155. package/dist/src/classes/components/Row.d.ts +28 -0
  156. package/dist/src/classes/components/Row.d.ts.map +1 -0
  157. package/dist/src/classes/components/Row.js +44 -0
  158. package/dist/src/classes/components/Row.js.map +1 -0
  159. package/dist/src/classes/components/Section.d.ts +23 -0
  160. package/dist/src/classes/components/Section.d.ts.map +1 -0
  161. package/dist/src/classes/components/Section.js +37 -0
  162. package/dist/src/classes/components/Section.js.map +1 -0
  163. package/dist/src/classes/components/Separator.d.ts +22 -0
  164. package/dist/src/classes/components/Separator.d.ts.map +1 -0
  165. package/dist/src/classes/components/Separator.js +33 -0
  166. package/dist/src/classes/components/Separator.js.map +1 -0
  167. package/dist/src/classes/components/StringSelectMenu.d.ts +15 -0
  168. package/dist/src/classes/components/StringSelectMenu.d.ts.map +1 -0
  169. package/dist/src/classes/components/StringSelectMenu.js +19 -0
  170. package/dist/src/classes/components/StringSelectMenu.js.map +1 -0
  171. package/dist/src/classes/components/TextDisplay.d.ts +10 -0
  172. package/dist/src/classes/components/TextDisplay.d.ts.map +1 -0
  173. package/dist/src/classes/components/TextDisplay.js +22 -0
  174. package/dist/src/classes/components/TextDisplay.js.map +1 -0
  175. package/dist/src/classes/components/TextInput.d.ts +53 -0
  176. package/dist/src/classes/components/TextInput.d.ts.map +1 -0
  177. package/dist/src/classes/components/TextInput.js +57 -0
  178. package/dist/src/classes/components/TextInput.js.map +1 -0
  179. package/dist/src/classes/components/Thumbnail.d.ts +14 -0
  180. package/dist/src/classes/components/Thumbnail.d.ts.map +1 -0
  181. package/dist/src/classes/components/Thumbnail.js +27 -0
  182. package/dist/src/classes/components/Thumbnail.js.map +1 -0
  183. package/dist/src/classes/components/UserSelectMenu.d.ts +15 -0
  184. package/dist/src/classes/components/UserSelectMenu.d.ts.map +1 -0
  185. package/dist/src/classes/components/UserSelectMenu.js +20 -0
  186. package/dist/src/classes/components/UserSelectMenu.js.map +1 -0
  187. package/dist/src/errors/BaseError.d.ts +3 -0
  188. package/dist/src/errors/BaseError.d.ts.map +1 -0
  189. package/dist/src/errors/BaseError.js +3 -0
  190. package/dist/src/errors/BaseError.js.map +1 -0
  191. package/dist/src/errors/DiscordError.d.ts +25 -0
  192. package/dist/src/errors/DiscordError.d.ts.map +1 -0
  193. package/dist/src/errors/DiscordError.js +31 -0
  194. package/dist/src/errors/DiscordError.js.map +1 -0
  195. package/dist/src/errors/RatelimitError.d.ts +15 -0
  196. package/dist/src/errors/RatelimitError.d.ts.map +1 -0
  197. package/dist/src/errors/RatelimitError.js +18 -0
  198. package/dist/src/errors/RatelimitError.js.map +1 -0
  199. package/dist/src/functions/channelFactory.d.ts +14 -0
  200. package/dist/src/functions/channelFactory.d.ts.map +1 -0
  201. package/dist/src/functions/channelFactory.js +39 -0
  202. package/dist/src/functions/channelFactory.js.map +1 -0
  203. package/dist/src/functions/enforceChoicesLimit.d.ts +3 -0
  204. package/dist/src/functions/enforceChoicesLimit.d.ts.map +1 -0
  205. package/dist/src/functions/enforceChoicesLimit.js +17 -0
  206. package/dist/src/functions/enforceChoicesLimit.js.map +1 -0
  207. package/dist/src/functions/errorsMapper.d.ts +14 -0
  208. package/dist/src/functions/errorsMapper.d.ts.map +1 -0
  209. package/dist/src/functions/errorsMapper.js +46 -0
  210. package/dist/src/functions/errorsMapper.js.map +1 -0
  211. package/dist/src/index.d.ts +93 -0
  212. package/dist/src/index.d.ts.map +1 -0
  213. package/dist/src/index.js +100 -0
  214. package/dist/src/index.js.map +1 -0
  215. package/dist/src/internals/AutocompleteInteraction.d.ts +43 -0
  216. package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -0
  217. package/dist/src/internals/AutocompleteInteraction.js +73 -0
  218. package/dist/src/internals/AutocompleteInteraction.js.map +1 -0
  219. package/dist/src/internals/ButtonInteraction.d.ts +8 -0
  220. package/dist/src/internals/ButtonInteraction.d.ts.map +1 -0
  221. package/dist/src/internals/ButtonInteraction.js +16 -0
  222. package/dist/src/internals/ButtonInteraction.js.map +1 -0
  223. package/dist/src/internals/ChannelSelectMenuInteraction.d.ts +8 -0
  224. package/dist/src/internals/ChannelSelectMenuInteraction.d.ts.map +1 -0
  225. package/dist/src/internals/ChannelSelectMenuInteraction.js +11 -0
  226. package/dist/src/internals/ChannelSelectMenuInteraction.js.map +1 -0
  227. package/dist/src/internals/CommandHandler.d.ts +13 -0
  228. package/dist/src/internals/CommandHandler.d.ts.map +1 -0
  229. package/dist/src/internals/CommandHandler.js +143 -0
  230. package/dist/src/internals/CommandHandler.js.map +1 -0
  231. package/dist/src/internals/CommandInteraction.d.ts +26 -0
  232. package/dist/src/internals/CommandInteraction.d.ts.map +1 -0
  233. package/dist/src/internals/CommandInteraction.js +60 -0
  234. package/dist/src/internals/CommandInteraction.js.map +1 -0
  235. package/dist/src/internals/ComponentHandler.d.ts +14 -0
  236. package/dist/src/internals/ComponentHandler.d.ts.map +1 -0
  237. package/dist/src/internals/ComponentHandler.js +183 -0
  238. package/dist/src/internals/ComponentHandler.js.map +1 -0
  239. package/dist/src/internals/EmojiHandler.d.ts +19 -0
  240. package/dist/src/internals/EmojiHandler.d.ts.map +1 -0
  241. package/dist/src/internals/EmojiHandler.js +34 -0
  242. package/dist/src/internals/EmojiHandler.js.map +1 -0
  243. package/dist/src/internals/EventHandler.d.ts +22 -0
  244. package/dist/src/internals/EventHandler.d.ts.map +1 -0
  245. package/dist/src/internals/EventHandler.js +23 -0
  246. package/dist/src/internals/EventHandler.js.map +1 -0
  247. package/dist/src/internals/EventQueue.d.ts +59 -0
  248. package/dist/src/internals/EventQueue.d.ts.map +1 -0
  249. package/dist/src/internals/EventQueue.js +131 -0
  250. package/dist/src/internals/EventQueue.js.map +1 -0
  251. package/dist/src/internals/FieldsHandler.d.ts +68 -0
  252. package/dist/src/internals/FieldsHandler.d.ts.map +1 -0
  253. package/dist/src/internals/FieldsHandler.js +146 -0
  254. package/dist/src/internals/FieldsHandler.js.map +1 -0
  255. package/dist/src/internals/MentionableSelectMenuInteraction.d.ts +9 -0
  256. package/dist/src/internals/MentionableSelectMenuInteraction.d.ts.map +1 -0
  257. package/dist/src/internals/MentionableSelectMenuInteraction.js +15 -0
  258. package/dist/src/internals/MentionableSelectMenuInteraction.js.map +1 -0
  259. package/dist/src/internals/ModalHandler.d.ts +17 -0
  260. package/dist/src/internals/ModalHandler.d.ts.map +1 -0
  261. package/dist/src/internals/ModalHandler.js +35 -0
  262. package/dist/src/internals/ModalHandler.js.map +1 -0
  263. package/dist/src/internals/ModalInteraction.d.ts +21 -0
  264. package/dist/src/internals/ModalInteraction.d.ts.map +1 -0
  265. package/dist/src/internals/ModalInteraction.js +41 -0
  266. package/dist/src/internals/ModalInteraction.js.map +1 -0
  267. package/dist/src/internals/OptionsHandler.d.ts +108 -0
  268. package/dist/src/internals/OptionsHandler.d.ts.map +1 -0
  269. package/dist/src/internals/OptionsHandler.js +237 -0
  270. package/dist/src/internals/OptionsHandler.js.map +1 -0
  271. package/dist/src/internals/RoleSelectMenuInteraction.d.ts +9 -0
  272. package/dist/src/internals/RoleSelectMenuInteraction.d.ts.map +1 -0
  273. package/dist/src/internals/RoleSelectMenuInteraction.js +14 -0
  274. package/dist/src/internals/RoleSelectMenuInteraction.js.map +1 -0
  275. package/dist/src/internals/StringSelectMenuInteraction.d.ts +9 -0
  276. package/dist/src/internals/StringSelectMenuInteraction.d.ts.map +1 -0
  277. package/dist/src/internals/StringSelectMenuInteraction.js +14 -0
  278. package/dist/src/internals/StringSelectMenuInteraction.js.map +1 -0
  279. package/dist/src/internals/TemporaryListenerManager.d.ts +20 -0
  280. package/dist/src/internals/TemporaryListenerManager.d.ts.map +1 -0
  281. package/dist/src/internals/TemporaryListenerManager.js +59 -0
  282. package/dist/src/internals/TemporaryListenerManager.js.map +1 -0
  283. package/dist/src/internals/UserSelectMenuInteraction.d.ts +9 -0
  284. package/dist/src/internals/UserSelectMenuInteraction.d.ts.map +1 -0
  285. package/dist/src/internals/UserSelectMenuInteraction.js +14 -0
  286. package/dist/src/internals/UserSelectMenuInteraction.js.map +1 -0
  287. package/dist/src/permissions.d.ts +56 -0
  288. package/dist/src/permissions.d.ts.map +1 -0
  289. package/dist/src/permissions.js +4 -0
  290. package/dist/src/permissions.js.map +1 -0
  291. package/dist/src/plugins/client-manager/ClientManager.d.ts +151 -0
  292. package/dist/src/plugins/client-manager/ClientManager.d.ts.map +1 -0
  293. package/dist/src/plugins/client-manager/ClientManager.js +253 -0
  294. package/dist/src/plugins/client-manager/ClientManager.js.map +1 -0
  295. package/dist/src/plugins/client-manager/index.d.ts +2 -0
  296. package/dist/src/plugins/client-manager/index.d.ts.map +1 -0
  297. package/dist/src/plugins/client-manager/index.js +2 -0
  298. package/dist/src/plugins/client-manager/index.js.map +1 -0
  299. package/dist/src/plugins/command-data/CommandDataPlugin.d.ts +16 -0
  300. package/dist/src/plugins/command-data/CommandDataPlugin.d.ts.map +1 -0
  301. package/dist/src/plugins/command-data/CommandDataPlugin.js +43 -0
  302. package/dist/src/plugins/command-data/CommandDataPlugin.js.map +1 -0
  303. package/dist/src/plugins/command-data/index.d.ts +2 -0
  304. package/dist/src/plugins/command-data/index.d.ts.map +1 -0
  305. package/dist/src/plugins/command-data/index.js +2 -0
  306. package/dist/src/plugins/command-data/index.js.map +1 -0
  307. package/dist/src/plugins/gateway/BabyCache.d.ts +16 -0
  308. package/dist/src/plugins/gateway/BabyCache.d.ts.map +1 -0
  309. package/dist/src/plugins/gateway/BabyCache.js +53 -0
  310. package/dist/src/plugins/gateway/BabyCache.js.map +1 -0
  311. package/dist/src/plugins/gateway/GatewayPlugin.d.ts +90 -0
  312. package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -0
  313. package/dist/src/plugins/gateway/GatewayPlugin.js +516 -0
  314. package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -0
  315. package/dist/src/plugins/gateway/InteractionEventListener.d.ts +8 -0
  316. package/dist/src/plugins/gateway/InteractionEventListener.d.ts.map +1 -0
  317. package/dist/src/plugins/gateway/InteractionEventListener.js +9 -0
  318. package/dist/src/plugins/gateway/InteractionEventListener.js.map +1 -0
  319. package/dist/src/plugins/gateway/index.d.ts +7 -0
  320. package/dist/src/plugins/gateway/index.d.ts.map +1 -0
  321. package/dist/src/plugins/gateway/index.js +7 -0
  322. package/dist/src/plugins/gateway/index.js.map +1 -0
  323. package/dist/src/plugins/gateway/types.d.ts +130 -0
  324. package/dist/src/plugins/gateway/types.d.ts.map +1 -0
  325. package/dist/src/plugins/gateway/types.js +5 -0
  326. package/dist/src/plugins/gateway/types.js.map +1 -0
  327. package/dist/src/plugins/gateway/utils/heartbeat.d.ts +18 -0
  328. package/dist/src/plugins/gateway/utils/heartbeat.d.ts.map +1 -0
  329. package/dist/src/plugins/gateway/utils/heartbeat.js +33 -0
  330. package/dist/src/plugins/gateway/utils/heartbeat.js.map +1 -0
  331. package/dist/src/plugins/gateway/utils/monitor.d.ts +37 -0
  332. package/dist/src/plugins/gateway/utils/monitor.d.ts.map +1 -0
  333. package/dist/src/plugins/gateway/utils/monitor.js +88 -0
  334. package/dist/src/plugins/gateway/utils/monitor.js.map +1 -0
  335. package/dist/src/plugins/gateway/utils/payload.d.ts +24 -0
  336. package/dist/src/plugins/gateway/utils/payload.d.ts.map +1 -0
  337. package/dist/src/plugins/gateway/utils/payload.js +65 -0
  338. package/dist/src/plugins/gateway/utils/payload.js.map +1 -0
  339. package/dist/src/plugins/gateway/utils/rateLimit.d.ts +41 -0
  340. package/dist/src/plugins/gateway/utils/rateLimit.d.ts.map +1 -0
  341. package/dist/src/plugins/gateway/utils/rateLimit.js +61 -0
  342. package/dist/src/plugins/gateway/utils/rateLimit.js.map +1 -0
  343. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts +30 -0
  344. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -0
  345. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +80 -0
  346. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -0
  347. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts +9 -0
  348. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts.map +1 -0
  349. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js +7 -0
  350. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js.map +1 -0
  351. package/dist/src/plugins/gateway-forwarder/index.d.ts +4 -0
  352. package/dist/src/plugins/gateway-forwarder/index.d.ts.map +1 -0
  353. package/dist/src/plugins/gateway-forwarder/index.js +4 -0
  354. package/dist/src/plugins/gateway-forwarder/index.js.map +1 -0
  355. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts +70 -0
  356. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts.map +1 -0
  357. package/dist/src/plugins/linked-roles/LinkedRoles.js +211 -0
  358. package/dist/src/plugins/linked-roles/LinkedRoles.js.map +1 -0
  359. package/dist/src/plugins/linked-roles/index.d.ts +3 -0
  360. package/dist/src/plugins/linked-roles/index.d.ts.map +1 -0
  361. package/dist/src/plugins/linked-roles/index.js +3 -0
  362. package/dist/src/plugins/linked-roles/index.js.map +1 -0
  363. package/dist/src/plugins/linked-roles/types.d.ts +94 -0
  364. package/dist/src/plugins/linked-roles/types.d.ts.map +1 -0
  365. package/dist/src/plugins/linked-roles/types.js +39 -0
  366. package/dist/src/plugins/linked-roles/types.js.map +1 -0
  367. package/dist/src/plugins/paginator/GoToPageModal.d.ts +18 -0
  368. package/dist/src/plugins/paginator/GoToPageModal.d.ts.map +1 -0
  369. package/dist/src/plugins/paginator/GoToPageModal.js +56 -0
  370. package/dist/src/plugins/paginator/GoToPageModal.js.map +1 -0
  371. package/dist/src/plugins/paginator/Paginator.d.ts +53 -0
  372. package/dist/src/plugins/paginator/Paginator.d.ts.map +1 -0
  373. package/dist/src/plugins/paginator/Paginator.js +183 -0
  374. package/dist/src/plugins/paginator/Paginator.js.map +1 -0
  375. package/dist/src/plugins/paginator/index.d.ts +11 -0
  376. package/dist/src/plugins/paginator/index.d.ts.map +1 -0
  377. package/dist/src/plugins/paginator/index.js +11 -0
  378. package/dist/src/plugins/paginator/index.js.map +1 -0
  379. package/dist/src/plugins/sharding/ShardingPlugin.d.ts +44 -0
  380. package/dist/src/plugins/sharding/ShardingPlugin.d.ts.map +1 -0
  381. package/dist/src/plugins/sharding/ShardingPlugin.js +119 -0
  382. package/dist/src/plugins/sharding/ShardingPlugin.js.map +1 -0
  383. package/dist/src/plugins/sharding/index.d.ts +3 -0
  384. package/dist/src/plugins/sharding/index.d.ts.map +1 -0
  385. package/dist/src/plugins/sharding/index.js +3 -0
  386. package/dist/src/plugins/sharding/index.js.map +1 -0
  387. package/dist/src/plugins/voice/GuildDeleteListener.d.ts +7 -0
  388. package/dist/src/plugins/voice/GuildDeleteListener.d.ts.map +1 -0
  389. package/dist/src/plugins/voice/GuildDeleteListener.js +11 -0
  390. package/dist/src/plugins/voice/GuildDeleteListener.js.map +1 -0
  391. package/dist/src/plugins/voice/VoicePlugin.d.ts +15 -0
  392. package/dist/src/plugins/voice/VoicePlugin.d.ts.map +1 -0
  393. package/dist/src/plugins/voice/VoicePlugin.js +58 -0
  394. package/dist/src/plugins/voice/VoicePlugin.js.map +1 -0
  395. package/dist/src/plugins/voice/VoiceServerUpdateListener.d.ts +10 -0
  396. package/dist/src/plugins/voice/VoiceServerUpdateListener.d.ts.map +1 -0
  397. package/dist/src/plugins/voice/VoiceServerUpdateListener.js +16 -0
  398. package/dist/src/plugins/voice/VoiceServerUpdateListener.js.map +1 -0
  399. package/dist/src/plugins/voice/VoiceStateUpdateListener.d.ts +10 -0
  400. package/dist/src/plugins/voice/VoiceStateUpdateListener.d.ts.map +1 -0
  401. package/dist/src/plugins/voice/VoiceStateUpdateListener.js +21 -0
  402. package/dist/src/plugins/voice/VoiceStateUpdateListener.js.map +1 -0
  403. package/dist/src/plugins/voice/index.d.ts +2 -0
  404. package/dist/src/plugins/voice/index.d.ts.map +1 -0
  405. package/dist/src/plugins/voice/index.js +2 -0
  406. package/dist/src/plugins/voice/index.js.map +1 -0
  407. package/dist/src/structures/DmChannel.d.ts +22 -0
  408. package/dist/src/structures/DmChannel.d.ts.map +1 -0
  409. package/dist/src/structures/DmChannel.js +33 -0
  410. package/dist/src/structures/DmChannel.js.map +1 -0
  411. package/dist/src/structures/Emoji.d.ts +75 -0
  412. package/dist/src/structures/Emoji.d.ts.map +1 -0
  413. package/dist/src/structures/Emoji.js +156 -0
  414. package/dist/src/structures/Emoji.js.map +1 -0
  415. package/dist/src/structures/GroupDmChannel.d.ts +75 -0
  416. package/dist/src/structures/GroupDmChannel.d.ts.map +1 -0
  417. package/dist/src/structures/GroupDmChannel.js +131 -0
  418. package/dist/src/structures/GroupDmChannel.js.map +1 -0
  419. package/dist/src/structures/Guild.d.ts +338 -0
  420. package/dist/src/structures/Guild.d.ts.map +1 -0
  421. package/dist/src/structures/Guild.js +715 -0
  422. package/dist/src/structures/Guild.js.map +1 -0
  423. package/dist/src/structures/GuildAnnouncementChannel.d.ts +21 -0
  424. package/dist/src/structures/GuildAnnouncementChannel.d.ts.map +1 -0
  425. package/dist/src/structures/GuildAnnouncementChannel.js +35 -0
  426. package/dist/src/structures/GuildAnnouncementChannel.js.map +1 -0
  427. package/dist/src/structures/GuildCategoryChannel.d.ts +23 -0
  428. package/dist/src/structures/GuildCategoryChannel.d.ts.map +1 -0
  429. package/dist/src/structures/GuildCategoryChannel.js +34 -0
  430. package/dist/src/structures/GuildCategoryChannel.js.map +1 -0
  431. package/dist/src/structures/GuildForumChannel.d.ts +14 -0
  432. package/dist/src/structures/GuildForumChannel.d.ts.map +1 -0
  433. package/dist/src/structures/GuildForumChannel.js +15 -0
  434. package/dist/src/structures/GuildForumChannel.js.map +1 -0
  435. package/dist/src/structures/GuildMediaChannel.d.ts +9 -0
  436. package/dist/src/structures/GuildMediaChannel.d.ts.map +1 -0
  437. package/dist/src/structures/GuildMediaChannel.js +7 -0
  438. package/dist/src/structures/GuildMediaChannel.js.map +1 -0
  439. package/dist/src/structures/GuildMember.d.ts +145 -0
  440. package/dist/src/structures/GuildMember.d.ts.map +1 -0
  441. package/dist/src/structures/GuildMember.js +320 -0
  442. package/dist/src/structures/GuildMember.js.map +1 -0
  443. package/dist/src/structures/GuildScheduledEvent.d.ts +121 -0
  444. package/dist/src/structures/GuildScheduledEvent.d.ts.map +1 -0
  445. package/dist/src/structures/GuildScheduledEvent.js +228 -0
  446. package/dist/src/structures/GuildScheduledEvent.js.map +1 -0
  447. package/dist/src/structures/GuildStageOrVoiceChannel.d.ts +40 -0
  448. package/dist/src/structures/GuildStageOrVoiceChannel.d.ts.map +1 -0
  449. package/dist/src/structures/GuildStageOrVoiceChannel.js +63 -0
  450. package/dist/src/structures/GuildStageOrVoiceChannel.js.map +1 -0
  451. package/dist/src/structures/GuildTextChannel.d.ts +24 -0
  452. package/dist/src/structures/GuildTextChannel.d.ts.map +1 -0
  453. package/dist/src/structures/GuildTextChannel.js +41 -0
  454. package/dist/src/structures/GuildTextChannel.js.map +1 -0
  455. package/dist/src/structures/GuildThreadChannel.d.ts +90 -0
  456. package/dist/src/structures/GuildThreadChannel.d.ts.map +1 -0
  457. package/dist/src/structures/GuildThreadChannel.js +165 -0
  458. package/dist/src/structures/GuildThreadChannel.js.map +1 -0
  459. package/dist/src/structures/Message.d.ts +174 -0
  460. package/dist/src/structures/Message.d.ts.map +1 -0
  461. package/dist/src/structures/Message.js +417 -0
  462. package/dist/src/structures/Message.js.map +1 -0
  463. package/dist/src/structures/Poll.d.ts +29 -0
  464. package/dist/src/structures/Poll.d.ts.map +1 -0
  465. package/dist/src/structures/Poll.js +51 -0
  466. package/dist/src/structures/Poll.js.map +1 -0
  467. package/dist/src/structures/Role.d.ts +151 -0
  468. package/dist/src/structures/Role.d.ts.map +1 -0
  469. package/dist/src/structures/Role.js +291 -0
  470. package/dist/src/structures/Role.js.map +1 -0
  471. package/dist/src/structures/ThreadMember.d.ts +40 -0
  472. package/dist/src/structures/ThreadMember.d.ts.map +1 -0
  473. package/dist/src/structures/ThreadMember.js +79 -0
  474. package/dist/src/structures/ThreadMember.js.map +1 -0
  475. package/dist/src/structures/User.d.ts +104 -0
  476. package/dist/src/structures/User.d.ts.map +1 -0
  477. package/dist/src/structures/User.js +199 -0
  478. package/dist/src/structures/User.js.map +1 -0
  479. package/dist/src/structures/Webhook.d.ts +160 -0
  480. package/dist/src/structures/Webhook.d.ts.map +1 -0
  481. package/dist/src/structures/Webhook.js +287 -0
  482. package/dist/src/structures/Webhook.js.map +1 -0
  483. package/dist/src/types/index.d.ts +199 -0
  484. package/dist/src/types/index.d.ts.map +1 -0
  485. package/dist/src/types/index.js +2 -0
  486. package/dist/src/types/index.js.map +1 -0
  487. package/dist/src/types/listeners.d.ts +579 -0
  488. package/dist/src/types/listeners.d.ts.map +1 -0
  489. package/dist/src/types/listeners.js +14 -0
  490. package/dist/src/types/listeners.js.map +1 -0
  491. package/dist/src/utils/LRUCache.d.ts +46 -0
  492. package/dist/src/utils/LRUCache.d.ts.map +1 -0
  493. package/dist/src/utils/LRUCache.js +78 -0
  494. package/dist/src/utils/LRUCache.js.map +1 -0
  495. package/dist/src/utils/cdn.d.ts +31 -0
  496. package/dist/src/utils/cdn.d.ts.map +1 -0
  497. package/dist/src/utils/cdn.js +18 -0
  498. package/dist/src/utils/cdn.js.map +1 -0
  499. package/dist/src/utils/customIdParser.d.ts +3 -0
  500. package/dist/src/utils/customIdParser.d.ts.map +1 -0
  501. package/dist/src/utils/customIdParser.js +38 -0
  502. package/dist/src/utils/customIdParser.js.map +1 -0
  503. package/dist/src/utils/index.d.ts +6 -0
  504. package/dist/src/utils/index.d.ts.map +1 -0
  505. package/dist/src/utils/index.js +6 -0
  506. package/dist/src/utils/index.js.map +1 -0
  507. package/dist/src/utils/payload.d.ts +4 -0
  508. package/dist/src/utils/payload.d.ts.map +1 -0
  509. package/dist/src/utils/payload.js +61 -0
  510. package/dist/src/utils/payload.js.map +1 -0
  511. package/dist/src/utils/proxy.d.ts +27 -0
  512. package/dist/src/utils/proxy.d.ts.map +1 -0
  513. package/dist/src/utils/proxy.js +135 -0
  514. package/dist/src/utils/proxy.js.map +1 -0
  515. package/dist/src/utils/verification.d.ts +4 -0
  516. package/dist/src/utils/verification.d.ts.map +1 -0
  517. package/dist/src/utils/verification.js +52 -0
  518. package/dist/src/utils/verification.js.map +1 -0
  519. package/dist/tsconfig.tsbuildinfo +1 -0
  520. package/package.json +43 -0
@@ -0,0 +1,108 @@
1
+ import { type APIApplicationCommandInteractionDataBasicOption, type APIApplicationCommandInteractionDataOption, type APIAutocompleteApplicationCommandInteractionData, type APIChatInputApplicationCommandInteractionData, type APIInteractionDataResolved } from "discord-api-types/v10";
2
+ import { Base } from "../abstracts/Base.js";
3
+ import { type AnyChannel, type Client, type CommandOptions, GuildMember, type ResolvedFile, Role, User } from "../index.js";
4
+ export type RawOptions = {
5
+ [key: string]: APIApplicationCommandInteractionDataBasicOption["value"] | undefined;
6
+ };
7
+ /**
8
+ * This class is used to parse the options of a command, and provide errors for any missing or invalid options.
9
+ * It is used internally by the Command class.
10
+ */
11
+ export declare class OptionsHandler extends Base {
12
+ /**
13
+ * The raw options that were in the interaction data, before they were parsed.
14
+ */
15
+ readonly raw: APIApplicationCommandInteractionDataBasicOption[];
16
+ /**
17
+ * The resolved data from the interaction.
18
+ */
19
+ readonly resolved: Partial<APIInteractionDataResolved>;
20
+ readonly guildId?: string;
21
+ private interactionData?;
22
+ private definitions?;
23
+ constructor({ client, options, interactionData, definitions, guildId }: {
24
+ client: Client;
25
+ options: APIApplicationCommandInteractionDataOption[];
26
+ interactionData: APIChatInputApplicationCommandInteractionData | APIAutocompleteApplicationCommandInteractionData;
27
+ definitions: CommandOptions;
28
+ guildId?: string;
29
+ });
30
+ /**
31
+ * Get the value of a string option.
32
+ * @param key The name of the option to get the value of.
33
+ * @param required Whether the option is required.
34
+ * @returns The value of the option, or undefined if the option was not provided and it is not required.
35
+ */
36
+ getString(key: string, required?: false): string | undefined;
37
+ getString(key: string, required: true): string;
38
+ /**
39
+ * Get the value of an integer option.
40
+ * @param key The name of the option to get the value of.
41
+ * @param required Whether the option is required.
42
+ * @returns The value of the option, or undefined if the option was not provided and it is not required.
43
+ */
44
+ getInteger(key: string, required?: false): number | undefined;
45
+ getInteger(key: string, required: true): number;
46
+ /**
47
+ * Get the value of a number option.
48
+ * @param key The name of the option to get the value of.
49
+ * @param required Whether the option is required.
50
+ * @returns The value of the option, or undefined if the option was not provided and it is not required.
51
+ */
52
+ getNumber(key: string, required?: false): number | undefined;
53
+ getNumber(key: string, required: true): number;
54
+ /**
55
+ * Get the value of a boolean option.
56
+ * @param key The name of the option to get the value of.
57
+ * @param required Whether the option is required.
58
+ * @returns The value of the option, or undefined if the option was not provided and it is not required.
59
+ */
60
+ getBoolean(key: string, required?: false): boolean | undefined;
61
+ getBoolean(key: string, required: true): boolean;
62
+ /**
63
+ * Get the value of a user option.
64
+ * @param key The name of the option to get the value of.
65
+ * @param required Whether the option is required.
66
+ * @returns The value of the option, or undefined if the option was not provided and it is not required.
67
+ */
68
+ getUser(key: string, required?: false): User | undefined;
69
+ getUser(key: string, required: true): User;
70
+ /**
71
+ * Get the member data of the value of a user option, if the user is in the guild the interaction was ran in.
72
+ * @param key The name of the option to get the value of.
73
+ * @param required Whether the option is required.
74
+ * @returns The value of the option, or undefined if the option was not provided and it is not required, or null if the user is not in the server.
75
+ */
76
+ getMember(key: string, required?: false): GuildMember<false, true> | null | undefined;
77
+ getMember(key: string, required: true): GuildMember<false, true> | null;
78
+ getChannelId(key: string, required?: false): Promise<string | undefined>;
79
+ getChannelId(key: string, required: true): Promise<string>;
80
+ /**
81
+ * Get the value of a channel option.
82
+ * @param key The name of the option to get the value of.
83
+ * @param required Whether the option is required.
84
+ * @returns The ID of the selected channel, or undefined if the option was not provided and it is not required.
85
+ */
86
+ getChannel(key: string, required?: false): Promise<AnyChannel | undefined>;
87
+ getChannel(key: string, required: true): Promise<AnyChannel>;
88
+ /**
89
+ * Get the value of a role option.
90
+ * @param key The name of the option to get the value of.
91
+ * @param required Whether the option is required.
92
+ * @returns The value of the option, or undefined if the option was not provided and it is not required.
93
+ */
94
+ getRole(key: string, required?: false): Role | undefined;
95
+ getRole(key: string, required: true): Role;
96
+ /**
97
+ * Get the value of a mentionable option.
98
+ * @param key The name of the option to get the value of.
99
+ * @param required Whether the option is required.
100
+ * @returns The value of the option, or undefined if the option was not provided and it is not required.
101
+ */
102
+ getMentionable(key: string, required?: false): User | Role | undefined;
103
+ getMentionable(key: string, required: true): User | Role;
104
+ getAttachment(key: string, required?: false): ResolvedFile | undefined;
105
+ getAttachment(key: string, required: true): ResolvedFile;
106
+ private checkAgainstDefinition;
107
+ }
108
+ //# sourceMappingURL=OptionsHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionsHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/OptionsHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,237 @@
1
+ import { ApplicationCommandOptionType } from "discord-api-types/v10";
2
+ import { Base } from "../abstracts/Base.js";
3
+ import { Guild, GuildMember, Role, User } from "../index.js";
4
+ /**
5
+ * This class is used to parse the options of a command, and provide errors for any missing or invalid options.
6
+ * It is used internally by the Command class.
7
+ */
8
+ export class OptionsHandler extends Base {
9
+ /**
10
+ * The raw options that were in the interaction data, before they were parsed.
11
+ */
12
+ raw;
13
+ /**
14
+ * The resolved data from the interaction.
15
+ */
16
+ resolved;
17
+ guildId;
18
+ interactionData;
19
+ definitions;
20
+ constructor({ client, options, interactionData, definitions, guildId }) {
21
+ super(client);
22
+ this.raw = [];
23
+ this.interactionData = interactionData;
24
+ this.definitions = definitions;
25
+ this.resolved = interactionData.resolved ?? {};
26
+ this.guildId = guildId;
27
+ for (const option of options) {
28
+ if (option.type === ApplicationCommandOptionType.Subcommand) {
29
+ for (const subOption of option.options ?? []) {
30
+ this.raw.push(subOption);
31
+ }
32
+ }
33
+ else if (option.type === ApplicationCommandOptionType.SubcommandGroup) {
34
+ for (const subOption of option.options ?? []) {
35
+ if (subOption.options) {
36
+ for (const subSubOption of subOption.options ?? []) {
37
+ this.raw.push(subSubOption);
38
+ }
39
+ }
40
+ }
41
+ }
42
+ else {
43
+ this.raw.push(option);
44
+ }
45
+ }
46
+ }
47
+ getString(key, required = false) {
48
+ const value = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.String)?.value;
49
+ if (required) {
50
+ if (!value || typeof value !== "string")
51
+ throw new Error(`Missing required option: ${key}`);
52
+ }
53
+ else if (!value || typeof value !== "string")
54
+ return undefined;
55
+ this.checkAgainstDefinition(key, value);
56
+ return value;
57
+ }
58
+ getInteger(key, required = false) {
59
+ const value = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Integer)?.value;
60
+ if (required) {
61
+ if (!value || typeof value !== "number" || !Number.isSafeInteger(value))
62
+ throw new Error(`Missing required option: ${key}`);
63
+ }
64
+ else if (!value ||
65
+ typeof value !== "number" ||
66
+ !Number.isSafeInteger(value))
67
+ return undefined;
68
+ this.checkAgainstDefinition(key, value);
69
+ return value;
70
+ }
71
+ getNumber(key, required = false) {
72
+ const value = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Number)?.value;
73
+ if (required) {
74
+ if (!value || typeof value !== "number")
75
+ throw new Error(`Missing required option: ${key}`);
76
+ }
77
+ else if (!value || typeof value !== "number")
78
+ return undefined;
79
+ this.checkAgainstDefinition(key, value);
80
+ return value;
81
+ }
82
+ getBoolean(key, required = false) {
83
+ const value = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Boolean)?.value;
84
+ if (required) {
85
+ if (!value || typeof value !== "boolean")
86
+ throw new Error(`Missing required option: ${key}`);
87
+ }
88
+ else if (!value || typeof value !== "boolean")
89
+ return undefined;
90
+ return value;
91
+ }
92
+ getUser(key, required = false) {
93
+ const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.User)?.value;
94
+ if (required) {
95
+ if (!id || typeof id !== "string")
96
+ throw new Error(`Missing required option: ${key}`);
97
+ }
98
+ else if (!id || typeof id !== "string")
99
+ return undefined;
100
+ const user = this.resolved.users?.[id];
101
+ if (!user) {
102
+ throw new Error(`Discord failed to resolve user for ${key}, this is a bug.`);
103
+ }
104
+ return new User(this.client, user);
105
+ }
106
+ getMember(key, required = false) {
107
+ const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.User)?.value;
108
+ if (required) {
109
+ if (!id || typeof id !== "string")
110
+ throw new Error(`Missing required option: ${key}`);
111
+ }
112
+ else if (!id || typeof id !== "string")
113
+ return undefined;
114
+ const user = this.resolved.users?.[id];
115
+ if (!user) {
116
+ throw new Error(`Discord failed to resolve user for ${key}, this is a bug.`);
117
+ }
118
+ const rawMember = this.resolved.members?.[id];
119
+ const guildId = this.guildId;
120
+ let member = null;
121
+ if (rawMember && guildId)
122
+ member = new GuildMember(this.client, { ...rawMember, mute: undefined, deaf: undefined, user }, new Guild(this.client, guildId));
123
+ return member;
124
+ }
125
+ async getChannelId(key, required = false) {
126
+ const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Channel)?.value;
127
+ if (required) {
128
+ if (!id || typeof id !== "string")
129
+ throw new Error(`Missing required option: ${key}`);
130
+ }
131
+ else if (!id || typeof id !== "string")
132
+ return undefined;
133
+ return id;
134
+ }
135
+ async getChannel(key, required = false) {
136
+ const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Channel)?.value;
137
+ if (required) {
138
+ if (!id || typeof id !== "string")
139
+ throw new Error(`Missing required option: ${key}`);
140
+ }
141
+ else if (!id || typeof id !== "string")
142
+ return undefined;
143
+ return (await this.client.fetchChannel(id)) ?? undefined;
144
+ }
145
+ getRole(key, required = false) {
146
+ const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Role)?.value;
147
+ if (required) {
148
+ if (!id || typeof id !== "string")
149
+ throw new Error(`Missing required option: ${key}`);
150
+ }
151
+ else if (!id || typeof id !== "string")
152
+ return undefined;
153
+ const role = this.resolved.roles?.[id];
154
+ if (!role) {
155
+ throw new Error(`Discord failed to resolve role for ${key}, this is a bug.`);
156
+ }
157
+ if (!this.guildId) {
158
+ throw new Error("Guild ID is not available for this interaction");
159
+ }
160
+ return new Role(this.client, role, this.guildId);
161
+ }
162
+ getMentionable(key, required = false) {
163
+ const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Mentionable)?.value;
164
+ if (required) {
165
+ if (!id || typeof id !== "string")
166
+ throw new Error(`Missing required option: ${key}`);
167
+ }
168
+ else if (!id || typeof id !== "string")
169
+ return undefined;
170
+ // Check if it's a user first
171
+ const user = this.resolved.users?.[id];
172
+ if (user) {
173
+ return new User(this.client, user);
174
+ }
175
+ // Check if it's a role
176
+ const role = this.resolved.roles?.[id];
177
+ if (role) {
178
+ if (!this.guildId) {
179
+ throw new Error("Guild ID is not available for this interaction");
180
+ }
181
+ return new Role(this.client, role, this.guildId);
182
+ }
183
+ throw new Error(`Discord failed to resolve mentionable for ${key}, this is a bug.`);
184
+ }
185
+ getAttachment(key, required = false) {
186
+ if (!this.interactionData)
187
+ throw new Error("Interaction data is not available, this is a bug in Carbon.");
188
+ const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Attachment)?.value;
189
+ if (required) {
190
+ if (!id || typeof id !== "string")
191
+ throw new Error(`Missing required option: ${key}`);
192
+ }
193
+ else if (!id || typeof id !== "string")
194
+ return undefined;
195
+ const attachment = this.interactionData.resolved?.attachments?.[id];
196
+ if (!attachment) {
197
+ if (required)
198
+ throw new Error(`Missing required option: ${key}`);
199
+ return undefined;
200
+ }
201
+ return attachment;
202
+ }
203
+ checkAgainstDefinition(key, value) {
204
+ const definition = this.definitions?.find((x) => x.name === key);
205
+ if (!definition)
206
+ return;
207
+ if (definition.type === ApplicationCommandOptionType.String &&
208
+ typeof value === "string") {
209
+ if ("max_length" in definition &&
210
+ definition.max_length &&
211
+ value.length > definition.max_length)
212
+ throw new Error(`Invalid length for option ${key}: Should be less than ${definition.max_length} characters but is ${value.length} characters`);
213
+ if ("min_length" in definition &&
214
+ definition.min_length &&
215
+ value.length < definition.min_length)
216
+ throw new Error(`Invalid length for option ${key}: Should be more than ${definition.min_length} characters but is ${value.length} characters`);
217
+ }
218
+ if ((definition.type === ApplicationCommandOptionType.Integer ||
219
+ definition.type === ApplicationCommandOptionType.Number) &&
220
+ typeof value === "number") {
221
+ if ("min_value" in definition &&
222
+ definition.min_value &&
223
+ value < definition.min_value)
224
+ throw new Error(`Invalid value for option ${key}: Should be more than ${definition.min_value} but is ${value}`);
225
+ if ("max_value" in definition &&
226
+ definition.max_value &&
227
+ value > definition.max_value)
228
+ throw new Error(`Invalid value for option ${key}: Should be less than ${definition.max_value} but is ${value}`);
229
+ }
230
+ if ("choices" in definition && definition.choices) {
231
+ const choice = definition.choices.find((x) => x.value === value);
232
+ if (!choice)
233
+ throw new Error(`Invalid choice for option ${key}: Should be one of ${definition.choices?.map((x) => x.value).join(", ")} but is ${value}`);
234
+ }
235
+ }
236
+ }
237
+ //# sourceMappingURL=OptionsHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionsHandler.js","sourceRoot":"","sources":["../../../src/internals/OptionsHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,4BAA4B,EAC5B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAIN,KAAK,EACL,WAAW,EAEX,IAAI,EACJ,IAAI,EACJ,MAAM,aAAa,CAAA;AAOpB;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,IAAI;IACvC;;OAEG;IACM,GAAG,CAAmD;IAC/D;;OAEG;IACM,QAAQ,CAAqC;IAC7C,OAAO,CAAS;IAEjB,eAAe,CAE4B;IAC3C,WAAW,CAAiB;IAEpC,YAAY,EACX,MAAM,EACN,OAAO,EACP,eAAe,EACf,WAAW,EACX,OAAO,EASP;QACA,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAA;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,4BAA4B,CAAC,UAAU,EAAE,CAAC;gBAC7D,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;oBAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACzB,CAAC;YACF,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,4BAA4B,CAAC,eAAe,EAAE,CAAC;gBACzE,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;oBAC9C,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wBACvB,KAAK,MAAM,YAAY,IAAI,SAAS,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;4BACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBAC5B,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC;QACF,CAAC;IACF,CAAC;IAUM,SAAS,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,MAAM,CACvE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAChE,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACvC,OAAO,KAAK,CAAA;IACb,CAAC;IAUM,UAAU,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,CACxE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IACN,CAAC,KAAK;YACN,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YAE5B,OAAO,SAAS,CAAA;QACjB,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACvC,OAAO,KAAK,CAAA;IACb,CAAC;IAUM,SAAS,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,MAAM,CACvE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAChE,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACvC,OAAO,KAAK,CAAA;IACb,CAAC;IAUM,UAAU,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,CACxE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,SAAS;gBACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACjE,OAAO,KAAK,CAAA;IACb,CAAC;IAUM,OAAO,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,IAAI,CACrE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACd,sCAAsC,GAAG,kBAAkB,CAC3D,CAAA;QACF,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAaM,SAAS,CACf,GAAW,EACX,QAAQ,GAAG,KAAK;QAEhB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,IAAI,CACrE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACd,sCAAsC,GAAG,kBAAkB,CAC3D,CAAA;QACF,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,IAAI,MAAM,GAAoC,IAAI,CAAA;QAClD,IAAI,SAAS,IAAI,OAAO;YACvB,MAAM,GAAG,IAAI,WAAW,CACvB,IAAI,CAAC,MAAM,EACX,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EACxD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAC/B,CAAA;QACF,OAAO,MAAM,CAAA;IACd,CAAC;IAOM,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;QACtD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,CACxE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC1D,OAAO,EAAE,CAAA;IACV,CAAC;IAaM,KAAK,CAAC,UAAU,CACtB,GAAW,EACX,QAAQ,GAAG,KAAK;QAEhB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO,CACxE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC1D,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,CAAA;IACzD,CAAC;IAUM,OAAO,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,IAAI,CACrE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACd,sCAAsC,GAAG,kBAAkB,CAC3D,CAAA;QACF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAClE,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAUM,cAAc,CACpB,GAAW,EACX,QAAQ,GAAG,KAAK;QAEhB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,WAAW,CACtE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAE1D,6BAA6B;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACnC,CAAC;QAED,uBAAuB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;YAClE,CAAC;YACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,IAAI,KAAK,CACd,6CAA6C,GAAG,kBAAkB,CAClE,CAAA;IACF,CAAC;IAIM,aAAa,CACnB,GAAW,EACX,QAAQ,GAAG,KAAK;QAEhB,IAAI,CAAC,IAAI,CAAC,eAAe;YACxB,MAAM,IAAI,KAAK,CACd,6DAA6D,CAC7D,CAAA;QACF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,UAAU,CACrE,EAAE,KAAK,CAAA;QACR,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAA;QACnE,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,IAAI,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;YAChE,OAAO,SAAS,CAAA;QACjB,CAAC;QACD,OAAO,UAAU,CAAA;IAClB,CAAC;IAEO,sBAAsB,CAC7B,GAAW,EACX,KAAgC;QAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;QAChE,IAAI,CAAC,UAAU;YAAE,OAAM;QACvB,IACC,UAAU,CAAC,IAAI,KAAK,4BAA4B,CAAC,MAAM;YACvD,OAAO,KAAK,KAAK,QAAQ,EACxB,CAAC;YACF,IACC,YAAY,IAAI,UAAU;gBAC1B,UAAU,CAAC,UAAU;gBACrB,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU;gBAEpC,MAAM,IAAI,KAAK,CACd,6BAA6B,GAAG,yBAAyB,UAAU,CAAC,UAAU,sBAAsB,KAAK,CAAC,MAAM,aAAa,CAC7H,CAAA;YACF,IACC,YAAY,IAAI,UAAU;gBAC1B,UAAU,CAAC,UAAU;gBACrB,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU;gBAEpC,MAAM,IAAI,KAAK,CACd,6BAA6B,GAAG,yBAAyB,UAAU,CAAC,UAAU,sBAAsB,KAAK,CAAC,MAAM,aAAa,CAC7H,CAAA;QACH,CAAC;QACD,IACC,CAAC,UAAU,CAAC,IAAI,KAAK,4BAA4B,CAAC,OAAO;YACxD,UAAU,CAAC,IAAI,KAAK,4BAA4B,CAAC,MAAM,CAAC;YACzD,OAAO,KAAK,KAAK,QAAQ,EACxB,CAAC;YACF,IACC,WAAW,IAAI,UAAU;gBACzB,UAAU,CAAC,SAAS;gBACpB,KAAK,GAAG,UAAU,CAAC,SAAS;gBAE5B,MAAM,IAAI,KAAK,CACd,4BAA4B,GAAG,yBAAyB,UAAU,CAAC,SAAS,WAAW,KAAK,EAAE,CAC9F,CAAA;YACF,IACC,WAAW,IAAI,UAAU;gBACzB,UAAU,CAAC,SAAS;gBACpB,KAAK,GAAG,UAAU,CAAC,SAAS;gBAE5B,MAAM,IAAI,KAAK,CACd,4BAA4B,GAAG,yBAAyB,UAAU,CAAC,SAAS,WAAW,KAAK,EAAE,CAC9F,CAAA;QACH,CAAC;QACD,IAAI,SAAS,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;YAChE,IAAI,CAAC,MAAM;gBACV,MAAM,IAAI,KAAK,CACd,6BAA6B,GAAG,sBAAsB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAC1H,CAAA;QACH,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1,9 @@
1
+ import { type APIMessageComponentSelectMenuInteraction } from "discord-api-types/v10";
2
+ import { AnySelectMenuInteraction } from "../abstracts/AnySelectMenuInteraction.js";
3
+ import type { InteractionDefaults } from "../abstracts/BaseInteraction.js";
4
+ import type { Client } from "../classes/Client.js";
5
+ export declare class RoleSelectMenuInteraction extends AnySelectMenuInteraction {
6
+ constructor(client: Client, data: APIMessageComponentSelectMenuInteraction, defaults: InteractionDefaults);
7
+ get values(): string[];
8
+ }
9
+ //# sourceMappingURL=RoleSelectMenuInteraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleSelectMenuInteraction.d.ts","sourceRoot":"","sources":["../../../src/internals/RoleSelectMenuInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,wCAAwC,EAG7C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,qBAAa,yBAA0B,SAAQ,wBAAwB;gBAErE,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,wCAAwC,EAC9C,QAAQ,EAAE,mBAAmB;IAQ9B,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;CACD"}
@@ -0,0 +1,14 @@
1
+ import { ComponentType } from "discord-api-types/v10";
2
+ import { AnySelectMenuInteraction } from "../abstracts/AnySelectMenuInteraction.js";
3
+ export class RoleSelectMenuInteraction extends AnySelectMenuInteraction {
4
+ constructor(client, data, defaults) {
5
+ super(client, data, defaults);
6
+ if (data.data.component_type !== ComponentType.RoleSelect) {
7
+ throw new Error("Invalid component type was used to create this class");
8
+ }
9
+ }
10
+ get values() {
11
+ return this.rawData.data.values;
12
+ }
13
+ }
14
+ //# sourceMappingURL=RoleSelectMenuInteraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleSelectMenuInteraction.js","sourceRoot":"","sources":["../../../src/internals/RoleSelectMenuInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAInF,MAAM,OAAO,yBAA0B,SAAQ,wBAAwB;IACtE,YACC,MAAc,EACd,IAA8C,EAC9C,QAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,aAAa,CAAC,UAAU,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACxE,CAAC;IACF,CAAC;IAED,IAAI,MAAM;QACT,OAAQ,IAAI,CAAC,OAAO,CAAC,IAA4C,CAAC,MAAM,CAAA;IACzE,CAAC;CACD"}
@@ -0,0 +1,9 @@
1
+ import { type APIMessageComponentSelectMenuInteraction } from "discord-api-types/v10";
2
+ import { AnySelectMenuInteraction } from "../abstracts/AnySelectMenuInteraction.js";
3
+ import type { InteractionDefaults } from "../abstracts/BaseInteraction.js";
4
+ import type { Client } from "../classes/Client.js";
5
+ export declare class StringSelectMenuInteraction extends AnySelectMenuInteraction {
6
+ constructor(client: Client, data: APIMessageComponentSelectMenuInteraction, defaults: InteractionDefaults);
7
+ get values(): string[];
8
+ }
9
+ //# sourceMappingURL=StringSelectMenuInteraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringSelectMenuInteraction.d.ts","sourceRoot":"","sources":["../../../src/internals/StringSelectMenuInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,wCAAwC,EAG7C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,qBAAa,2BAA4B,SAAQ,wBAAwB;gBAEvE,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,wCAAwC,EAC9C,QAAQ,EAAE,mBAAmB;IAQ9B,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;CACD"}
@@ -0,0 +1,14 @@
1
+ import { ComponentType } from "discord-api-types/v10";
2
+ import { AnySelectMenuInteraction } from "../abstracts/AnySelectMenuInteraction.js";
3
+ export class StringSelectMenuInteraction extends AnySelectMenuInteraction {
4
+ constructor(client, data, defaults) {
5
+ super(client, data, defaults);
6
+ if (data.data.component_type !== ComponentType.StringSelect) {
7
+ throw new Error("Invalid component type was used to create this class");
8
+ }
9
+ }
10
+ get values() {
11
+ return this.rawData.data.values;
12
+ }
13
+ }
14
+ //# sourceMappingURL=StringSelectMenuInteraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringSelectMenuInteraction.js","sourceRoot":"","sources":["../../../src/internals/StringSelectMenuInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAInF,MAAM,OAAO,2BAA4B,SAAQ,wBAAwB;IACxE,YACC,MAAc,EACd,IAA8C,EAC9C,QAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACxE,CAAC;IACF,CAAC;IAED,IAAI,MAAM;QACT,OAAQ,IAAI,CAAC,OAAO,CAAC,IAA8C,CAAC,MAAM,CAAA;IAC3E,CAAC;CACD"}
@@ -0,0 +1,20 @@
1
+ import type { BaseListener } from "../abstracts/BaseListener.js";
2
+ import type { Client } from "../classes/Client.js";
3
+ export declare class TemporaryListenerManager {
4
+ private client;
5
+ private listeners;
6
+ private defaultTimeout;
7
+ constructor(client: Client, defaultTimeout?: number);
8
+ register(listener: BaseListener, timeoutMs?: number): () => void;
9
+ unregister(id: string | BaseListener): boolean;
10
+ private generateId;
11
+ getCount(): number;
12
+ cleanup(): void;
13
+ getMetrics(): {
14
+ count: number;
15
+ oldestAge: number;
16
+ newestAge: number;
17
+ averageAge: number;
18
+ };
19
+ }
20
+ //# sourceMappingURL=TemporaryListenerManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemporaryListenerManager.d.ts","sourceRoot":"","sources":["../../../src/internals/TemporaryListenerManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAQlD,qBAAa,wBAAwB;IACpC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAAiD;IAClE,OAAO,CAAC,cAAc,CAAQ;gBAElB,MAAM,EAAE,MAAM,EAAE,cAAc,SAAS;IAKnD,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI;IAwBhE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO;IAkB9C,OAAO,CAAC,UAAU;IAIlB,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,IAAI;IAMf,UAAU;;;;;;CAaV"}
@@ -0,0 +1,59 @@
1
+ export class TemporaryListenerManager {
2
+ client;
3
+ listeners = new Map();
4
+ defaultTimeout;
5
+ constructor(client, defaultTimeout = 300000) {
6
+ this.client = client;
7
+ this.defaultTimeout = defaultTimeout;
8
+ }
9
+ register(listener, timeoutMs) {
10
+ const id = this.generateId(listener);
11
+ const timeout = timeoutMs ?? this.defaultTimeout;
12
+ this.unregister(id);
13
+ const timeoutHandle = setTimeout(() => {
14
+ this.unregister(id);
15
+ console.warn(`[TemporaryListenerManager] Listener ${listener.constructor.name} (${id}) timed out after ${timeout}ms and was automatically removed`);
16
+ }, timeout);
17
+ this.listeners.set(id, {
18
+ listener,
19
+ timeout: timeoutHandle,
20
+ timestamp: Date.now()
21
+ });
22
+ this.client.registerListener(listener);
23
+ return () => this.unregister(id);
24
+ }
25
+ unregister(id) {
26
+ const listenerId = typeof id === "string" ? id : this.generateId(id);
27
+ const entry = this.listeners.get(listenerId);
28
+ if (!entry)
29
+ return false;
30
+ clearTimeout(entry.timeout);
31
+ const idx = this.client.listeners.indexOf(entry.listener);
32
+ if (idx > -1) {
33
+ this.client.listeners.splice(idx, 1);
34
+ }
35
+ this.listeners.delete(listenerId);
36
+ return true;
37
+ }
38
+ generateId(listener) {
39
+ return `${listener.type}_${listener.constructor.name}_${Date.now()}_${Math.random().toString(36).substring(7)}`;
40
+ }
41
+ getCount() {
42
+ return this.listeners.size;
43
+ }
44
+ cleanup() {
45
+ for (const id of this.listeners.keys()) {
46
+ this.unregister(id);
47
+ }
48
+ }
49
+ getMetrics() {
50
+ const ages = Array.from(this.listeners.values()).map((entry) => Date.now() - entry.timestamp);
51
+ return {
52
+ count: this.listeners.size,
53
+ oldestAge: ages.length > 0 ? Math.max(...ages) : 0,
54
+ newestAge: ages.length > 0 ? Math.min(...ages) : 0,
55
+ averageAge: ages.length > 0 ? ages.reduce((a, b) => a + b, 0) / ages.length : 0
56
+ };
57
+ }
58
+ }
59
+ //# sourceMappingURL=TemporaryListenerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemporaryListenerManager.js","sourceRoot":"","sources":["../../../src/internals/TemporaryListenerManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type APIMessageComponentSelectMenuInteraction } from "discord-api-types/v10";
2
+ import { AnySelectMenuInteraction } from "../abstracts/AnySelectMenuInteraction.js";
3
+ import type { InteractionDefaults } from "../abstracts/BaseInteraction.js";
4
+ import type { Client } from "../classes/Client.js";
5
+ export declare class UserSelectMenuInteraction extends AnySelectMenuInteraction {
6
+ constructor(client: Client, data: APIMessageComponentSelectMenuInteraction, defaults: InteractionDefaults);
7
+ get values(): string[];
8
+ }
9
+ //# sourceMappingURL=UserSelectMenuInteraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserSelectMenuInteraction.d.ts","sourceRoot":"","sources":["../../../src/internals/UserSelectMenuInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,wCAAwC,EAG7C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,qBAAa,yBAA0B,SAAQ,wBAAwB;gBAErE,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,wCAAwC,EAC9C,QAAQ,EAAE,mBAAmB;IAQ9B,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;CACD"}
@@ -0,0 +1,14 @@
1
+ import { ComponentType } from "discord-api-types/v10";
2
+ import { AnySelectMenuInteraction } from "../abstracts/AnySelectMenuInteraction.js";
3
+ export class UserSelectMenuInteraction extends AnySelectMenuInteraction {
4
+ constructor(client, data, defaults) {
5
+ super(client, data, defaults);
6
+ if (data.data.component_type !== ComponentType.UserSelect) {
7
+ throw new Error("Invalid component type was used to create this class");
8
+ }
9
+ }
10
+ get values() {
11
+ return this.rawData.data.values;
12
+ }
13
+ }
14
+ //# sourceMappingURL=UserSelectMenuInteraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserSelectMenuInteraction.js","sourceRoot":"","sources":["../../../src/internals/UserSelectMenuInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAInF,MAAM,OAAO,yBAA0B,SAAQ,wBAAwB;IACtE,YACC,MAAc,EACd,IAA8C,EAC9C,QAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,aAAa,CAAC,UAAU,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACxE,CAAC;IACF,CAAC;IAED,IAAI,MAAM;QACT,OAAQ,IAAI,CAAC,OAAO,CAAC,IAA4C,CAAC,MAAM,CAAA;IACzE,CAAC;CACD"}
@@ -0,0 +1,56 @@
1
+ export declare const Permission: {
2
+ readonly CreateInstantInvite: bigint;
3
+ readonly KickMembers: bigint;
4
+ readonly BanMembers: bigint;
5
+ readonly Administrator: bigint;
6
+ readonly ManageChannels: bigint;
7
+ readonly ManageGuild: bigint;
8
+ readonly AddReactions: bigint;
9
+ readonly ViewAuditLog: bigint;
10
+ readonly PrioritySpeaker: bigint;
11
+ readonly Stream: bigint;
12
+ readonly ViewChannel: bigint;
13
+ readonly SendMessages: bigint;
14
+ readonly SendTTSMessages: bigint;
15
+ readonly ManageMessages: bigint;
16
+ readonly EmbedLinks: bigint;
17
+ readonly AttachFiles: bigint;
18
+ readonly ReadMessageHistory: bigint;
19
+ readonly MentionEveryone: bigint;
20
+ readonly UseExternalEmojis: bigint;
21
+ readonly ViewGuildInsights: bigint;
22
+ readonly Connect: bigint;
23
+ readonly Speak: bigint;
24
+ readonly MuteMembers: bigint;
25
+ readonly DeafenMembers: bigint;
26
+ readonly MoveMembers: bigint;
27
+ readonly UseVAD: bigint;
28
+ readonly ChangeNickname: bigint;
29
+ readonly ManageNicknames: bigint;
30
+ readonly ManageRoles: bigint;
31
+ readonly ManageWebhooks: bigint;
32
+ readonly ManageEmojisAndStickers: bigint;
33
+ readonly ManageGuildExpressions: bigint;
34
+ readonly UseApplicationCommands: bigint;
35
+ readonly RequestToSpeak: bigint;
36
+ readonly ManageEvents: bigint;
37
+ readonly ManageThreads: bigint;
38
+ readonly CreatePublicThreads: bigint;
39
+ readonly CreatePrivateThreads: bigint;
40
+ readonly UseExternalStickers: bigint;
41
+ readonly SendMessagesInThreads: bigint;
42
+ readonly UseEmbeddedActivities: bigint;
43
+ readonly ModerateMembers: bigint;
44
+ readonly ViewCreatorMonetizationAnalytics: bigint;
45
+ readonly UseSoundboard: bigint;
46
+ readonly CreateGuildExpressions: bigint;
47
+ readonly CreateEvents: bigint;
48
+ readonly UseExternalSounds: bigint;
49
+ readonly SendVoiceMessages: bigint;
50
+ readonly SendPolls: bigint;
51
+ readonly UseExternalApps: bigint;
52
+ readonly PinMessages: bigint;
53
+ readonly BypassSlowmode: bigint;
54
+ };
55
+ export declare const maxPermissions: bigint[];
56
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/permissions.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAsB,CAAA;AAE7C,eAAO,MAAM,cAAc,UAA4B,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { PermissionFlagsBits } from "discord-api-types/v10";
2
+ export const Permission = PermissionFlagsBits;
3
+ export const maxPermissions = Object.values(Permission);
4
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,MAAM,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAA;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA"}