@buape/carbon 0.13.0 → 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 (213) hide show
  1. package/dist/package.json +8 -7
  2. package/dist/src/abstracts/BaseCommand.d.ts +4 -0
  3. package/dist/src/abstracts/BaseCommand.d.ts.map +1 -1
  4. package/dist/src/abstracts/BaseCommand.js +23 -0
  5. package/dist/src/abstracts/BaseCommand.js.map +1 -1
  6. package/dist/src/abstracts/BaseComponent.d.ts +2 -2
  7. package/dist/src/abstracts/BaseComponent.d.ts.map +1 -1
  8. package/dist/src/abstracts/BaseInteraction.d.ts +52 -0
  9. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  10. package/dist/src/abstracts/BaseInteraction.js +43 -5
  11. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  12. package/dist/src/abstracts/BaseModalComponent.d.ts +3 -10
  13. package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -1
  14. package/dist/src/abstracts/BaseModalComponent.js.map +1 -1
  15. package/dist/src/adapters/bun/index.d.ts +2 -2
  16. package/dist/src/adapters/bun/index.d.ts.map +1 -1
  17. package/dist/src/classes/Client.d.ts +16 -5
  18. package/dist/src/classes/Client.d.ts.map +1 -1
  19. package/dist/src/classes/Client.js +51 -12
  20. package/dist/src/classes/Client.js.map +1 -1
  21. package/dist/src/classes/Listener.d.ts +2 -2
  22. package/dist/src/classes/Listener.d.ts.map +1 -1
  23. package/dist/src/classes/Modal.d.ts +2 -3
  24. package/dist/src/classes/Modal.d.ts.map +1 -1
  25. package/dist/src/classes/Modal.js.map +1 -1
  26. package/dist/src/classes/RequestClient.d.ts +18 -2
  27. package/dist/src/classes/RequestClient.d.ts.map +1 -1
  28. package/dist/src/classes/RequestClient.js +263 -65
  29. package/dist/src/classes/RequestClient.js.map +1 -1
  30. package/dist/src/classes/components/Checkbox.d.ts +12 -0
  31. package/dist/src/classes/components/Checkbox.d.ts.map +1 -0
  32. package/dist/src/classes/components/Checkbox.js +20 -0
  33. package/dist/src/classes/components/Checkbox.js.map +1 -0
  34. package/dist/src/classes/components/CheckboxGroup.d.ts +24 -0
  35. package/dist/src/classes/components/CheckboxGroup.d.ts.map +1 -0
  36. package/dist/src/classes/components/CheckboxGroup.js +37 -0
  37. package/dist/src/classes/components/CheckboxGroup.js.map +1 -0
  38. package/dist/src/classes/components/Container.d.ts +6 -2
  39. package/dist/src/classes/components/Container.d.ts.map +1 -1
  40. package/dist/src/classes/components/Container.js +11 -0
  41. package/dist/src/classes/components/Container.js.map +1 -1
  42. package/dist/src/classes/components/File.d.ts +2 -2
  43. package/dist/src/classes/components/File.d.ts.map +1 -1
  44. package/dist/src/classes/components/File.js +4 -1
  45. package/dist/src/classes/components/File.js.map +1 -1
  46. package/dist/src/classes/components/FileUpload.d.ts +3 -2
  47. package/dist/src/classes/components/FileUpload.d.ts.map +1 -1
  48. package/dist/src/classes/components/FileUpload.js +2 -2
  49. package/dist/src/classes/components/FileUpload.js.map +1 -1
  50. package/dist/src/classes/components/Label.d.ts +9 -5
  51. package/dist/src/classes/components/Label.d.ts.map +1 -1
  52. package/dist/src/classes/components/Label.js +1 -2
  53. package/dist/src/classes/components/Label.js.map +1 -1
  54. package/dist/src/classes/components/MediaGallery.d.ts +8 -13
  55. package/dist/src/classes/components/MediaGallery.d.ts.map +1 -1
  56. package/dist/src/classes/components/MediaGallery.js +5 -0
  57. package/dist/src/classes/components/MediaGallery.js.map +1 -1
  58. package/dist/src/classes/components/RadioGroup.d.ts +24 -0
  59. package/dist/src/classes/components/RadioGroup.d.ts.map +1 -0
  60. package/dist/src/classes/components/RadioGroup.js +33 -0
  61. package/dist/src/classes/components/RadioGroup.js.map +1 -0
  62. package/dist/src/classes/components/Row.d.ts.map +1 -1
  63. package/dist/src/classes/components/Row.js +2 -3
  64. package/dist/src/classes/components/Row.js.map +1 -1
  65. package/dist/src/classes/components/Section.d.ts +4 -3
  66. package/dist/src/classes/components/Section.d.ts.map +1 -1
  67. package/dist/src/classes/components/Section.js +22 -0
  68. package/dist/src/classes/components/Section.js.map +1 -1
  69. package/dist/src/classes/components/TextDisplay.d.ts +2 -2
  70. package/dist/src/classes/components/TextDisplay.d.ts.map +1 -1
  71. package/dist/src/classes/components/TextDisplay.js +3 -0
  72. package/dist/src/classes/components/TextDisplay.js.map +1 -1
  73. package/dist/src/classes/components/Thumbnail.d.ts +3 -2
  74. package/dist/src/classes/components/Thumbnail.d.ts.map +1 -1
  75. package/dist/src/classes/components/Thumbnail.js +11 -0
  76. package/dist/src/classes/components/Thumbnail.js.map +1 -1
  77. package/dist/src/index.d.ts +3 -0
  78. package/dist/src/index.d.ts.map +1 -1
  79. package/dist/src/index.js +3 -0
  80. package/dist/src/index.js.map +1 -1
  81. package/dist/src/internals/AutocompleteInteraction.d.ts +1 -1
  82. package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -1
  83. package/dist/src/internals/CommandInteraction.d.ts +4 -0
  84. package/dist/src/internals/CommandInteraction.d.ts.map +1 -1
  85. package/dist/src/internals/CommandInteraction.js +30 -0
  86. package/dist/src/internals/CommandInteraction.js.map +1 -1
  87. package/dist/src/internals/ComponentHandler.d.ts +4 -10
  88. package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
  89. package/dist/src/internals/ComponentHandler.js +46 -38
  90. package/dist/src/internals/ComponentHandler.js.map +1 -1
  91. package/dist/src/internals/EmojiHandler.d.ts.map +1 -1
  92. package/dist/src/internals/EmojiHandler.js +0 -1
  93. package/dist/src/internals/EmojiHandler.js.map +1 -1
  94. package/dist/src/internals/EventHandler.d.ts +13 -2
  95. package/dist/src/internals/EventHandler.d.ts.map +1 -1
  96. package/dist/src/internals/EventHandler.js +14 -11
  97. package/dist/src/internals/EventHandler.js.map +1 -1
  98. package/dist/src/internals/EventQueue.d.ts +59 -0
  99. package/dist/src/internals/EventQueue.d.ts.map +1 -0
  100. package/dist/src/internals/EventQueue.js +131 -0
  101. package/dist/src/internals/EventQueue.js.map +1 -0
  102. package/dist/src/internals/OptionsHandler.d.ts +9 -1
  103. package/dist/src/internals/OptionsHandler.d.ts.map +1 -1
  104. package/dist/src/internals/OptionsHandler.js +20 -1
  105. package/dist/src/internals/OptionsHandler.js.map +1 -1
  106. package/dist/src/internals/TemporaryListenerManager.d.ts +20 -0
  107. package/dist/src/internals/TemporaryListenerManager.d.ts.map +1 -0
  108. package/dist/src/internals/TemporaryListenerManager.js +59 -0
  109. package/dist/src/internals/TemporaryListenerManager.js.map +1 -0
  110. package/dist/src/permissions.d.ts +1 -0
  111. package/dist/src/permissions.d.ts.map +1 -1
  112. package/dist/src/plugins/client-manager/ClientManager.d.ts.map +1 -1
  113. package/dist/src/plugins/client-manager/ClientManager.js +7 -0
  114. package/dist/src/plugins/client-manager/ClientManager.js.map +1 -1
  115. package/dist/src/plugins/gateway/BabyCache.d.ts +13 -4
  116. package/dist/src/plugins/gateway/BabyCache.d.ts.map +1 -1
  117. package/dist/src/plugins/gateway/BabyCache.js +47 -0
  118. package/dist/src/plugins/gateway/BabyCache.js.map +1 -1
  119. package/dist/src/plugins/gateway/GatewayPlugin.d.ts +3 -0
  120. package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -1
  121. package/dist/src/plugins/gateway/GatewayPlugin.js +75 -15
  122. package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -1
  123. package/dist/src/plugins/gateway/utils/heartbeat.d.ts +1 -0
  124. package/dist/src/plugins/gateway/utils/heartbeat.d.ts.map +1 -1
  125. package/dist/src/plugins/gateway/utils/heartbeat.js +13 -8
  126. package/dist/src/plugins/gateway/utils/heartbeat.js.map +1 -1
  127. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -1
  128. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +5 -1
  129. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -1
  130. package/dist/src/plugins/voice/GuildDeleteListener.d.ts +7 -0
  131. package/dist/src/plugins/voice/GuildDeleteListener.d.ts.map +1 -0
  132. package/dist/src/plugins/voice/GuildDeleteListener.js +11 -0
  133. package/dist/src/plugins/voice/GuildDeleteListener.js.map +1 -0
  134. package/dist/src/plugins/voice/VoicePlugin.d.ts +15 -0
  135. package/dist/src/plugins/voice/VoicePlugin.d.ts.map +1 -0
  136. package/dist/src/plugins/voice/VoicePlugin.js +54 -0
  137. package/dist/src/plugins/voice/VoicePlugin.js.map +1 -0
  138. package/dist/src/plugins/voice/index.d.ts +2 -0
  139. package/dist/src/plugins/voice/index.d.ts.map +1 -0
  140. package/dist/src/plugins/voice/index.js +2 -0
  141. package/dist/src/plugins/voice/index.js.map +1 -0
  142. package/dist/src/structures/DmChannel.d.ts +4 -0
  143. package/dist/src/structures/DmChannel.d.ts.map +1 -1
  144. package/dist/src/structures/DmChannel.js +6 -0
  145. package/dist/src/structures/DmChannel.js.map +1 -1
  146. package/dist/src/structures/GroupDmChannel.d.ts +4 -0
  147. package/dist/src/structures/GroupDmChannel.d.ts.map +1 -1
  148. package/dist/src/structures/GroupDmChannel.js +6 -0
  149. package/dist/src/structures/GroupDmChannel.js.map +1 -1
  150. package/dist/src/structures/GuildMember.d.ts +10 -5
  151. package/dist/src/structures/GuildMember.d.ts.map +1 -1
  152. package/dist/src/structures/GuildMember.js.map +1 -1
  153. package/dist/src/structures/User.d.ts +1 -1
  154. package/dist/src/structures/User.d.ts.map +1 -1
  155. package/dist/src/structures/User.js +3 -3
  156. package/dist/src/structures/User.js.map +1 -1
  157. package/dist/src/types/index.d.ts +54 -1
  158. package/dist/src/types/index.d.ts.map +1 -1
  159. package/dist/src/types/index.js.map +1 -1
  160. package/dist/src/types/listeners.d.ts +4 -2
  161. package/dist/src/types/listeners.d.ts.map +1 -1
  162. package/dist/src/utils/LRUCache.d.ts +46 -0
  163. package/dist/src/utils/LRUCache.d.ts.map +1 -0
  164. package/dist/src/utils/LRUCache.js +78 -0
  165. package/dist/src/utils/LRUCache.js.map +1 -0
  166. package/dist/src/utils/customIdParser.d.ts.map +1 -1
  167. package/dist/src/utils/customIdParser.js +6 -2
  168. package/dist/src/utils/customIdParser.js.map +1 -1
  169. package/dist/src/utils/payload.d.ts.map +1 -1
  170. package/dist/src/utils/payload.js +2 -1
  171. package/dist/src/utils/payload.js.map +1 -1
  172. package/dist/tsconfig.tsbuildinfo +1 -1
  173. package/package.json +8 -7
  174. package/dist/src/classes/ApplicationManager.d.ts +0 -88
  175. package/dist/src/classes/ApplicationManager.d.ts.map +0 -1
  176. package/dist/src/classes/ApplicationManager.js +0 -179
  177. package/dist/src/classes/ApplicationManager.js.map +0 -1
  178. package/dist/src/classes/ClientWithCaching.d.ts +0 -51
  179. package/dist/src/classes/ClientWithCaching.d.ts.map +0 -1
  180. package/dist/src/classes/ClientWithCaching.js +0 -108
  181. package/dist/src/classes/ClientWithCaching.js.map +0 -1
  182. package/dist/src/classes/components/ModalChannelSelectMenu.d.ts +0 -62
  183. package/dist/src/classes/components/ModalChannelSelectMenu.d.ts.map +0 -1
  184. package/dist/src/classes/components/ModalChannelSelectMenu.js +0 -73
  185. package/dist/src/classes/components/ModalChannelSelectMenu.js.map +0 -1
  186. package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts +0 -58
  187. package/dist/src/classes/components/ModalMentionableSelectMenu.d.ts.map +0 -1
  188. package/dist/src/classes/components/ModalMentionableSelectMenu.js +0 -68
  189. package/dist/src/classes/components/ModalMentionableSelectMenu.js.map +0 -1
  190. package/dist/src/classes/components/ModalRoleSelectMenu.d.ts +0 -58
  191. package/dist/src/classes/components/ModalRoleSelectMenu.d.ts.map +0 -1
  192. package/dist/src/classes/components/ModalRoleSelectMenu.js +0 -68
  193. package/dist/src/classes/components/ModalRoleSelectMenu.js.map +0 -1
  194. package/dist/src/classes/components/ModalStringSelectMenu.d.ts +0 -58
  195. package/dist/src/classes/components/ModalStringSelectMenu.d.ts.map +0 -1
  196. package/dist/src/classes/components/ModalStringSelectMenu.js +0 -64
  197. package/dist/src/classes/components/ModalStringSelectMenu.js.map +0 -1
  198. package/dist/src/classes/components/ModalUserSelectMenu.d.ts +0 -58
  199. package/dist/src/classes/components/ModalUserSelectMenu.d.ts.map +0 -1
  200. package/dist/src/classes/components/ModalUserSelectMenu.js +0 -68
  201. package/dist/src/classes/components/ModalUserSelectMenu.js.map +0 -1
  202. package/dist/src/internals/Cache.d.ts +0 -76
  203. package/dist/src/internals/Cache.d.ts.map +0 -1
  204. package/dist/src/internals/Cache.js +0 -122
  205. package/dist/src/internals/Cache.js.map +0 -1
  206. package/dist/src/plugins/multi-app/ApplicationManager.d.ts +0 -120
  207. package/dist/src/plugins/multi-app/ApplicationManager.d.ts.map +0 -1
  208. package/dist/src/plugins/multi-app/ApplicationManager.js +0 -207
  209. package/dist/src/plugins/multi-app/ApplicationManager.js.map +0 -1
  210. package/dist/src/plugins/multi-app/index.d.ts +0 -2
  211. package/dist/src/plugins/multi-app/index.d.ts.map +0 -1
  212. package/dist/src/plugins/multi-app/index.js +0 -2
  213. package/dist/src/plugins/multi-app/index.js.map +0 -1
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buape/carbon",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "type": "module",
5
5
  "main": "./dist/src/index.js",
6
6
  "repository": "github:buape/carbon",
@@ -25,15 +25,16 @@
25
25
  },
26
26
  "license": "MIT",
27
27
  "dependencies": {
28
- "@types/node": "^22.15.17",
29
- "discord-api-types": "0.38.29"
28
+ "@types/node": "^25.0.9",
29
+ "discord-api-types": "0.38.37"
30
30
  },
31
31
  "optionalDependencies": {
32
- "@cloudflare/workers-types": "4.20250513.0",
33
- "@hono/node-server": "1.18.2",
34
- "@types/bun": "1.2.23",
32
+ "@cloudflare/workers-types": "4.20260120.0",
33
+ "@discordjs/voice": "0.19.0",
34
+ "@hono/node-server": "1.19.9",
35
+ "@types/bun": "1.3.6",
35
36
  "@types/ws": "8.18.1",
36
- "ws": "8.18.3"
37
+ "ws": "8.19.0"
37
38
  },
38
39
  "files": [
39
40
  "dist",
@@ -1,9 +1,11 @@
1
1
  import { ApplicationCommandType, type RESTPostAPIApplicationCommandsJSONBody } from "discord-api-types/v10";
2
+ import type { Client } from "../classes/Client.js";
2
3
  import { ApplicationIntegrationType, type ArrayOrSingle, type BaseMessageInteractiveComponent, type ConditionalCommandOption, InteractionContextType, type Permission } from "../index.js";
3
4
  /**
4
5
  * Represents the base data of a command that the user creates
5
6
  */
6
7
  export declare abstract class BaseCommand {
8
+ id?: string;
7
9
  /**
8
10
  * The name of the command (e.g. "ping" for /ping)
9
11
  */
@@ -69,5 +71,7 @@ export declare abstract class BaseCommand {
69
71
  * @internal
70
72
  */
71
73
  abstract serializeOptions(): RESTPostAPIApplicationCommandsJSONBody["options"];
74
+ getMention(client: Client): Promise<string>;
75
+ private findMatchingCommand;
72
76
  }
73
77
  //# sourceMappingURL=BaseCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCommand.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,KAAK,sCAAsC,EAC3C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,0BAA0B,EAC1B,KAAK,aAAa,EAClB,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,sBAAsB,EACtB,KAAK,UAAU,EACf,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,8BAAsB,WAAW;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjD;;;OAGG;IACH,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAAQ;IACjD;;;OAGG;IACH,SAAS,EAAE,OAAO,GAAG,wBAAwB,CAAQ;IACrD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;IACrC;;OAEG;IACH,gBAAgB,EAAE,0BAA0B,EAAE,CAG7C;IACD;;OAEG;IACH,QAAQ,EAAE,sBAAsB,EAAE,CAIjC;IAED;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC,CAAA;IAExE;;;OAGG;IACH,UAAU,CAAC,EAAE,+BAA+B,EAAE,CAAA;IAE9C;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;OAGG;IACH,SAAS;IAyCT;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,IAAI,sCAAsC,CAAC,SAAS,CAAC;CAC9E"}
1
+ {"version":3,"file":"BaseCommand.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,sBAAsB,EACtB,KAAK,sCAAsC,EAC3C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EACN,0BAA0B,EAC1B,KAAK,aAAa,EAClB,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,sBAAsB,EACtB,KAAK,UAAU,EACf,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,8BAAsB,WAAW;IAChC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjD;;;OAGG;IACH,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAAQ;IACjD;;;OAGG;IACH,SAAS,EAAE,OAAO,GAAG,wBAAwB,CAAQ;IACrD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;IACrC;;OAEG;IACH,gBAAgB,EAAE,0BAA0B,EAAE,CAG7C;IACD;;OAEG;IACH,QAAQ,EAAE,sBAAsB,EAAE,CAIjC;IAED;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC,CAAA;IAExE;;;OAGG;IACH,UAAU,CAAC,EAAE,+BAA+B,EAAE,CAAA;IAE9C;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;OAGG;IACH,SAAS;IAyCT;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,IAAI,sCAAsC,CAAC,SAAS,CAAC;IAExE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASjD,OAAO,CAAC,mBAAmB;CAU3B"}
@@ -4,6 +4,7 @@ import { ApplicationIntegrationType, InteractionContextType } from "../index.js"
4
4
  * Represents the base data of a command that the user creates
5
5
  */
6
6
  export class BaseCommand {
7
+ id;
7
8
  /**
8
9
  * A description of the command
9
10
  */
@@ -100,5 +101,27 @@ export class BaseCommand {
100
101
  };
101
102
  return data;
102
103
  }
104
+ async getMention(client) {
105
+ if (this.id)
106
+ return `</${this.name}:${this.id}>`;
107
+ const commands = await client.getDiscordCommands();
108
+ const match = this.findMatchingCommand(commands);
109
+ if (!match)
110
+ return `/${this.name}`;
111
+ this.id = match.id;
112
+ return `</${this.name}:${this.id}>`;
113
+ }
114
+ findMatchingCommand(commands) {
115
+ return commands.find((cmd) => {
116
+ if (cmd.name !== this.name)
117
+ return false;
118
+ if (cmd.type !== this.type)
119
+ return false;
120
+ if (!cmd.guild_id) {
121
+ return !this.guildIds || this.guildIds.length === 0;
122
+ }
123
+ return this.guildIds?.includes(cmd.guild_id) ?? true;
124
+ });
125
+ }
103
126
  }
104
127
  //# sourceMappingURL=BaseCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCommand.js","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EAEtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,0BAA0B,EAI1B,sBAAsB,EAEtB,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,MAAM,OAAgB,WAAW;IAKhC;;OAEG;IACH,WAAW,CAAS;IACpB;;;OAGG;IACH,iBAAiB,CAAyB;IAC1C;;;OAGG;IACH,wBAAwB,CAAyB;IACjD;;;OAGG;IACH,KAAK,GAAuC,KAAK,CAAA;IACjD;;;OAGG;IACH,SAAS,GAAuC,KAAK,CAAA;IAKrD;;OAEG;IACH,gBAAgB,GAAiC;QAChD,0BAA0B,CAAC,YAAY;QACvC,0BAA0B,CAAC,WAAW;KACtC,CAAA;IACD;;OAEG;IACH,QAAQ,GAA6B;QACpC,sBAAsB,CAAC,KAAK;QAC5B,sBAAsB,CAAC,KAAK;QAC5B,sBAAsB,CAAC,cAAc;KACrC,CAAA;IAED;;;OAGG;IACH,UAAU,CAA8D;IAExE;;;OAGG;IACH,UAAU,CAAoC;IAE9C;;;OAGG;IACH,QAAQ,CAAW;IAEnB;;;OAGG;IACH,SAAS;QACR,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,iBAAiB,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACrE,CAAC;QACD,iDAAiD;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,GAA2C;gBACpD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,yBAAyB,EAAE,IAAI,CAAC,wBAAwB;gBACxD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBAChC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;gBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;oBACzD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;oBACxD,CAAC,CAAC,IAAI,CAAC,UAAU;wBAChB,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE;wBACtB,CAAC,CAAC,IAAI;aACR,CAAA;YAED,OAAO,IAAI,CAAA;QACZ,CAAC;QACD,MAAM,IAAI,GAA2C;YACpD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;YAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAChC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;gBACzD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;gBACxD,CAAC,CAAC,IAAI,CAAC,UAAU;oBAChB,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE;oBACtB,CAAC,CAAC,IAAI;SACR,CAAA;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;CAOD"}
1
+ {"version":3,"file":"BaseCommand.js","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { APIMessageComponent, APIModalComponent, ComponentType } from "discord-api-types/v10";
1
+ import type { APIMessageComponent, APIModalComponent2, ComponentType } from "discord-api-types/v10";
2
2
  export declare abstract class BaseComponent {
3
3
  /**
4
4
  * The type of the component
@@ -15,6 +15,6 @@ export declare abstract class BaseComponent {
15
15
  * Generation of ids won't use another id that exists in the message if you have one defined for another component.
16
16
  */
17
17
  id?: number;
18
- abstract serialize: () => APIMessageComponent | APIModalComponent;
18
+ abstract serialize: () => APIMessageComponent | APIModalComponent2;
19
19
  }
20
20
  //# sourceMappingURL=BaseComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,MAAM,uBAAuB,CAAA;AAE9B,8BAAsB,aAAa;IAClC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAAA;IAE9C;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IAE/B;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IAEX,QAAQ,CAAC,SAAS,EAAE,MAAM,mBAAmB,GAAG,iBAAiB,CAAA;CACjE"}
1
+ {"version":3,"file":"BaseComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,MAAM,uBAAuB,CAAA;AAE9B,8BAAsB,aAAa;IAClC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAAA;IAE9C;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IAE/B;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IAEX,QAAQ,CAAC,SAAS,EAAE,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;CAClE"}
@@ -96,6 +96,10 @@ export declare abstract class BaseInteraction<T extends APIInteraction> extends
96
96
  * The custom ID of the component that was pressed
97
97
  */
98
98
  customId: string;
99
+ /**
100
+ * The message object returned by the interaction reply
101
+ */
102
+ message: Message<false>;
99
103
  /**
100
104
  * If this is a select menu, this will be the values of the selected options
101
105
  */
@@ -105,10 +109,58 @@ export declare abstract class BaseInteraction<T extends APIInteraction> extends
105
109
  * Whether the interaction was successful
106
110
  */
107
111
  success: false;
112
+ /**
113
+ * The message object returned by the interaction reply
114
+ */
115
+ message: Message<false>;
108
116
  /**
109
117
  * The reason the interaction failed
110
118
  */
111
119
  reason: "timed out";
112
120
  }>;
121
+ /**
122
+ * This function will edit to the interaction and wait for a component to be pressed.
123
+ * Any components passed in the message will not have run() functions called and
124
+ * will only trigger the interaction.acknowledge() function.
125
+ * This function will also return a promise that resolves
126
+ * to the custom ID of the component that was pressed.
127
+ *
128
+ * @param data The message data to send
129
+ * @param message The message to edit (defaults to the interaction's original message)
130
+ * @param {number} [timeout=300000] After this many milliseconds, the promise will resolve to null
131
+ *
132
+ * @returns Will return null if the interaction has not yet been replied to or if the message provided no longer exists
133
+ */
134
+ editAndWaitForComponent(data: MessagePayload, message?: Message, timeout?: number): Promise<{
135
+ /**
136
+ * Whether the interaction was successful
137
+ */
138
+ success: true;
139
+ /**
140
+ * The custom ID of the component that was pressed
141
+ */
142
+ customId: string;
143
+ /**
144
+ * The message object returned by the interaction reply
145
+ */
146
+ message: Message<false>;
147
+ /**
148
+ * If this is a select menu, this will be the values of the selected options
149
+ */
150
+ values?: string[];
151
+ } | {
152
+ /**
153
+ * Whether the interaction was successful
154
+ */
155
+ success: false;
156
+ /**
157
+ * The message object returned by the interaction reply
158
+ */
159
+ message: Message<false>;
160
+ /**
161
+ * The reason the interaction failed
162
+ */
163
+ reason: "timed out";
164
+ } | null>;
113
165
  }
114
166
  //# sourceMappingURL=BaseInteraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInteraction.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EAGnB,KAAK,eAAe,EAOpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEN,KAAK,MAAM,EAGX,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,KAAK,EAGV,IAAI,EACJ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,mBAAmB,CAAA;AAE3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,MAAM,mBAAmB,GAAG;IACjC,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,8BAAsB,eAAe,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,IAAI;IAC3E;;OAEG;IACH,IAAI,EAAE,eAAe,CAAA;IACrB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAErB;;OAEG;IACH,IAAI,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CAEzB;IACD;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B;;;OAGG;IACH,SAAS,UAAQ;IAEjB,OAAO,CAAC,gBAAgB,CAAQ;gBAEpB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB;IASlE,IAAI,MAAM,IAAI,KAAK,EAAE,GAAG,IAAI,CAG3B;IAED,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAG5B;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAG9B;IAED,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAKtB;IAED,IAAI,OAAO,kqBAGV;IAED,IAAI,MAAM,oCAIT;IAED;;;OAGG;IACH,SAAS,CAAC,qCAAqC,CAAC,IAAI,EAAE,cAAc;IAMpE;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IAoCzC;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,oBAAoB,UAAQ;IAsC9D;;;OAGG;IACH,mBAAmB,CAAC,SAAS,EAAE,OAAO;IAItC;;;;OAIG;IACG,KAAK,CAAC,EAAE,SAAiB,EAAE;;KAAK;IAmBtC;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,KAAK;IAuB5B;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,cAAc;IAgBpC;;;;;;;;;OASG;IACG,wBAAwB,CAC7B,IAAI,EAAE,cAAc,EACpB,OAAO,SAAS,GACd,OAAO,CACP;QACA;;WAEG;QACH,OAAO,EAAE,IAAI,CAAA;QACb;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAA;QAChB;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAChB,GACD;QACA;;WAEG;QACH,OAAO,EAAE,KAAK,CAAA;QACd;;WAEG;QACH,MAAM,EAAE,WAAW,CAAA;KAClB,CACH;CAuBD"}
1
+ {"version":3,"file":"BaseInteraction.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
@@ -93,8 +93,7 @@ export class BaseInteraction extends Base {
93
93
  for (const childComponent of component.components) {
94
94
  if (childComponent instanceof BaseMessageInteractiveComponent) {
95
95
  const key = childComponent.customIdParser(childComponent.customId).key;
96
- const existingComponent = this.client.componentHandler.components.find((comp) => comp.customIdParser(comp.customId).key === key);
97
- if (!existingComponent) {
96
+ if (!this.client.componentHandler.hasComponentWithKey(key)) {
98
97
  this.client.componentHandler.registerComponent(childComponent);
99
98
  }
100
99
  }
@@ -103,8 +102,7 @@ export class BaseInteraction extends Base {
103
102
  else if (component instanceof Section) {
104
103
  if (component.accessory instanceof BaseMessageInteractiveComponent) {
105
104
  const key = component.accessory.customIdParser(component.accessory.customId).key;
106
- const existingComponent = this.client.componentHandler.components.find((comp) => comp.customIdParser(comp.customId).key === key);
107
- if (!existingComponent) {
105
+ if (!this.client.componentHandler.hasComponentWithKey(key)) {
108
106
  this.client.componentHandler.registerComponent(component.accessory);
109
107
  }
110
108
  }
@@ -217,7 +215,7 @@ export class BaseInteraction extends Base {
217
215
  return new Promise((resolve) => {
218
216
  const timer = setTimeout(() => {
219
217
  this.client.componentHandler.oneOffComponents.delete(id);
220
- resolve({ success: false, reason: "timed out" });
218
+ resolve({ success: false, message, reason: "timed out" });
221
219
  }, timeout);
222
220
  this.client.componentHandler.oneOffComponents.set(id, {
223
221
  resolve: (data) => {
@@ -226,6 +224,46 @@ export class BaseInteraction extends Base {
226
224
  resolve({
227
225
  success: true,
228
226
  customId: data.custom_id,
227
+ message,
228
+ values: "values" in data ? data.values : undefined
229
+ });
230
+ }
231
+ });
232
+ });
233
+ }
234
+ /**
235
+ * This function will edit to the interaction and wait for a component to be pressed.
236
+ * Any components passed in the message will not have run() functions called and
237
+ * will only trigger the interaction.acknowledge() function.
238
+ * This function will also return a promise that resolves
239
+ * to the custom ID of the component that was pressed.
240
+ *
241
+ * @param data The message data to send
242
+ * @param message The message to edit (defaults to the interaction's original message)
243
+ * @param {number} [timeout=300000] After this many milliseconds, the promise will resolve to null
244
+ *
245
+ * @returns Will return null if the interaction has not yet been replied to or if the message provided no longer exists
246
+ */
247
+ async editAndWaitForComponent(data, message, timeout = 300000) {
248
+ const editedMessage = message
249
+ ? await message.edit(data)
250
+ : await this.message?.edit(data);
251
+ if (!editedMessage)
252
+ return null;
253
+ const id = `${editedMessage.id}-${editedMessage.channelId}`;
254
+ return new Promise((resolve) => {
255
+ const timer = setTimeout(() => {
256
+ this.client.componentHandler.oneOffComponents.delete(id);
257
+ resolve({ success: false, message: editedMessage, reason: "timed out" });
258
+ }, timeout);
259
+ this.client.componentHandler.oneOffComponents.set(id, {
260
+ resolve: (data) => {
261
+ clearTimeout(timer);
262
+ this.client.componentHandler.oneOffComponents.delete(id);
263
+ resolve({
264
+ success: true,
265
+ customId: data.custom_id,
266
+ message: editedMessage,
229
267
  values: "values" in data ? data.values : undefined
230
268
  });
231
269
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInteraction.js","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseInteraction.js","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,9 @@
1
- import type { APILabelComponent, APITextInputComponent, ComponentType } from "discord-api-types/v10";
1
+ import type { APICheckboxActionComponent, APICheckboxGroupActionComponent, APIFileUploadComponent, APIRadioGroupActionComponent, APITextInputComponent, ComponentType } from "discord-api-types/v10";
2
+ import type { APILabelComponent2 } from "../types/index.js";
2
3
  import { BaseComponent } from "./BaseComponent.js";
3
- export type APIFileUploadComponent = {
4
- type: 19;
5
- id?: number;
6
- custom_id: string;
7
- min_values?: number;
8
- max_values?: number;
9
- required?: boolean;
10
- };
11
4
  export declare abstract class BaseModalComponent extends BaseComponent {
12
5
  abstract type: ComponentType;
13
6
  readonly isV2 = true;
14
- abstract serialize: () => APITextInputComponent | APILabelComponent | APIFileUploadComponent;
7
+ abstract serialize: () => APITextInputComponent | APILabelComponent2 | APIFileUploadComponent | APICheckboxGroupActionComponent | APICheckboxActionComponent | APIRadioGroupActionComponent;
15
8
  }
16
9
  //# sourceMappingURL=BaseModalComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseModalComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,EAAE,CAAA;IACR,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AACD,8BAAsB,kBAAmB,SAAQ,aAAa;IAC7D,SAAkB,IAAI,EAAE,aAAa,CAAA;IAErC,QAAQ,CAAC,IAAI,QAAO;IAGpB,QAAQ,CAAC,SAAS,EAAE,MACjB,qBAAqB,GACrB,iBAAiB,GACjB,sBAAsB,CAAA;CACzB"}
1
+ {"version":3,"file":"BaseModalComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,8BAAsB,kBAAmB,SAAQ,aAAa;IAC7D,SAAkB,IAAI,EAAE,aAAa,CAAA;IAErC,QAAQ,CAAC,IAAI,QAAO;IAEpB,QAAQ,CAAC,SAAS,EAAE,MACjB,qBAAqB,GACrB,kBAAkB,GAClB,sBAAsB,GACtB,+BAA+B,GAC/B,0BAA0B,GAC1B,4BAA4B,CAAA;CAC/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseModalComponent.js","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAUlD,MAAM,OAAgB,kBAAmB,SAAQ,aAAa;IAGpD,IAAI,GAAG,IAAI,CAAA;CAOpB"}
1
+ {"version":3,"file":"BaseModalComponent.js","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,OAAgB,kBAAmB,SAAQ,aAAa;IAGpD,IAAI,GAAG,IAAI,CAAA;CASpB"}
@@ -1,8 +1,8 @@
1
1
  import Bun from "bun";
2
2
  import type { Client } from "../../index.js";
3
3
  import type { ClientManager } from "../../plugins/client-manager/ClientManager.js";
4
- export type Server = Bun.Server;
5
- export type ServerOptions = Omit<Bun.ServeOptions, "fetch">;
4
+ export type Server = ReturnType<typeof Bun.serve>;
5
+ export type ServerOptions = Parameters<typeof Bun.serve>[0];
6
6
  /**
7
7
  * Creates a server for the client or client manager using Bun.serve
8
8
  * @param client The Carbon client or client manager to create the server for
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/bun/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAGlF,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;AAC/B,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;AAE3D;;;;;GAKG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,OAAO,EAAE,aAAa,GACpB,MAAM,CAMR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/bun/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAGlF,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAA;AACjD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAE3D;;;;;GAKG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,OAAO,EAAE,aAAa,GACpB,MAAM,CAMR"}
@@ -1,4 +1,4 @@
1
- import { type APIInteraction } from "discord-api-types/v10";
1
+ import { type APIApplicationCommand, type APIInteraction } from "discord-api-types/v10";
2
2
  import type { BaseCommand } from "../abstracts/BaseCommand.js";
3
3
  import type { BaseListener } from "../abstracts/BaseListener.js";
4
4
  import type { BaseMessageInteractiveComponent } from "../abstracts/BaseMessageInteractiveComponent.js";
@@ -7,13 +7,16 @@ import { CommandHandler } from "../internals/CommandHandler.js";
7
7
  import { ComponentHandler } from "../internals/ComponentHandler.js";
8
8
  import { EmojiHandler } from "../internals/EmojiHandler.js";
9
9
  import { EventHandler } from "../internals/EventHandler.js";
10
+ import type { EventQueueOptions } from "../internals/EventQueue.js";
10
11
  import { ModalHandler } from "../internals/ModalHandler.js";
12
+ import { TemporaryListenerManager } from "../internals/TemporaryListenerManager.js";
11
13
  import { Guild } from "../structures/Guild.js";
12
14
  import { GuildMember } from "../structures/GuildMember.js";
13
15
  import { Message } from "../structures/Message.js";
14
16
  import { Role } from "../structures/Role.js";
15
17
  import { User } from "../structures/User.js";
16
18
  import { Webhook, type WebhookInput } from "../structures/Webhook.js";
19
+ import type { Modal } from "./Modal.js";
17
20
  import { RequestClient, type RequestClientOptions } from "./RequestClient.js";
18
21
  /**
19
22
  * The options used for initializing the client
@@ -69,6 +72,10 @@ export interface ClientOptions {
69
72
  * If set, all commands will be deployed to these guilds instead of globally.
70
73
  */
71
74
  devGuilds?: string[];
75
+ /**
76
+ * Configuration for the event queue worker pool
77
+ */
78
+ eventQueue?: EventQueueOptions;
72
79
  }
73
80
  /**
74
81
  * The main client used to interact with Discord
@@ -97,10 +104,6 @@ export declare class Client {
97
104
  * The event listeners that the client has registered
98
105
  */
99
106
  listeners: BaseListener[];
100
- /**
101
- * The components that the client has globally registered
102
- */
103
- components: BaseMessageInteractiveComponent[];
104
107
  /**
105
108
  * The rest client used to interact with the Discord API
106
109
  */
@@ -125,10 +128,15 @@ export declare class Client {
125
128
  * @internal
126
129
  */
127
130
  eventHandler: EventHandler;
131
+ /**
132
+ * The manager for temporary event listeners with automatic cleanup
133
+ */
134
+ temporaryListeners: TemporaryListenerManager;
128
135
  /**
129
136
  * The handler for application emojis for this application
130
137
  */
131
138
  emoji: EmojiHandler;
139
+ private cachedGlobalCommands;
132
140
  /**
133
141
  * The ID of the shard this client is running on, if sharding is enabled
134
142
  */
@@ -147,6 +155,7 @@ export declare class Client {
147
155
  commands?: BaseCommand[];
148
156
  listeners?: BaseListener[];
149
157
  components?: BaseMessageInteractiveComponent[];
158
+ modals?: Modal[];
150
159
  }, plugins?: Plugin[]);
151
160
  getPlugin<T extends Plugin>(id: string): T | undefined;
152
161
  private appendRoutes;
@@ -225,6 +234,8 @@ export declare class Client {
225
234
  * @returns The webhook data
226
235
  */
227
236
  fetchWebhook(input: WebhookInput): Promise<Webhook<false>>;
237
+ getDiscordCommands(force?: boolean): Promise<APIApplicationCommand[]>;
238
+ private updateCommandIdsFromDeployment;
228
239
  }
229
240
  /**
230
241
  * @hidden
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { ComponentHandler } from "../internals/ComponentHandler.js";
5
5
  import { EmojiHandler } from "../internals/EmojiHandler.js";
6
6
  import { EventHandler } from "../internals/EventHandler.js";
7
7
  import { ModalHandler } from "../internals/ModalHandler.js";
8
+ import { TemporaryListenerManager } from "../internals/TemporaryListenerManager.js";
8
9
  import { Guild } from "../structures/Guild.js";
9
10
  import { GuildMember } from "../structures/GuildMember.js";
10
11
  import { Message } from "../structures/Message.js";
@@ -37,10 +38,6 @@ export class Client {
37
38
  * The event listeners that the client has registered
38
39
  */
39
40
  listeners = [];
40
- /**
41
- * The components that the client has globally registered
42
- */
43
- components = [];
44
41
  /**
45
42
  * The rest client used to interact with the Discord API
46
43
  */
@@ -65,10 +62,15 @@ export class Client {
65
62
  * @internal
66
63
  */
67
64
  eventHandler;
65
+ /**
66
+ * The manager for temporary event listeners with automatic cleanup
67
+ */
68
+ temporaryListeners;
68
69
  /**
69
70
  * The handler for application emojis for this application
70
71
  */
71
72
  emoji;
73
+ cachedGlobalCommands = null;
72
74
  /**
73
75
  * The ID of the shard this client is running on, if sharding is enabled
74
76
  */
@@ -95,15 +97,15 @@ export class Client {
95
97
  this.options = options;
96
98
  this.commands = handlers.commands ?? [];
97
99
  this.listeners = handlers.listeners ?? [];
98
- this.components = handlers.components ?? [];
99
100
  // Remove trailing slashes from the base URL
100
101
  options.baseUrl = options.baseUrl.replace(/\/+$/, "");
101
102
  this.commandHandler = new CommandHandler(this);
102
103
  this.componentHandler = new ComponentHandler(this);
103
104
  this.modalHandler = new ModalHandler(this);
104
105
  this.eventHandler = new EventHandler(this);
106
+ this.temporaryListeners = new TemporaryListenerManager(this);
105
107
  this.emoji = new EmojiHandler(this);
106
- for (const component of this.components) {
108
+ for (const component of handlers.components ?? []) {
107
109
  this.componentHandler.registerComponent(component);
108
110
  }
109
111
  for (const command of this.commands) {
@@ -111,6 +113,9 @@ export class Client {
111
113
  this.componentHandler.registerComponent(component);
112
114
  }
113
115
  }
116
+ for (const modal of handlers.modals ?? []) {
117
+ this.modalHandler.registerModal(modal);
118
+ }
114
119
  this.rest = new RequestClient(options.token, options.requestOptions);
115
120
  this.appendRoutes();
116
121
  for (const plugin of plugins) {
@@ -166,19 +171,23 @@ export class Client {
166
171
  // If devGuilds is set, deploy all commands to those guilds (for development)
167
172
  if (this.options.devGuilds && this.options.devGuilds.length > 0) {
168
173
  for (const guildId of this.options.devGuilds) {
169
- await this.rest.put(Routes.applicationGuildCommands(this.options.clientId, guildId), { body: commands.map((c) => c.serialize()) });
174
+ const deployed = (await this.rest.put(Routes.applicationGuildCommands(this.options.clientId, guildId), { body: commands.map((c) => c.serialize()) }));
175
+ this.updateCommandIdsFromDeployment(deployed);
170
176
  }
171
177
  return new Response("OK (devGuilds)", { status: 202 });
172
178
  }
173
179
  // Deploy guild-specific commands
174
180
  for (const [guildId, cmds] of Object.entries(guildCommandsMap)) {
175
- await this.rest.put(Routes.applicationGuildCommands(this.options.clientId, guildId), { body: cmds });
181
+ const deployed = (await this.rest.put(Routes.applicationGuildCommands(this.options.clientId, guildId), { body: cmds }));
182
+ this.updateCommandIdsFromDeployment(deployed);
176
183
  }
177
184
  // Deploy global commands
178
185
  if (globalCommands.length > 0) {
179
- await this.rest.put(Routes.applicationCommands(this.options.clientId), {
186
+ const deployed = (await this.rest.put(Routes.applicationCommands(this.options.clientId), {
180
187
  body: globalCommands.map((c) => c.serialize())
181
- });
188
+ }));
189
+ this.updateCommandIdsFromDeployment(deployed);
190
+ this.cachedGlobalCommands = deployed;
182
191
  }
183
192
  return new Response("OK", { status: 202 });
184
193
  }
@@ -192,10 +201,12 @@ export class Client {
192
201
  if (!isValid)
193
202
  return new Response("Unauthorized", { status: 401 });
194
203
  const payload = (await req.json());
195
- // All ping webhooks should respond with 204 and an empty body
196
204
  if (payload.type === ApplicationWebhookType.Ping)
197
205
  return new Response(null, { status: 204 });
198
- this.eventHandler.handleEvent({ ...payload.event.data, clientId: this.options.clientId }, payload.event.type);
206
+ const enqueued = this.eventHandler.handleEvent({ ...payload.event.data, clientId: this.options.clientId }, payload.event.type);
207
+ if (!enqueued) {
208
+ return new Response("Event queue full, retry later", { status: 429 });
209
+ }
199
210
  return new Response(null, { status: 204 });
200
211
  }
201
212
  /**
@@ -367,5 +378,33 @@ export class Client {
367
378
  const webhook = new Webhook(input);
368
379
  return webhook.fetch();
369
380
  }
381
+ async getDiscordCommands(force = false) {
382
+ if (!force && this.cachedGlobalCommands) {
383
+ return this.cachedGlobalCommands;
384
+ }
385
+ const commands = (await this.rest.get(Routes.applicationCommands(this.options.clientId)));
386
+ this.cachedGlobalCommands = commands;
387
+ this.updateCommandIdsFromDeployment(commands);
388
+ return commands;
389
+ }
390
+ updateCommandIdsFromDeployment(commands) {
391
+ for (const deployed of commands) {
392
+ const match = this.commands.find((command) => {
393
+ if (command.name !== deployed.name)
394
+ return false;
395
+ if (command.type !== deployed.type)
396
+ return false;
397
+ if (deployed.guild_id) {
398
+ if (!command.guildIds || command.guildIds.length === 0)
399
+ return true;
400
+ return command.guildIds.includes(deployed.guild_id);
401
+ }
402
+ return !command.guildIds || command.guildIds.length === 0;
403
+ });
404
+ if (match) {
405
+ match.id = deployed.id;
406
+ }
407
+ }
408
+ }
370
409
  }
371
410
  //# sourceMappingURL=Client.js.map