@buape/carbon 0.11.0 → 0.13.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 (245) hide show
  1. package/README.md +1 -1
  2. package/dist/package.json +3 -3
  3. package/dist/src/abstracts/AnySelectMenu.d.ts +7 -0
  4. package/dist/src/abstracts/AnySelectMenu.d.ts.map +1 -1
  5. package/dist/src/abstracts/AnySelectMenu.js +8 -0
  6. package/dist/src/abstracts/AnySelectMenu.js.map +1 -1
  7. package/dist/src/abstracts/BaseGuildChannel.d.ts +1 -2
  8. package/dist/src/abstracts/BaseGuildChannel.d.ts.map +1 -1
  9. package/dist/src/abstracts/BaseGuildChannel.js.map +1 -1
  10. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  11. package/dist/src/abstracts/BaseInteraction.js +1 -1
  12. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  13. package/dist/src/abstracts/BaseListener.d.ts +3 -3
  14. package/dist/src/abstracts/BaseListener.d.ts.map +1 -1
  15. package/dist/src/abstracts/BaseListener.js.map +1 -1
  16. package/dist/src/abstracts/BaseModalComponent.d.ts +10 -2
  17. package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -1
  18. package/dist/src/abstracts/BaseModalComponent.js +1 -1
  19. package/dist/src/abstracts/BaseModalComponent.js.map +1 -1
  20. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +1 -2
  21. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -1
  22. package/dist/src/abstracts/GuildThreadOnlyChannel.js.map +1 -1
  23. package/dist/src/adapters/bun/index.d.ts +4 -3
  24. package/dist/src/adapters/bun/index.d.ts.map +1 -1
  25. package/dist/src/adapters/bun/index.js +2 -2
  26. package/dist/src/adapters/bun/index.js.map +1 -1
  27. package/dist/src/adapters/fetch/index.d.ts +4 -3
  28. package/dist/src/adapters/fetch/index.d.ts.map +1 -1
  29. package/dist/src/adapters/fetch/index.js +7 -2
  30. package/dist/src/adapters/fetch/index.js.map +1 -1
  31. package/dist/src/adapters/node/index.d.ts +4 -3
  32. package/dist/src/adapters/node/index.d.ts.map +1 -1
  33. package/dist/src/adapters/node/index.js +2 -2
  34. package/dist/src/adapters/node/index.js.map +1 -1
  35. package/dist/src/classes/ApplicationManager.d.ts +88 -0
  36. package/dist/src/classes/ApplicationManager.d.ts.map +1 -0
  37. package/dist/src/classes/ApplicationManager.js +179 -0
  38. package/dist/src/classes/ApplicationManager.js.map +1 -0
  39. package/dist/src/classes/Client.d.ts +14 -0
  40. package/dist/src/classes/Client.d.ts.map +1 -1
  41. package/dist/src/classes/Client.js +20 -4
  42. package/dist/src/classes/Client.js.map +1 -1
  43. package/dist/src/classes/CommandWithSubcommandGroups.d.ts.map +1 -1
  44. package/dist/src/classes/CommandWithSubcommandGroups.js +4 -8
  45. package/dist/src/classes/CommandWithSubcommandGroups.js.map +1 -1
  46. package/dist/src/classes/CommandWithSubcommands.d.ts.map +1 -1
  47. package/dist/src/classes/CommandWithSubcommands.js +2 -4
  48. package/dist/src/classes/CommandWithSubcommands.js.map +1 -1
  49. package/dist/src/classes/Listener.d.ts +13 -0
  50. package/dist/src/classes/Listener.d.ts.map +1 -1
  51. package/dist/src/classes/Listener.js +27 -6
  52. package/dist/src/classes/Listener.js.map +1 -1
  53. package/dist/src/classes/Modal.d.ts +2 -1
  54. package/dist/src/classes/Modal.d.ts.map +1 -1
  55. package/dist/src/classes/Modal.js.map +1 -1
  56. package/dist/src/classes/RequestClient.d.ts.map +1 -1
  57. package/dist/src/classes/RequestClient.js +5 -3
  58. package/dist/src/classes/RequestClient.js.map +1 -1
  59. package/dist/src/classes/components/Button.d.ts.map +1 -1
  60. package/dist/src/classes/components/Button.js.map +1 -1
  61. package/dist/src/classes/components/FileUpload.d.ts +22 -0
  62. package/dist/src/classes/components/FileUpload.d.ts.map +1 -0
  63. package/dist/src/classes/components/FileUpload.js +36 -0
  64. package/dist/src/classes/components/FileUpload.js.map +1 -0
  65. package/dist/src/classes/components/Label.d.ts +4 -4
  66. package/dist/src/classes/components/Label.d.ts.map +1 -1
  67. package/dist/src/classes/components/Label.js +7 -3
  68. package/dist/src/classes/components/Label.js.map +1 -1
  69. package/dist/src/classes/components/ModalChannelSelectMenu.d.ts +62 -0
  70. package/dist/src/classes/components/ModalChannelSelectMenu.d.ts.map +1 -0
  71. package/dist/src/classes/components/ModalChannelSelectMenu.js +73 -0
  72. package/dist/src/classes/components/ModalChannelSelectMenu.js.map +1 -0
  73. package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts +58 -0
  74. package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts.map +1 -0
  75. package/dist/src/classes/components/ModalMentionableSelectMenu.js +68 -0
  76. package/dist/src/classes/components/ModalMentionableSelectMenu.js.map +1 -0
  77. package/dist/src/classes/components/ModalRoleSelectMenu.d.ts +58 -0
  78. package/dist/src/classes/components/ModalRoleSelectMenu.d.ts.map +1 -0
  79. package/dist/src/classes/components/ModalRoleSelectMenu.js +68 -0
  80. package/dist/src/classes/components/ModalRoleSelectMenu.js.map +1 -0
  81. package/dist/src/classes/components/ModalStringSelectMenu.d.ts +56 -8
  82. package/dist/src/classes/components/ModalStringSelectMenu.d.ts.map +1 -1
  83. package/dist/src/classes/components/ModalStringSelectMenu.js +59 -10
  84. package/dist/src/classes/components/ModalStringSelectMenu.js.map +1 -1
  85. package/dist/src/classes/components/ModalUserSelectMenu.d.ts +58 -0
  86. package/dist/src/classes/components/ModalUserSelectMenu.d.ts.map +1 -0
  87. package/dist/src/classes/components/ModalUserSelectMenu.js +68 -0
  88. package/dist/src/classes/components/ModalUserSelectMenu.js.map +1 -0
  89. package/dist/src/classes/components/TextInput.d.ts +0 -1
  90. package/dist/src/classes/components/TextInput.d.ts.map +1 -1
  91. package/dist/src/classes/components/TextInput.js +0 -1
  92. package/dist/src/classes/components/TextInput.js.map +1 -1
  93. package/dist/src/errors/DiscordError.d.ts.map +1 -1
  94. package/dist/src/errors/DiscordError.js.map +1 -1
  95. package/dist/src/index.d.ts +7 -0
  96. package/dist/src/index.d.ts.map +1 -1
  97. package/dist/src/index.js +6 -0
  98. package/dist/src/index.js.map +1 -1
  99. package/dist/src/internals/CommandInteraction.d.ts.map +1 -1
  100. package/dist/src/internals/CommandInteraction.js +2 -1
  101. package/dist/src/internals/CommandInteraction.js.map +1 -1
  102. package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
  103. package/dist/src/internals/ComponentHandler.js +7 -3
  104. package/dist/src/internals/ComponentHandler.js.map +1 -1
  105. package/dist/src/internals/EmojiHandler.d.ts +19 -0
  106. package/dist/src/internals/EmojiHandler.d.ts.map +1 -0
  107. package/dist/src/internals/EmojiHandler.js +35 -0
  108. package/dist/src/internals/EmojiHandler.js.map +1 -0
  109. package/dist/src/internals/EventHandler.d.ts +2 -2
  110. package/dist/src/internals/EventHandler.d.ts.map +1 -1
  111. package/dist/src/internals/EventHandler.js +3 -1
  112. package/dist/src/internals/EventHandler.js.map +1 -1
  113. package/dist/src/internals/FieldsHandler.d.ts +49 -16
  114. package/dist/src/internals/FieldsHandler.d.ts.map +1 -1
  115. package/dist/src/internals/FieldsHandler.js +110 -26
  116. package/dist/src/internals/FieldsHandler.js.map +1 -1
  117. package/dist/src/internals/ModalHandler.d.ts.map +1 -1
  118. package/dist/src/internals/ModalHandler.js +7 -1
  119. package/dist/src/internals/ModalHandler.js.map +1 -1
  120. package/dist/src/internals/OptionsHandler.d.ts +20 -12
  121. package/dist/src/internals/OptionsHandler.d.ts.map +1 -1
  122. package/dist/src/internals/OptionsHandler.js +48 -15
  123. package/dist/src/internals/OptionsHandler.js.map +1 -1
  124. package/dist/src/plugins/client-manager/ClientManager.d.ts +151 -0
  125. package/dist/src/plugins/client-manager/ClientManager.d.ts.map +1 -0
  126. package/dist/src/plugins/client-manager/ClientManager.js +246 -0
  127. package/dist/src/plugins/client-manager/ClientManager.js.map +1 -0
  128. package/dist/src/plugins/client-manager/index.d.ts +2 -0
  129. package/dist/src/plugins/client-manager/index.d.ts.map +1 -0
  130. package/dist/src/plugins/client-manager/index.js +2 -0
  131. package/dist/src/plugins/client-manager/index.js.map +1 -0
  132. package/dist/src/plugins/command-data/CommandDataPlugin.d.ts.map +1 -1
  133. package/dist/src/plugins/command-data/CommandDataPlugin.js +3 -6
  134. package/dist/src/plugins/command-data/CommandDataPlugin.js.map +1 -1
  135. package/dist/src/plugins/gateway/BabyCache.d.ts +7 -0
  136. package/dist/src/plugins/gateway/BabyCache.d.ts.map +1 -0
  137. package/dist/src/plugins/gateway/BabyCache.js +6 -0
  138. package/dist/src/plugins/gateway/BabyCache.js.map +1 -0
  139. package/dist/src/plugins/gateway/GatewayPlugin.d.ts +4 -2
  140. package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -1
  141. package/dist/src/plugins/gateway/GatewayPlugin.js +68 -22
  142. package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -1
  143. package/dist/src/plugins/gateway/InteractionEventListener.d.ts +8 -0
  144. package/dist/src/plugins/gateway/InteractionEventListener.d.ts.map +1 -0
  145. package/dist/src/plugins/gateway/InteractionEventListener.js +9 -0
  146. package/dist/src/plugins/gateway/InteractionEventListener.js.map +1 -0
  147. package/dist/src/plugins/gateway/index.d.ts +1 -0
  148. package/dist/src/plugins/gateway/index.d.ts.map +1 -1
  149. package/dist/src/plugins/gateway/index.js +1 -0
  150. package/dist/src/plugins/gateway/index.js.map +1 -1
  151. package/dist/src/plugins/gateway/types.d.ts +5 -0
  152. package/dist/src/plugins/gateway/types.d.ts.map +1 -1
  153. package/dist/src/plugins/gateway/types.js.map +1 -1
  154. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts +5 -1
  155. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -1
  156. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +7 -5
  157. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -1
  158. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts +0 -1
  159. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts.map +1 -1
  160. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js +0 -4
  161. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js.map +1 -1
  162. package/dist/src/plugins/gateway-forwarder/index.d.ts +1 -1
  163. package/dist/src/plugins/gateway-forwarder/index.d.ts.map +1 -1
  164. package/dist/src/plugins/gateway-forwarder/index.js +1 -1
  165. package/dist/src/plugins/gateway-forwarder/index.js.map +1 -1
  166. package/dist/src/plugins/multi-app/ApplicationManager.d.ts +120 -0
  167. package/dist/src/plugins/multi-app/ApplicationManager.d.ts.map +1 -0
  168. package/dist/src/plugins/multi-app/ApplicationManager.js +207 -0
  169. package/dist/src/plugins/multi-app/ApplicationManager.js.map +1 -0
  170. package/dist/src/plugins/multi-app/index.d.ts +2 -0
  171. package/dist/src/plugins/multi-app/index.d.ts.map +1 -0
  172. package/dist/src/plugins/multi-app/index.js +2 -0
  173. package/dist/src/plugins/multi-app/index.js.map +1 -0
  174. package/dist/src/plugins/paginator/GoToPageModal.d.ts +1 -1
  175. package/dist/src/plugins/paginator/GoToPageModal.d.ts.map +1 -1
  176. package/dist/src/plugins/paginator/GoToPageModal.js +2 -2
  177. package/dist/src/plugins/paginator/GoToPageModal.js.map +1 -1
  178. package/dist/src/plugins/paginator/Paginator.d.ts.map +1 -1
  179. package/dist/src/plugins/paginator/Paginator.js +1 -1
  180. package/dist/src/plugins/paginator/Paginator.js.map +1 -1
  181. package/dist/src/plugins/paginator/index.d.ts +2 -0
  182. package/dist/src/plugins/paginator/index.d.ts.map +1 -1
  183. package/dist/src/plugins/paginator/index.js +2 -0
  184. package/dist/src/plugins/paginator/index.js.map +1 -1
  185. package/dist/src/plugins/sharding/index.d.ts +1 -1
  186. package/dist/src/plugins/sharding/index.js +1 -1
  187. package/dist/src/structures/DmChannel.d.ts.map +1 -1
  188. package/dist/src/structures/DmChannel.js.map +1 -1
  189. package/dist/src/structures/Emoji.d.ts +75 -0
  190. package/dist/src/structures/Emoji.d.ts.map +1 -0
  191. package/dist/src/structures/Emoji.js +156 -0
  192. package/dist/src/structures/Emoji.js.map +1 -0
  193. package/dist/src/structures/GroupDmChannel.d.ts +8 -1
  194. package/dist/src/structures/GroupDmChannel.d.ts.map +1 -1
  195. package/dist/src/structures/GroupDmChannel.js +13 -4
  196. package/dist/src/structures/GroupDmChannel.js.map +1 -1
  197. package/dist/src/structures/Guild.d.ts +83 -6
  198. package/dist/src/structures/Guild.d.ts.map +1 -1
  199. package/dist/src/structures/Guild.js +177 -22
  200. package/dist/src/structures/Guild.js.map +1 -1
  201. package/dist/src/structures/GuildMember.d.ts +23 -1
  202. package/dist/src/structures/GuildMember.d.ts.map +1 -1
  203. package/dist/src/structures/GuildMember.js +38 -9
  204. package/dist/src/structures/GuildMember.js.map +1 -1
  205. package/dist/src/structures/GuildScheduledEvent.d.ts +121 -0
  206. package/dist/src/structures/GuildScheduledEvent.d.ts.map +1 -0
  207. package/dist/src/structures/GuildScheduledEvent.js +228 -0
  208. package/dist/src/structures/GuildScheduledEvent.js.map +1 -0
  209. package/dist/src/structures/GuildThreadChannel.d.ts +1 -1
  210. package/dist/src/structures/GuildThreadChannel.d.ts.map +1 -1
  211. package/dist/src/structures/Role.d.ts +33 -12
  212. package/dist/src/structures/Role.d.ts.map +1 -1
  213. package/dist/src/structures/Role.js +58 -24
  214. package/dist/src/structures/Role.js.map +1 -1
  215. package/dist/src/structures/ThreadMember.d.ts.map +1 -1
  216. package/dist/src/structures/ThreadMember.js +0 -1
  217. package/dist/src/structures/ThreadMember.js.map +1 -1
  218. package/dist/src/structures/User.d.ts +16 -4
  219. package/dist/src/structures/User.d.ts.map +1 -1
  220. package/dist/src/structures/User.js +25 -9
  221. package/dist/src/structures/User.js.map +1 -1
  222. package/dist/src/structures/Webhook.d.ts +40 -19
  223. package/dist/src/structures/Webhook.d.ts.map +1 -1
  224. package/dist/src/structures/Webhook.js +70 -30
  225. package/dist/src/structures/Webhook.js.map +1 -1
  226. package/dist/src/types/index.d.ts +5 -1
  227. package/dist/src/types/index.d.ts.map +1 -1
  228. package/dist/src/types/index.js.map +1 -1
  229. package/dist/src/types/listeners.d.ts +12 -7
  230. package/dist/src/types/listeners.d.ts.map +1 -1
  231. package/dist/src/types/listeners.js +3 -1
  232. package/dist/src/types/listeners.js.map +1 -1
  233. package/dist/src/utils/cdn.d.ts +31 -0
  234. package/dist/src/utils/cdn.d.ts.map +1 -0
  235. package/dist/src/utils/cdn.js +18 -0
  236. package/dist/src/utils/cdn.js.map +1 -0
  237. package/dist/src/utils/index.d.ts +1 -0
  238. package/dist/src/utils/index.d.ts.map +1 -1
  239. package/dist/src/utils/index.js +1 -0
  240. package/dist/src/utils/index.js.map +1 -1
  241. package/dist/src/utils/payload.d.ts.map +1 -1
  242. package/dist/src/utils/payload.js +20 -5
  243. package/dist/src/utils/payload.js.map +1 -1
  244. package/dist/tsconfig.tsbuildinfo +1 -1
  245. package/package.json +3 -3
@@ -16,11 +16,17 @@ export class ModalHandler extends Base {
16
16
  * @internal
17
17
  */
18
18
  async handleInteraction(data) {
19
- const modal = this.modals.find((x) => {
19
+ let modal = this.modals.find((x) => {
20
20
  const modalKey = x.customIdParser(x.customId).key;
21
21
  const interactionKey = x.customIdParser(data.data.custom_id).key;
22
22
  return modalKey === interactionKey;
23
23
  });
24
+ if (!modal) {
25
+ modal = this.modals.find((x) => {
26
+ const modalKey = x.customIdParser(x.customId).key;
27
+ return modalKey === "*";
28
+ });
29
+ }
24
30
  if (!modal)
25
31
  return false;
26
32
  return await modal.run(new ModalInteraction(this.client, data, {}), modal.customIdParser(data.data.custom_id).data);
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHandler.js","sourceRoot":"","sources":["../../../src/internals/ModalHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,MAAM,OAAO,YAAa,SAAQ,IAAI;IACrC,MAAM,GAAY,EAAE,CAAA;IACpB;;;OAGG;IACH,aAAa,CAAC,KAAY;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACF,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAA+B;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAA;YACjD,MAAM,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAA;YAChE,OAAO,QAAQ,KAAK,cAAc,CAAA;QACnC,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAExB,OAAO,MAAM,KAAK,CAAC,GAAG,CACrB,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAC3C,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAC9C,CAAA;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"ModalHandler.js","sourceRoot":"","sources":["../../../src/internals/ModalHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,MAAM,OAAO,YAAa,SAAQ,IAAI;IACrC,MAAM,GAAY,EAAE,CAAA;IACpB;;;OAGG;IACH,aAAa,CAAC,KAAY;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACF,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAA+B;QACtD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAA;YACjD,MAAM,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAA;YAChE,OAAO,QAAQ,KAAK,cAAc,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAA;gBACjD,OAAO,QAAQ,KAAK,GAAG,CAAA;YACxB,CAAC,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAExB,OAAO,MAAM,KAAK,CAAC,GAAG,CACrB,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAC3C,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAC9C,CAAA;IACF,CAAC;CACD"}
@@ -1,6 +1,6 @@
1
- import { type APIApplicationCommandInteractionDataBasicOption, type APIApplicationCommandInteractionDataOption, type APIAutocompleteApplicationCommandInteractionData, type APIChatInputApplicationCommandInteractionData } from "discord-api-types/v10";
1
+ import { type APIApplicationCommandInteractionDataBasicOption, type APIApplicationCommandInteractionDataOption, type APIAutocompleteApplicationCommandInteractionData, type APIChatInputApplicationCommandInteractionData, type APIInteractionDataResolved } from "discord-api-types/v10";
2
2
  import { Base } from "../abstracts/Base.js";
3
- import { type Client, type CommandOptions, type ResolvedFile, Role, User, channelFactory } from "../index.js";
3
+ import { type AnyChannel, type Client, type CommandOptions, type ResolvedFile, Role, User } from "../index.js";
4
4
  export type RawOptions = {
5
5
  [key: string]: APIApplicationCommandInteractionDataBasicOption["value"] | undefined;
6
6
  };
@@ -13,13 +13,19 @@ export declare class OptionsHandler extends Base {
13
13
  * The raw options that were in the interaction data, before they were parsed.
14
14
  */
15
15
  readonly raw: APIApplicationCommandInteractionDataBasicOption[];
16
+ /**
17
+ * The resolved data from the interaction.
18
+ */
19
+ readonly resolved: Partial<APIInteractionDataResolved>;
20
+ readonly guildId?: string;
16
21
  private interactionData?;
17
22
  private definitions?;
18
- constructor({ client, options, interactionData, definitions }: {
23
+ constructor({ client, options, interactionData, definitions, guildId }: {
19
24
  client: Client;
20
25
  options: APIApplicationCommandInteractionDataOption[];
21
26
  interactionData: APIChatInputApplicationCommandInteractionData | APIAutocompleteApplicationCommandInteractionData;
22
27
  definitions: CommandOptions;
28
+ guildId?: string;
23
29
  });
24
30
  /**
25
31
  * Get the value of a string option.
@@ -59,32 +65,34 @@ export declare class OptionsHandler extends Base {
59
65
  * @param required Whether the option is required.
60
66
  * @returns The value of the option, or undefined if the option was not provided and it is not required.
61
67
  */
62
- getUser(key: string, required?: false): User<true> | undefined;
63
- getUser(key: string, required: true): User<true>;
68
+ getUser(key: string, required?: false): User | undefined;
69
+ getUser(key: string, required: true): User;
70
+ getChannelId(key: string, required?: false): Promise<string | undefined>;
71
+ getChannelId(key: string, required: true): Promise<string>;
64
72
  /**
65
73
  * Get the value of a channel option.
66
74
  * @param key The name of the option to get the value of.
67
75
  * @param required Whether the option is required.
68
- * @returns The value of the option, or undefined if the option was not provided and it is not required.
76
+ * @returns The ID of the selected channel, or undefined if the option was not provided and it is not required.
69
77
  */
70
- getChannel(key: string, required?: false): Promise<ReturnType<typeof channelFactory> | undefined>;
71
- getChannel(key: string, required: true): Promise<ReturnType<typeof channelFactory>>;
78
+ getChannel(key: string, required?: false): Promise<AnyChannel | undefined>;
79
+ getChannel(key: string, required: true): Promise<AnyChannel>;
72
80
  /**
73
81
  * Get the value of a role option.
74
82
  * @param key The name of the option to get the value of.
75
83
  * @param required Whether the option is required.
76
84
  * @returns The value of the option, or undefined if the option was not provided and it is not required.
77
85
  */
78
- getRole(key: string, required?: false): Role<true> | undefined;
79
- getRole(key: string, required: true): Role<true>;
86
+ getRole(key: string, required?: false): Role | undefined;
87
+ getRole(key: string, required: true): Role;
80
88
  /**
81
89
  * Get the value of a mentionable option.
82
90
  * @param key The name of the option to get the value of.
83
91
  * @param required Whether the option is required.
84
92
  * @returns The value of the option, or undefined if the option was not provided and it is not required.
85
93
  */
86
- getMentionable(key: string, required?: false): Promise<User | Role<true> | undefined>;
87
- getMentionable(key: string, required: true): Promise<User | Role<true>>;
94
+ getMentionable(key: string, required?: false): User | Role | undefined;
95
+ getMentionable(key: string, required: true): User | Role;
88
96
  getAttachment(key: string, required?: false): ResolvedFile | undefined;
89
97
  getAttachment(key: string, required: true): ResolvedFile;
90
98
  private checkAgainstDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/OptionsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OptionsHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/OptionsHandler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ApplicationCommandOptionType, Routes } from "discord-api-types/v10";
1
+ import { ApplicationCommandOptionType } from "discord-api-types/v10";
2
2
  import { Base } from "../abstracts/Base.js";
3
- import { Role, User, channelFactory } from "../index.js";
3
+ import { Role, User } from "../index.js";
4
4
  /**
5
5
  * This class is used to parse the options of a command, and provide errors for any missing or invalid options.
6
6
  * It is used internally by the Command class.
@@ -10,13 +10,20 @@ export class OptionsHandler extends Base {
10
10
  * The raw options that were in the interaction data, before they were parsed.
11
11
  */
12
12
  raw;
13
+ /**
14
+ * The resolved data from the interaction.
15
+ */
16
+ resolved;
17
+ guildId;
13
18
  interactionData;
14
19
  definitions;
15
- constructor({ client, options, interactionData, definitions }) {
20
+ constructor({ client, options, interactionData, definitions, guildId }) {
16
21
  super(client);
17
22
  this.raw = [];
18
23
  this.interactionData = interactionData;
19
24
  this.definitions = definitions;
25
+ this.resolved = interactionData.resolved ?? {};
26
+ this.guildId = guildId;
20
27
  for (const option of options) {
21
28
  if (option.type === ApplicationCommandOptionType.Subcommand) {
22
29
  for (const subOption of option.options ?? []) {
@@ -90,7 +97,21 @@ export class OptionsHandler extends Base {
90
97
  }
91
98
  else if (!id || typeof id !== "string")
92
99
  return undefined;
93
- return new User(this.client, id);
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
+ async getChannelId(key, required = false) {
107
+ const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Channel)?.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
+ return id;
94
115
  }
95
116
  async getChannel(key, required = false) {
96
117
  const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Channel)?.value;
@@ -100,8 +121,7 @@ export class OptionsHandler extends Base {
100
121
  }
101
122
  else if (!id || typeof id !== "string")
102
123
  return undefined;
103
- const data = (await this.client.rest.get(Routes.channel(id)));
104
- return channelFactory(this.client, data);
124
+ return (await this.client.fetchChannel(id)) ?? undefined;
105
125
  }
106
126
  getRole(key, required = false) {
107
127
  const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Role)?.value;
@@ -111,9 +131,16 @@ export class OptionsHandler extends Base {
111
131
  }
112
132
  else if (!id || typeof id !== "string")
113
133
  return undefined;
114
- return new Role(this.client, id);
134
+ const role = this.resolved.roles?.[id];
135
+ if (!role) {
136
+ throw new Error(`Discord failed to resolve role for ${key}, this is a bug.`);
137
+ }
138
+ if (!this.guildId) {
139
+ throw new Error("Guild ID is not available for this interaction");
140
+ }
141
+ return new Role(this.client, role, this.guildId);
115
142
  }
116
- async getMentionable(key, required = false) {
143
+ getMentionable(key, required = false) {
117
144
  const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Mentionable)?.value;
118
145
  if (required) {
119
146
  if (!id || typeof id !== "string")
@@ -121,14 +148,20 @@ export class OptionsHandler extends Base {
121
148
  }
122
149
  else if (!id || typeof id !== "string")
123
150
  return undefined;
124
- try {
125
- const user = new User(this.client, id);
126
- await user.fetch();
127
- return user;
128
- }
129
- catch {
130
- return new Role(this.client, id);
151
+ // Check if it's a user first
152
+ const user = this.resolved.users?.[id];
153
+ if (user) {
154
+ return new User(this.client, user);
155
+ }
156
+ // Check if it's a role
157
+ const role = this.resolved.roles?.[id];
158
+ if (role) {
159
+ if (!this.guildId) {
160
+ throw new Error("Guild ID is not available for this interaction");
161
+ }
162
+ return new Role(this.client, role, this.guildId);
131
163
  }
164
+ throw new Error(`Discord failed to resolve mentionable for ${key}, this is a bug.`);
132
165
  }
133
166
  getAttachment(key, required = false) {
134
167
  if (!this.interactionData)
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsHandler.js","sourceRoot":"","sources":["../../../src/internals/OptionsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OptionsHandler.js","sourceRoot":"","sources":["../../../src/internals/OptionsHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import type { Context, Route } from "../../abstracts/Plugin.js";
2
+ import { Client, type ClientOptions } from "../../classes/Client.js";
3
+ /**
4
+ * Credentials for a single application in the ClientManager
5
+ */
6
+ export interface ApplicationCredentials {
7
+ /**
8
+ * The client ID of the application - must be a valid Discord snowflake
9
+ */
10
+ clientId: string;
11
+ /**
12
+ * The public key of the app, used for interaction verification
13
+ * Can be a single key or an array of keys
14
+ */
15
+ publicKey: string | string[];
16
+ /**
17
+ * The token of the bot
18
+ */
19
+ token: string;
20
+ }
21
+ export interface ClientSetupOptions {
22
+ /**
23
+ * Whether to recreate the client if it already exists
24
+ */
25
+ recreate?: boolean;
26
+ /**
27
+ * Whether to set the interactions URL on the Discord Developer Portal
28
+ */
29
+ setInteractionsUrlOnDevPortal?: boolean;
30
+ /**
31
+ * Whether to set the events URL on the Discord Developer Portal
32
+ */
33
+ setEventsUrlOnDevPortal?: boolean;
34
+ }
35
+ /**
36
+ * Options for the ClientManager
37
+ */
38
+ export interface ClientManagerOptions {
39
+ /**
40
+ * The base URL of the applications to mount the proxy at
41
+ */
42
+ baseUrl: string;
43
+ /**
44
+ * The deploy secret of the applications
45
+ */
46
+ deploySecret: string;
47
+ /**
48
+ * Shared options that apply to all applications
49
+ */
50
+ sharedOptions: Omit<ClientOptions, "baseUrl" | "deploySecret" | "clientId" | "publicKey" | "token">;
51
+ /**
52
+ * Array of application credentials.
53
+ * If you need dynamic application loading (e.g., from a database),
54
+ * extend ClientManager and override getClient/getAllClients/getClientIds instead.
55
+ */
56
+ applications?: ApplicationCredentials[];
57
+ /**
58
+ * The initial setup options for the clients, this will be passed to clientManager#setupClient
59
+ */
60
+ initialSetupOptions?: ClientSetupOptions;
61
+ }
62
+ /**
63
+ * Manages multiple Discord applications, routing requests to the appropriate client
64
+ * based on the client ID in the URL path (/:clientId/*)
65
+ *
66
+ * To use with a database, extend this class and override:
67
+ * - getClient(clientId) - Return the client for a specific ID (or create it)
68
+ * - getAllClients() - Return all available clients
69
+ * - getClientIds() - Return all available client IDs
70
+ *
71
+ * Then call setupClient(credentials) to create clients on-demand.
72
+ */
73
+ export declare class ClientManager {
74
+ /**
75
+ * The routes that the application manager will handle
76
+ */
77
+ routes: Route[];
78
+ /**
79
+ * The shared deploy secret used for all applications
80
+ */
81
+ protected deploySecret?: string;
82
+ /**
83
+ * The base URL of the applications to mount the proxy at
84
+ */
85
+ protected baseUrl: string;
86
+ /**
87
+ * Shared options that apply to all applications
88
+ * Protected to allow subclasses to use it when creating clients
89
+ */
90
+ protected sharedOptions: Omit<ClientOptions, "baseUrl" | "deploySecret" | "clientId" | "publicKey" | "token">;
91
+ protected clients: Map<string, Client>;
92
+ protected staticApplications: ApplicationCredentials[];
93
+ protected initialHandlers: ConstructorParameters<typeof Client>[1];
94
+ protected initialPlugins: ConstructorParameters<typeof Client>[2];
95
+ /**
96
+ * Creates a new ClientManager
97
+ * @param options Configuration options including shared settings and per-app credentials
98
+ */
99
+ constructor(options: ClientManagerOptions, handlers: ConstructorParameters<typeof Client>[1], plugins: ConstructorParameters<typeof Client>[2]);
100
+ /**
101
+ * Setup a client from credentials.
102
+ *
103
+ * @param credentials The application credentials
104
+ * @param options The setup options for the client
105
+ * @returns A configured Client instance
106
+ */
107
+ setupClient(credentials: ApplicationCredentials, options?: ClientSetupOptions): Promise<Client>;
108
+ /**
109
+ * Set up the routing for the application manager
110
+ */
111
+ protected setupRoutes(): void;
112
+ /**
113
+ * Deploy all applications
114
+ */
115
+ protected handleGlobalDeploy(req: Request): Promise<Response>;
116
+ /**
117
+ * Handle a request and route it to the appropriate client
118
+ * @param req The incoming request
119
+ * @param ctx Optional context (for Cloudflare Workers, etc.)
120
+ */
121
+ handleRequest(req: Request, ctx?: Context): Promise<Response>;
122
+ protected handleProxyRequest(req: Request, ctx?: Context): Promise<Response>;
123
+ /**
124
+ * Get a client by its client ID
125
+ * @param clientId The client ID to look up
126
+ */
127
+ getClient(clientId: string): Client | undefined;
128
+ /**
129
+ * Get all clients that the manager is managing
130
+ */
131
+ getClients(): Client[];
132
+ /**
133
+ * Get all client IDs that the manager is managing
134
+ */
135
+ getClientIds(): string[];
136
+ /**
137
+ * Get all applications
138
+ * You can override this in an extended class to return dynamic applications
139
+ */
140
+ getApplications(): Promise<ApplicationCredentials[]>;
141
+ /**
142
+ * Get an application by its client ID
143
+ * You can override this in an extended class to return dynamic applications
144
+ */
145
+ getApplication(clientId: string): Promise<ApplicationCredentials | undefined>;
146
+ /**
147
+ * Validate if a string is a valid Discord snowflake
148
+ */
149
+ protected isValidClientId(id: string): boolean;
150
+ }
151
+ //# sourceMappingURL=ClientManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientManager.d.ts","sourceRoot":"","sources":["../../../../src/plugins/client-manager/ClientManager.ts"],"names":[],"mappings":"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"}