@buape/carbon 0.8.0 → 0.10.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 (277) hide show
  1. package/dist/package.json +7 -7
  2. package/dist/src/abstracts/AnySelectMenu.d.ts +2 -1
  3. package/dist/src/abstracts/AnySelectMenu.d.ts.map +1 -1
  4. package/dist/src/abstracts/AnySelectMenu.js +6 -0
  5. package/dist/src/abstracts/AnySelectMenu.js.map +1 -1
  6. package/dist/src/abstracts/AnySelectMenuInteraction.d.ts +0 -1
  7. package/dist/src/abstracts/AnySelectMenuInteraction.d.ts.map +1 -1
  8. package/dist/src/abstracts/AnySelectMenuInteraction.js +0 -2
  9. package/dist/src/abstracts/AnySelectMenuInteraction.js.map +1 -1
  10. package/dist/src/abstracts/BaseChannel.d.ts +10 -1
  11. package/dist/src/abstracts/BaseChannel.d.ts.map +1 -1
  12. package/dist/src/abstracts/BaseChannel.js +13 -0
  13. package/dist/src/abstracts/BaseChannel.js.map +1 -1
  14. package/dist/src/abstracts/BaseCommand.d.ts +18 -8
  15. package/dist/src/abstracts/BaseCommand.d.ts.map +1 -1
  16. package/dist/src/abstracts/BaseCommand.js +24 -7
  17. package/dist/src/abstracts/BaseCommand.js.map +1 -1
  18. package/dist/src/abstracts/BaseComponentInteraction.d.ts +0 -1
  19. package/dist/src/abstracts/BaseComponentInteraction.d.ts.map +1 -1
  20. package/dist/src/abstracts/BaseComponentInteraction.js +3 -3
  21. package/dist/src/abstracts/BaseComponentInteraction.js.map +1 -1
  22. package/dist/src/abstracts/BaseGuildChannel.d.ts +3 -2
  23. package/dist/src/abstracts/BaseGuildChannel.d.ts.map +1 -1
  24. package/dist/src/abstracts/BaseGuildChannel.js +5 -3
  25. package/dist/src/abstracts/BaseGuildChannel.js.map +1 -1
  26. package/dist/src/abstracts/BaseGuildTextChannel.d.ts +1 -1
  27. package/dist/src/abstracts/BaseGuildTextChannel.d.ts.map +1 -1
  28. package/dist/src/abstracts/BaseInteraction.d.ts +45 -2
  29. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  30. package/dist/src/abstracts/BaseInteraction.js +99 -14
  31. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  32. package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts +18 -12
  33. package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts.map +1 -1
  34. package/dist/src/abstracts/BaseMessageInteractiveComponent.js +18 -18
  35. package/dist/src/abstracts/BaseMessageInteractiveComponent.js.map +1 -1
  36. package/dist/src/abstracts/BaseModalComponent.d.ts +16 -10
  37. package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -1
  38. package/dist/src/abstracts/BaseModalComponent.js +25 -17
  39. package/dist/src/abstracts/BaseModalComponent.js.map +1 -1
  40. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +11 -4
  41. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -1
  42. package/dist/src/abstracts/GuildThreadOnlyChannel.js +14 -1
  43. package/dist/src/abstracts/GuildThreadOnlyChannel.js.map +1 -1
  44. package/dist/src/abstracts/Plugin.d.ts +1 -1
  45. package/dist/src/abstracts/Plugin.d.ts.map +1 -1
  46. package/dist/src/classes/Client.d.ts +32 -8
  47. package/dist/src/classes/Client.d.ts.map +1 -1
  48. package/dist/src/classes/Client.js +76 -17
  49. package/dist/src/classes/Client.js.map +1 -1
  50. package/dist/src/classes/ClientWithCaching.d.ts +51 -0
  51. package/dist/src/classes/ClientWithCaching.d.ts.map +1 -0
  52. package/dist/src/classes/ClientWithCaching.js +108 -0
  53. package/dist/src/classes/ClientWithCaching.js.map +1 -0
  54. package/dist/src/classes/Command.d.ts +10 -2
  55. package/dist/src/classes/Command.d.ts.map +1 -1
  56. package/dist/src/classes/Command.js +12 -1
  57. package/dist/src/classes/Command.js.map +1 -1
  58. package/dist/src/classes/Listener.d.ts +20 -0
  59. package/dist/src/classes/Listener.d.ts.map +1 -1
  60. package/dist/src/classes/Listener.js +116 -14
  61. package/dist/src/classes/Listener.js.map +1 -1
  62. package/dist/src/classes/Modal.d.ts +19 -2
  63. package/dist/src/classes/Modal.d.ts.map +1 -1
  64. package/dist/src/classes/Modal.js +14 -0
  65. package/dist/src/classes/Modal.js.map +1 -1
  66. package/dist/src/classes/RequestClient.d.ts +7 -5
  67. package/dist/src/classes/RequestClient.d.ts.map +1 -1
  68. package/dist/src/classes/RequestClient.js +28 -16
  69. package/dist/src/classes/RequestClient.js.map +1 -1
  70. package/dist/src/classes/components/Button.d.ts +3 -1
  71. package/dist/src/classes/components/Button.d.ts.map +1 -1
  72. package/dist/src/classes/components/Button.js +10 -1
  73. package/dist/src/classes/components/Button.js.map +1 -1
  74. package/dist/src/classes/components/ChannelSelectMenu.d.ts +2 -1
  75. package/dist/src/classes/components/ChannelSelectMenu.d.ts.map +1 -1
  76. package/dist/src/classes/components/ChannelSelectMenu.js +6 -0
  77. package/dist/src/classes/components/ChannelSelectMenu.js.map +1 -1
  78. package/dist/src/classes/components/Container.d.ts +0 -3
  79. package/dist/src/classes/components/Container.d.ts.map +1 -1
  80. package/dist/src/classes/components/Container.js +0 -3
  81. package/dist/src/classes/components/Container.js.map +1 -1
  82. package/dist/src/classes/components/MentionableSelectMenu.d.ts +2 -1
  83. package/dist/src/classes/components/MentionableSelectMenu.d.ts.map +1 -1
  84. package/dist/src/classes/components/MentionableSelectMenu.js +6 -0
  85. package/dist/src/classes/components/MentionableSelectMenu.js.map +1 -1
  86. package/dist/src/classes/components/RoleSelectMenu.d.ts +2 -1
  87. package/dist/src/classes/components/RoleSelectMenu.d.ts.map +1 -1
  88. package/dist/src/classes/components/RoleSelectMenu.js +6 -0
  89. package/dist/src/classes/components/RoleSelectMenu.js.map +1 -1
  90. package/dist/src/classes/components/StringSelectMenu.d.ts +2 -1
  91. package/dist/src/classes/components/StringSelectMenu.d.ts.map +1 -1
  92. package/dist/src/classes/components/StringSelectMenu.js +6 -0
  93. package/dist/src/classes/components/StringSelectMenu.js.map +1 -1
  94. package/dist/src/classes/components/UserSelectMenu.d.ts +2 -1
  95. package/dist/src/classes/components/UserSelectMenu.d.ts.map +1 -1
  96. package/dist/src/classes/components/UserSelectMenu.js +6 -0
  97. package/dist/src/classes/components/UserSelectMenu.js.map +1 -1
  98. package/dist/src/functions/enforceChoicesLimit.d.ts +3 -0
  99. package/dist/src/functions/enforceChoicesLimit.d.ts.map +1 -0
  100. package/dist/src/functions/enforceChoicesLimit.js +17 -0
  101. package/dist/src/functions/enforceChoicesLimit.js.map +1 -0
  102. package/dist/src/functions/errorsMapper.d.ts.map +1 -1
  103. package/dist/src/functions/errorsMapper.js +13 -1
  104. package/dist/src/functions/errorsMapper.js.map +1 -1
  105. package/dist/src/index.d.ts +8 -54
  106. package/dist/src/index.d.ts.map +1 -1
  107. package/dist/src/index.js +9 -5
  108. package/dist/src/index.js.map +1 -1
  109. package/dist/src/internals/AutocompleteInteraction.d.ts +9 -3
  110. package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -1
  111. package/dist/src/internals/AutocompleteInteraction.js +13 -3
  112. package/dist/src/internals/AutocompleteInteraction.js.map +1 -1
  113. package/dist/src/internals/ButtonInteraction.d.ts +0 -1
  114. package/dist/src/internals/ButtonInteraction.d.ts.map +1 -1
  115. package/dist/src/internals/ButtonInteraction.js +0 -2
  116. package/dist/src/internals/ButtonInteraction.js.map +1 -1
  117. package/dist/src/internals/Cache.d.ts +76 -0
  118. package/dist/src/internals/Cache.d.ts.map +1 -0
  119. package/dist/src/internals/Cache.js +122 -0
  120. package/dist/src/internals/Cache.js.map +1 -0
  121. package/dist/src/internals/CommandHandler.d.ts +2 -1
  122. package/dist/src/internals/CommandHandler.d.ts.map +1 -1
  123. package/dist/src/internals/CommandHandler.js +44 -13
  124. package/dist/src/internals/CommandHandler.js.map +1 -1
  125. package/dist/src/internals/CommandInteraction.d.ts +7 -1
  126. package/dist/src/internals/CommandInteraction.d.ts.map +1 -1
  127. package/dist/src/internals/CommandInteraction.js +10 -4
  128. package/dist/src/internals/CommandInteraction.js.map +1 -1
  129. package/dist/src/internals/ComponentHandler.d.ts +5 -2
  130. package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
  131. package/dist/src/internals/ComponentHandler.js +34 -10
  132. package/dist/src/internals/ComponentHandler.js.map +1 -1
  133. package/dist/src/internals/ModalHandler.d.ts +1 -1
  134. package/dist/src/internals/ModalHandler.d.ts.map +1 -1
  135. package/dist/src/internals/ModalHandler.js +6 -2
  136. package/dist/src/internals/ModalHandler.js.map +1 -1
  137. package/dist/src/internals/ModalInteraction.js +1 -1
  138. package/dist/src/internals/ModalInteraction.js.map +1 -1
  139. package/dist/src/internals/OptionsHandler.d.ts +13 -3
  140. package/dist/src/internals/OptionsHandler.d.ts.map +1 -1
  141. package/dist/src/internals/OptionsHandler.js +51 -1
  142. package/dist/src/internals/OptionsHandler.js.map +1 -1
  143. package/dist/src/permissions.d.ts +54 -0
  144. package/dist/src/permissions.d.ts.map +1 -0
  145. package/dist/src/permissions.js +4 -0
  146. package/dist/src/permissions.js.map +1 -0
  147. package/dist/src/plugins/command-data/CommandDataPlugin.d.ts +16 -0
  148. package/dist/src/plugins/command-data/CommandDataPlugin.d.ts.map +1 -0
  149. package/dist/src/plugins/command-data/CommandDataPlugin.js +46 -0
  150. package/dist/src/plugins/command-data/CommandDataPlugin.js.map +1 -0
  151. package/dist/src/plugins/command-data/index.d.ts +2 -0
  152. package/dist/src/plugins/command-data/index.d.ts.map +1 -0
  153. package/dist/src/plugins/command-data/index.js +2 -0
  154. package/dist/src/plugins/command-data/index.js.map +1 -0
  155. package/dist/src/plugins/gateway/GatewayPlugin.d.ts +47 -3
  156. package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -1
  157. package/dist/src/plugins/gateway/GatewayPlugin.js +169 -22
  158. package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -1
  159. package/dist/src/plugins/gateway/types.d.ts +58 -0
  160. package/dist/src/plugins/gateway/types.d.ts.map +1 -1
  161. package/dist/src/plugins/gateway/types.js.map +1 -1
  162. package/dist/src/plugins/gateway/utils/monitor.d.ts +2 -0
  163. package/dist/src/plugins/gateway/utils/monitor.d.ts.map +1 -1
  164. package/dist/src/plugins/gateway/utils/monitor.js +10 -1
  165. package/dist/src/plugins/gateway/utils/monitor.js.map +1 -1
  166. package/dist/src/plugins/gateway/utils/payload.d.ts +8 -5
  167. package/dist/src/plugins/gateway/utils/payload.d.ts.map +1 -1
  168. package/dist/src/plugins/gateway/utils/payload.js +20 -1
  169. package/dist/src/plugins/gateway/utils/payload.js.map +1 -1
  170. package/dist/src/plugins/gateway/utils/rateLimit.d.ts +41 -0
  171. package/dist/src/plugins/gateway/utils/rateLimit.d.ts.map +1 -0
  172. package/dist/src/plugins/gateway/utils/rateLimit.js +61 -0
  173. package/dist/src/plugins/gateway/utils/rateLimit.js.map +1 -0
  174. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts +1 -1
  175. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -1
  176. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +2 -2
  177. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -1
  178. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts +10 -0
  179. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.d.ts.map +1 -0
  180. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js +11 -0
  181. package/dist/src/plugins/gateway-forwarder/ShardedGatewayForwarderPlugin.js.map +1 -0
  182. package/dist/src/plugins/gateway-forwarder/index.d.ts +1 -0
  183. package/dist/src/plugins/gateway-forwarder/index.d.ts.map +1 -1
  184. package/dist/src/plugins/gateway-forwarder/index.js +1 -0
  185. package/dist/src/plugins/gateway-forwarder/index.js.map +1 -1
  186. package/dist/src/plugins/paginator/GoToPageModal.d.ts +24 -0
  187. package/dist/src/plugins/paginator/GoToPageModal.d.ts.map +1 -0
  188. package/dist/src/plugins/paginator/GoToPageModal.js +50 -0
  189. package/dist/src/plugins/paginator/GoToPageModal.js.map +1 -0
  190. package/dist/src/plugins/paginator/Paginator.d.ts +53 -0
  191. package/dist/src/plugins/paginator/Paginator.d.ts.map +1 -0
  192. package/dist/src/plugins/paginator/Paginator.js +183 -0
  193. package/dist/src/plugins/paginator/Paginator.js.map +1 -0
  194. package/dist/src/plugins/paginator/index.d.ts +9 -0
  195. package/dist/src/plugins/paginator/index.d.ts.map +1 -0
  196. package/dist/src/plugins/paginator/index.js +9 -0
  197. package/dist/src/plugins/paginator/index.js.map +1 -0
  198. package/dist/src/plugins/sharding/ShardingPlugin.d.ts +3 -1
  199. package/dist/src/plugins/sharding/ShardingPlugin.d.ts.map +1 -1
  200. package/dist/src/plugins/sharding/ShardingPlugin.js +11 -2
  201. package/dist/src/plugins/sharding/ShardingPlugin.js.map +1 -1
  202. package/dist/src/structures/DmChannel.d.ts +3 -3
  203. package/dist/src/structures/DmChannel.d.ts.map +1 -1
  204. package/dist/src/structures/DmChannel.js +5 -3
  205. package/dist/src/structures/DmChannel.js.map +1 -1
  206. package/dist/src/structures/GroupDmChannel.d.ts +1 -1
  207. package/dist/src/structures/GroupDmChannel.d.ts.map +1 -1
  208. package/dist/src/structures/Guild.d.ts +184 -5
  209. package/dist/src/structures/Guild.d.ts.map +1 -1
  210. package/dist/src/structures/Guild.js +406 -12
  211. package/dist/src/structures/Guild.js.map +1 -1
  212. package/dist/src/structures/GuildCategoryChannel.d.ts +1 -1
  213. package/dist/src/structures/GuildCategoryChannel.d.ts.map +1 -1
  214. package/dist/src/structures/GuildForumChannel.d.ts +1 -1
  215. package/dist/src/structures/GuildForumChannel.d.ts.map +1 -1
  216. package/dist/src/structures/GuildMember.d.ts +15 -12
  217. package/dist/src/structures/GuildMember.d.ts.map +1 -1
  218. package/dist/src/structures/GuildMember.js +78 -19
  219. package/dist/src/structures/GuildMember.js.map +1 -1
  220. package/dist/src/structures/GuildStageOrVoiceChannel.d.ts +1 -1
  221. package/dist/src/structures/GuildStageOrVoiceChannel.d.ts.map +1 -1
  222. package/dist/src/structures/GuildTextChannel.d.ts +1 -1
  223. package/dist/src/structures/GuildTextChannel.d.ts.map +1 -1
  224. package/dist/src/structures/GuildThreadChannel.d.ts +1 -1
  225. package/dist/src/structures/GuildThreadChannel.d.ts.map +1 -1
  226. package/dist/src/structures/Message.d.ts +29 -10
  227. package/dist/src/structures/Message.d.ts.map +1 -1
  228. package/dist/src/structures/Message.js +82 -18
  229. package/dist/src/structures/Message.js.map +1 -1
  230. package/dist/src/structures/Poll.d.ts +25 -0
  231. package/dist/src/structures/Poll.d.ts.map +1 -0
  232. package/dist/src/structures/Poll.js +45 -0
  233. package/dist/src/structures/Poll.js.map +1 -0
  234. package/dist/src/structures/Role.d.ts +29 -12
  235. package/dist/src/structures/Role.d.ts.map +1 -1
  236. package/dist/src/structures/Role.js +48 -21
  237. package/dist/src/structures/Role.js.map +1 -1
  238. package/dist/src/structures/ThreadMember.d.ts +36 -0
  239. package/dist/src/structures/ThreadMember.d.ts.map +1 -0
  240. package/dist/src/structures/ThreadMember.js +72 -0
  241. package/dist/src/structures/ThreadMember.js.map +1 -0
  242. package/dist/src/structures/User.d.ts +7 -2
  243. package/dist/src/structures/User.d.ts.map +1 -1
  244. package/dist/src/structures/User.js +8 -1
  245. package/dist/src/structures/User.js.map +1 -1
  246. package/dist/src/structures/Webhook.d.ts +135 -0
  247. package/dist/src/structures/Webhook.d.ts.map +1 -0
  248. package/dist/src/structures/Webhook.js +239 -0
  249. package/dist/src/structures/Webhook.js.map +1 -0
  250. package/dist/src/types/index.d.ts +73 -8
  251. package/dist/src/types/index.d.ts.map +1 -1
  252. package/dist/src/types/index.js.map +1 -1
  253. package/dist/src/types/listeners.d.ts +71 -44
  254. package/dist/src/types/listeners.d.ts.map +1 -1
  255. package/dist/src/types/listeners.js.map +1 -1
  256. package/dist/src/utils/customIdParser.d.ts +3 -0
  257. package/dist/src/utils/customIdParser.d.ts.map +1 -0
  258. package/dist/src/utils/customIdParser.js +17 -0
  259. package/dist/src/utils/customIdParser.js.map +1 -0
  260. package/dist/src/utils/index.d.ts +4 -0
  261. package/dist/src/utils/index.d.ts.map +1 -0
  262. package/dist/src/utils/index.js +4 -0
  263. package/dist/src/utils/index.js.map +1 -0
  264. package/dist/src/utils/payload.d.ts +4 -0
  265. package/dist/src/utils/payload.d.ts.map +1 -0
  266. package/dist/src/utils/payload.js +45 -0
  267. package/dist/src/utils/payload.js.map +1 -0
  268. package/dist/src/utils/verification.d.ts +4 -0
  269. package/dist/src/utils/verification.d.ts.map +1 -0
  270. package/dist/src/utils/verification.js +52 -0
  271. package/dist/src/utils/verification.js.map +1 -0
  272. package/dist/tsconfig.tsbuildinfo +1 -1
  273. package/package.json +7 -7
  274. package/dist/src/utils.d.ts +0 -9
  275. package/dist/src/utils.d.ts.map +0 -1
  276. package/dist/src/utils.js +0 -93
  277. package/dist/src/utils.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { InteractionResponseType, Routes } from "discord-api-types/v10";
1
2
  import { Base } from "../abstracts/Base.js";
2
3
  import { Button } from "../classes/components/Button.js";
3
4
  import { ChannelSelectMenu } from "../classes/components/ChannelSelectMenu.js";
@@ -13,6 +14,7 @@ import { StringSelectMenuInteraction } from "./StringSelectMenuInteraction.js";
13
14
  import { UserSelectMenuInteraction } from "./UserSelectMenuInteraction.js";
14
15
  export class ComponentHandler extends Base {
15
16
  components = [];
17
+ oneOffComponents = new Map();
16
18
  /**
17
19
  * Register a component with the handler
18
20
  * @internal
@@ -27,45 +29,67 @@ export class ComponentHandler extends Base {
27
29
  * @internal
28
30
  */
29
31
  async handleInteraction(data) {
30
- const component = this.components.find((x) => x.customId === data.data.custom_id &&
31
- x.type === data.data.component_type);
32
- if (!component)
33
- return false;
32
+ const component = this.components.find((x) => {
33
+ const componentKey = x.customIdParser(x.customId).key;
34
+ const interactionKey = x.customIdParser(data.data.custom_id).key;
35
+ return (componentKey === interactionKey && x.type === data.data.component_type);
36
+ });
37
+ if (!component) {
38
+ const oneOffComponent = this.oneOffComponents.get(`${data.message.id}-${data.message.channel_id}`);
39
+ if (oneOffComponent) {
40
+ oneOffComponent.resolve(data.data);
41
+ this.oneOffComponents.delete(`${data.message.id}-${data.message.channel_id}`);
42
+ await this.client.rest
43
+ .post(Routes.interactionCallback(data.id, data.token), {
44
+ body: {
45
+ type: InteractionResponseType.DeferredMessageUpdate
46
+ }
47
+ })
48
+ .catch(() => {
49
+ console.warn(`Failed to acknowledge one-off component interaction for message ${data.message.id}`);
50
+ });
51
+ }
52
+ else {
53
+ throw new Error(`Unknown component with type ${data.data.component_type} and custom ID ${data.data.custom_id} was received, did you forget to register the component? See https://carbon.buape.com/concepts/component-registration for more information.`);
54
+ }
55
+ return;
56
+ }
57
+ const parsed = component.customIdParser(data.data.custom_id);
34
58
  if (component instanceof Button) {
35
59
  const interaction = new ButtonInteraction(this.client, data, { ephemeral: component.ephemeral });
36
60
  if (component.defer)
37
61
  await interaction.defer();
38
- await component.run(interaction);
62
+ await component.run(interaction, parsed.data);
39
63
  }
40
64
  else if (component instanceof RoleSelectMenu) {
41
65
  const interaction = new RoleSelectMenuInteraction(this.client, data, { ephemeral: component.ephemeral });
42
66
  if (component.defer)
43
67
  await interaction.defer();
44
- await component.run(interaction);
68
+ await component.run(interaction, parsed.data);
45
69
  }
46
70
  else if (component instanceof ChannelSelectMenu) {
47
71
  const interaction = new ChannelSelectMenuInteraction(this.client, data, { ephemeral: component.ephemeral });
48
72
  if (component.defer)
49
73
  await interaction.defer();
50
- await component.run(interaction);
74
+ await component.run(interaction, parsed.data);
51
75
  }
52
76
  else if (component instanceof MentionableSelectMenu) {
53
77
  const interaction = new MentionableSelectMenuInteraction(this.client, data, { ephemeral: component.ephemeral });
54
78
  if (component.defer)
55
79
  await interaction.defer();
56
- await component.run(interaction);
80
+ await component.run(interaction, parsed.data);
57
81
  }
58
82
  else if (component instanceof StringSelectMenu) {
59
83
  const interaction = new StringSelectMenuInteraction(this.client, data, { ephemeral: component.ephemeral });
60
84
  if (component.defer)
61
85
  await interaction.defer();
62
- await component.run(interaction);
86
+ await component.run(interaction, parsed.data);
63
87
  }
64
88
  else if (component instanceof UserSelectMenu) {
65
89
  const interaction = new UserSelectMenuInteraction(this.client, data, { ephemeral: component.ephemeral });
66
90
  if (component.defer)
67
91
  await interaction.defer();
68
- await component.run(interaction);
92
+ await component.run(interaction, parsed.data);
69
93
  }
70
94
  else {
71
95
  throw new Error(`Unknown component with type ${data.data.component_type} and custom ID ${data.data.custom_id}`);
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentHandler.js","sourceRoot":"","sources":["../../../src/internals/ComponentHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComponentHandler.js","sourceRoot":"","sources":["../../../src/internals/ComponentHandler.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,6 @@ export declare class ModalHandler extends Base {
12
12
  * Handle an interaction
13
13
  * @internal
14
14
  */
15
- handleInteraction(data: APIModalSubmitInteraction): Promise<false | void>;
15
+ handleInteraction(data: APIModalSubmitInteraction): Promise<unknown>;
16
16
  }
17
17
  //# sourceMappingURL=ModalHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/ModalHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAGhD,qBAAa,YAAa,SAAQ,IAAI;IACrC,MAAM,EAAE,KAAK,EAAE,CAAK;IACpB;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK;IAK1B;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,yBAAyB;CAMvD"}
1
+ {"version":3,"file":"ModalHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/ModalHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAGhD,qBAAa,YAAa,SAAQ,IAAI;IACrC,MAAM,EAAE,KAAK,EAAE,CAAK;IACpB;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK;IAK1B;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,yBAAyB;CAavD"}
@@ -16,10 +16,14 @@ export class ModalHandler extends Base {
16
16
  * @internal
17
17
  */
18
18
  async handleInteraction(data) {
19
- const modal = this.modals.find((x) => x.customId === data.data.custom_id);
19
+ const modal = this.modals.find((x) => {
20
+ const modalKey = x.customIdParser(x.customId).key;
21
+ const interactionKey = x.customIdParser(data.data.custom_id).key;
22
+ return modalKey === interactionKey;
23
+ });
20
24
  if (!modal)
21
25
  return false;
22
- return await modal.run(new ModalInteraction(this.client, data, {}));
26
+ return await modal.run(new ModalInteraction(this.client, data, {}), modal.customIdParser(data.data.custom_id).data);
23
27
  }
24
28
  }
25
29
  //# sourceMappingURL=ModalHandler.js.map
@@ -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,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzE,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAExB,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IACpE,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,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,6 +1,6 @@
1
1
  import { InteractionResponseType, Routes } from "discord-api-types/v10";
2
2
  import { BaseInteraction } from "../abstracts/BaseInteraction.js";
3
- import { serializePayload } from "../utils.js";
3
+ import { serializePayload } from "../utils/index.js";
4
4
  import { FieldsHandler } from "./FieldsHandler.js";
5
5
  export class ModalInteraction extends BaseInteraction {
6
6
  customId;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalInteraction.js","sourceRoot":"","sources":["../../../src/internals/ModalInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,uBAAuB,EAEvB,MAAM,EACN,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,OAAO,gBAAiB,SAAQ,eAA0C;IAC/E,QAAQ,CAAQ;IAChB,MAAM,CAAe;IAErB,YACC,MAAc,EACd,IAA+B,EAC/B,QAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAE7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QAChB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/D;YACC,IAAI,EAAE;gBACL,IAAI,EAAE,uBAAuB,CAAC,qBAAqB;aACT;SAC3C,CACD,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAAoB;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/D;YACC,IAAI,EAAE;gBACL,IAAI,EAAE,uBAAuB,CAAC,aAAa;gBAC3C,IAAI,EAAE;oBACL,GAAG,UAAU;iBACb;aACyC;SAC3C,CACD,CAAA;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"ModalInteraction.js","sourceRoot":"","sources":["../../../src/internals/ModalInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,uBAAuB,EAEvB,MAAM,EACN,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAGjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,OAAO,gBAAiB,SAAQ,eAA0C;IAC/E,QAAQ,CAAQ;IAChB,MAAM,CAAe;IAErB,YACC,MAAc,EACd,IAA+B,EAC/B,QAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAE7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QAChB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/D;YACC,IAAI,EAAE;gBACL,IAAI,EAAE,uBAAuB,CAAC,qBAAqB;aACT;SAC3C,CACD,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAAoB;QAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/D;YACC,IAAI,EAAE;gBACL,IAAI,EAAE,uBAAuB,CAAC,aAAa;gBAC3C,IAAI,EAAE;oBACL,GAAG,UAAU;iBACb;aACyC;SAC3C,CACD,CAAA;IACF,CAAC;CACD"}
@@ -1,6 +1,6 @@
1
- import { type APIApplicationCommandInteractionDataBasicOption, type APIApplicationCommandInteractionDataOption } from "discord-api-types/v10";
1
+ import { type APIApplicationCommandInteractionDataBasicOption, type APIApplicationCommandInteractionDataOption, type APIAutocompleteApplicationCommandInteractionData, type APIChatInputApplicationCommandInteractionData } from "discord-api-types/v10";
2
2
  import { Base } from "../abstracts/Base.js";
3
- import { type Client, Role, User, channelFactory } from "../index.js";
3
+ import { type Client, type CommandOptions, type ResolvedFile, Role, User, channelFactory } from "../index.js";
4
4
  export type RawOptions = {
5
5
  [key: string]: APIApplicationCommandInteractionDataBasicOption["value"] | undefined;
6
6
  };
@@ -13,7 +13,14 @@ 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
- constructor(client: Client, options: APIApplicationCommandInteractionDataOption[]);
16
+ private interactionData?;
17
+ private definitions?;
18
+ constructor({ client, options, interactionData, definitions }: {
19
+ client: Client;
20
+ options: APIApplicationCommandInteractionDataOption[];
21
+ interactionData: APIChatInputApplicationCommandInteractionData | APIAutocompleteApplicationCommandInteractionData;
22
+ definitions: CommandOptions;
23
+ });
17
24
  /**
18
25
  * Get the value of a string option.
19
26
  * @param key The name of the option to get the value of.
@@ -78,5 +85,8 @@ export declare class OptionsHandler extends Base {
78
85
  */
79
86
  getMentionable(key: string, required?: false): Promise<User | Role<true> | undefined>;
80
87
  getMentionable(key: string, required: true): Promise<User | Role<true>>;
88
+ getAttachment(key: string, required?: false): ResolvedFile | undefined;
89
+ getAttachment(key: string, required: true): ResolvedFile;
90
+ private checkAgainstDefinition;
81
91
  }
82
92
  //# sourceMappingURL=OptionsHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/OptionsHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,+CAA+C,EACpD,KAAK,0CAA0C,EAI/C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAErE,MAAM,MAAM,UAAU,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GACT,+CAA+C,CAAC,OAAO,CAAC,GACxD,SAAS,CAAA;CACZ,CAAA;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,IAAI;IACvC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,+CAA+C,EAAE,CAAA;gBAG9D,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0CAA0C,EAAE;IAuBtD;;;;;OAKG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS;IAC5D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAM;IAYrD;;;;;OAKG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS;IAC7D,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAM;IAiBtD;;;;;OAKG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS;IAC5D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAM;IAYrD;;;;;OAKG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS;IAC9D,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO;IAYvD;;;;;OAKG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS;IAC9D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAYvD;;;;;OAKG;IACU,UAAU,CACtB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,KAAK,GACd,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,SAAS,CAAC;IAC5C,UAAU,CACtB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,IAAI,GACZ,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAgB7C;;;;;OAKG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS;IAC9D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAYvD;;;;;OAKG;IACU,cAAc,CAC1B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,KAAK,GACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5B,cAAc,CAC1B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,IAAI,GACZ,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;CAsB7B"}
1
+ {"version":3,"file":"OptionsHandler.d.ts","sourceRoot":"","sources":["../../../src/internals/OptionsHandler.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,13 @@ 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
- constructor(client, options) {
13
+ interactionData;
14
+ definitions;
15
+ constructor({ client, options, interactionData, definitions }) {
14
16
  super(client);
15
17
  this.raw = [];
18
+ this.interactionData = interactionData;
19
+ this.definitions = definitions;
16
20
  for (const option of options) {
17
21
  if (option.type === ApplicationCommandOptionType.Subcommand) {
18
22
  for (const subOption of option.options ?? []) {
@@ -41,6 +45,7 @@ export class OptionsHandler extends Base {
41
45
  }
42
46
  else if (!value || typeof value !== "string")
43
47
  return undefined;
48
+ this.checkAgainstDefinition(key, value);
44
49
  return value;
45
50
  }
46
51
  getInteger(key, required = false) {
@@ -53,6 +58,7 @@ export class OptionsHandler extends Base {
53
58
  typeof value !== "number" ||
54
59
  !Number.isSafeInteger(value))
55
60
  return undefined;
61
+ this.checkAgainstDefinition(key, value);
56
62
  return value;
57
63
  }
58
64
  getNumber(key, required = false) {
@@ -63,6 +69,7 @@ export class OptionsHandler extends Base {
63
69
  }
64
70
  else if (!value || typeof value !== "number")
65
71
  return undefined;
72
+ this.checkAgainstDefinition(key, value);
66
73
  return value;
67
74
  }
68
75
  getBoolean(key, required = false) {
@@ -123,5 +130,48 @@ export class OptionsHandler extends Base {
123
130
  return new Role(this.client, id);
124
131
  }
125
132
  }
133
+ getAttachment(key, required = false) {
134
+ if (!this.interactionData)
135
+ throw new Error("Interaction data is not available, this is a bug in Carbon.");
136
+ const id = this.raw.find((x) => x.name === key && x.type === ApplicationCommandOptionType.Attachment)?.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
+ const attachment = this.interactionData.resolved?.attachments?.[id];
144
+ if (!attachment) {
145
+ if (required)
146
+ throw new Error(`Missing required option: ${key}`);
147
+ return undefined;
148
+ }
149
+ return attachment;
150
+ }
151
+ checkAgainstDefinition(key, value) {
152
+ const definition = this.definitions?.find((x) => x.name === key);
153
+ if (!definition)
154
+ return;
155
+ if (definition.type === ApplicationCommandOptionType.String &&
156
+ typeof value === "string") {
157
+ if (definition.max_length && value.length > definition.max_length)
158
+ throw new Error(`Invalid length for option ${key}: Should be less than ${definition.max_length} characters but is ${value.length} characters`);
159
+ if (definition.min_length && value.length < definition.min_length)
160
+ throw new Error(`Invalid length for option ${key}: Should be more than ${definition.min_length} characters but is ${value.length} characters`);
161
+ }
162
+ if ((definition.type === ApplicationCommandOptionType.Integer ||
163
+ definition.type === ApplicationCommandOptionType.Number) &&
164
+ typeof value === "number") {
165
+ if (definition.min_value && value < definition.min_value)
166
+ throw new Error(`Invalid value for option ${key}: Should be more than ${definition.min_value} but is ${value}`);
167
+ if (definition.max_value && value > definition.max_value)
168
+ throw new Error(`Invalid value for option ${key}: Should be less than ${definition.max_value} but is ${value}`);
169
+ }
170
+ if ("choices" in definition && definition.choices) {
171
+ const choice = definition.choices.find((x) => x.value === value);
172
+ if (!choice)
173
+ throw new Error(`Invalid choice for option ${key}: Should be one of ${definition.choices?.map((x) => x.value).join(", ")} but is ${value}`);
174
+ }
175
+ }
126
176
  }
127
177
  //# sourceMappingURL=OptionsHandler.js.map
@@ -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,54 @@
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
+ };
53
+ export declare const maxPermissions: bigint[];
54
+ //# 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"}
@@ -0,0 +1,16 @@
1
+ import { Plugin } from "../../abstracts/Plugin.js";
2
+ import type { Client } from "../../classes/Client.js";
3
+ /**
4
+ * This plugin is a basic plugin that allows you to get the command data from the client over HTTP.
5
+ * The JSON array provided here is the same as the one you would send to Discord, allowing you to build your own command deployment setup.
6
+ */
7
+ export declare class CommandDataPlugin extends Plugin {
8
+ readonly id = "command-data";
9
+ client?: Client;
10
+ registerClient(client: Client): void;
11
+ registerRoutes(client: Client): void;
12
+ private discordCommandData;
13
+ handleFullCommandDataRequest(): Promise<Response>;
14
+ handleCommandDataRequest(): Promise<Response>;
15
+ }
16
+ //# sourceMappingURL=CommandDataPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandDataPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/command-data/CommandDataPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;IAC5C,QAAQ,CAAC,EAAE,kBAAiB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IAER,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,cAAc,CAAC,MAAM,EAAE,MAAM;IAepC,OAAO,CAAC,kBAAkB,CAAuC;IACpD,4BAA4B;IAe5B,wBAAwB;CAQrC"}
@@ -0,0 +1,46 @@
1
+ import { Routes } from "discord-api-types/v10";
2
+ import { Plugin } from "../../abstracts/Plugin.js";
3
+ /**
4
+ * This plugin is a basic plugin that allows you to get the command data from the client over HTTP.
5
+ * The JSON array provided here is the same as the one you would send to Discord, allowing you to build your own command deployment setup.
6
+ */
7
+ export class CommandDataPlugin extends Plugin {
8
+ id = "command-data";
9
+ client;
10
+ registerClient(client) {
11
+ this.client = client;
12
+ }
13
+ registerRoutes(client) {
14
+ client.routes.push({
15
+ method: "GET",
16
+ path: "/commands",
17
+ handler: this.handleCommandDataRequest.bind(this)
18
+ }, {
19
+ method: "GET",
20
+ path: "/commands/full",
21
+ handler: this.handleFullCommandDataRequest.bind(this)
22
+ });
23
+ }
24
+ discordCommandData = null;
25
+ async handleFullCommandDataRequest() {
26
+ if (!this.client)
27
+ return new Response("Client not registered", { status: 500 });
28
+ if (this.discordCommandData)
29
+ return new Response(JSON.stringify(this.discordCommandData), {
30
+ status: 200,
31
+ headers: { "Content-Type": "application/json" }
32
+ });
33
+ const commands = (await this.client.rest.get(Routes.applicationCommands(this.client.options.clientId)));
34
+ this.discordCommandData = commands;
35
+ return new Response(JSON.stringify(commands), { status: 200 });
36
+ }
37
+ async handleCommandDataRequest() {
38
+ if (!this.client)
39
+ return new Response("Client not registered", { status: 500 });
40
+ const commands = this.client?.commands
41
+ .filter((c) => c.name !== "*")
42
+ .map((c) => c.serialize());
43
+ return new Response(JSON.stringify(commands), { status: 200 });
44
+ }
45
+ }
46
+ //# sourceMappingURL=CommandDataPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandDataPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/command-data/CommandDataPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAGlD;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,MAAM;IACnC,EAAE,GAAG,cAAc,CAAA;IAC5B,MAAM,CAAS;IAER,cAAc,CAAC,MAAc;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACrB,CAAC;IAEM,cAAc,CAAC,MAAc;QACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CACjB;YACC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;SACjD,EACD;YACC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;SACrD,CACD,CAAA;IACF,CAAC;IAEO,kBAAkB,GAAmC,IAAI,CAAA;IAC1D,KAAK,CAAC,4BAA4B;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM;YACf,OAAO,IAAI,QAAQ,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC9D,IAAI,IAAI,CAAC,kBAAkB;YAC1B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;gBAC5D,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAC/C,CAAC,CAAA;QACH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAC3C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CACxD,CAA4B,CAAA;QAC7B,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAA;QAClC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC/D,CAAC;IAEM,KAAK,CAAC,wBAAwB;QACpC,IAAI,CAAC,IAAI,CAAC,MAAM;YACf,OAAO,IAAI,QAAQ,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ;aACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;aAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;QAC3B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC/D,CAAC;CACD"}
@@ -0,0 +1,2 @@
1
+ export * from "./CommandDataPlugin.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/command-data/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./CommandDataPlugin.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/command-data/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
@@ -2,15 +2,17 @@ import { EventEmitter } from "node:events";
2
2
  import WebSocket from "ws";
3
3
  import { Plugin } from "../../abstracts/Plugin.js";
4
4
  import type { Client } from "../../classes/Client.js";
5
- import { type APIGatewayBotInfo, type GatewayPayload, type GatewayPluginOptions, type GatewayState } from "./types.js";
5
+ import { type APIGatewayBotInfo, type GatewayPayload, type GatewayPluginOptions, type GatewayState, type RequestGuildMembersData, type UpdatePresenceData, type UpdateVoiceStateData } from "./types.js";
6
6
  import { ConnectionMonitor } from "./utils/monitor.js";
7
+ import { GatewayRateLimit } from "./utils/rateLimit.js";
7
8
  export declare class GatewayPlugin extends Plugin {
8
- protected id: string;
9
+ readonly id = "gateway";
9
10
  protected client?: Client;
10
11
  protected config: GatewayPluginOptions;
11
12
  protected state: GatewayState;
12
13
  protected ws: WebSocket | null;
13
14
  protected monitor: ConnectionMonitor;
15
+ protected rateLimit: GatewayRateLimit;
14
16
  heartbeatInterval?: NodeJS.Timeout;
15
17
  sequence: number | null;
16
18
  lastHeartbeatAck: boolean;
@@ -19,7 +21,10 @@ export declare class GatewayPlugin extends Plugin {
19
21
  shardId?: number;
20
22
  totalShards?: number;
21
23
  protected gatewayInfo?: APIGatewayBotInfo;
24
+ isConnected: boolean;
25
+ protected pings: number[];
22
26
  constructor(options: GatewayPluginOptions, gatewayInfo?: APIGatewayBotInfo);
27
+ get ping(): number | null;
23
28
  registerClient(client: Client): Promise<void>;
24
29
  connect(resume?: boolean): void;
25
30
  disconnect(): void;
@@ -35,7 +40,46 @@ export declare class GatewayPlugin extends Plugin {
35
40
  protected handleReconnect(): void;
36
41
  protected canResume(): boolean;
37
42
  protected resume(): void;
38
- send(payload: GatewayPayload): void;
43
+ send(payload: GatewayPayload, skipRateLimit?: boolean): void;
39
44
  protected identify(): void;
45
+ /**
46
+ * Update the bot's presence (status, activity, etc.)
47
+ * @param data Presence data to update
48
+ */
49
+ updatePresence(data: UpdatePresenceData): void;
50
+ /**
51
+ * Update the bot's voice state
52
+ * @param data Voice state data to update
53
+ */
54
+ updateVoiceState(data: UpdateVoiceStateData): void;
55
+ /**
56
+ * Request guild members from Discord. The data will come in through the GUILD_MEMBERS_CHUNK event, not as a return on this function.
57
+ * @param data Guild members request data
58
+ */
59
+ requestGuildMembers(data: RequestGuildMembersData): void;
60
+ /**
61
+ * Get the current rate limit status
62
+ */
63
+ getRateLimitStatus(): {
64
+ remainingEvents: number;
65
+ resetTime: number;
66
+ currentEventCount: number;
67
+ };
68
+ /**
69
+ * Get information about configured intents
70
+ */
71
+ getIntentsInfo(): {
72
+ intents: number;
73
+ hasGuilds: boolean;
74
+ hasGuildMembers: boolean;
75
+ hasGuildPresences: boolean;
76
+ hasGuildMessages: boolean;
77
+ hasMessageContent: boolean;
78
+ };
79
+ /**
80
+ * Check if a specific intent is enabled
81
+ * @param intent The intent to check
82
+ */
83
+ hasIntent(intent: number): boolean;
40
84
  }
41
85
  //# sourceMappingURL=GatewayPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GatewayPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/gateway/GatewayPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,SAAS,MAAM,IAAI,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,EACN,KAAK,iBAAiB,EAGtB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAEjB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAA0B,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAW9E,qBAAa,aAAc,SAAQ,MAAM;IACxC,SAAS,CAAC,EAAE,SAAY;IACxB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACtC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAA;IAC7B,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAAO;IACrC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAO;IAC9B,gBAAgB,UAAO;IAC9B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAA;IAC/B,OAAO,CAAC,iBAAiB,CAAI;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;gBAE7B,OAAO,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAE,iBAAiB;IA2B7D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnD,OAAO,CAAC,MAAM,UAAQ,GAAG,IAAI;IAW7B,UAAU,IAAI,IAAI;IAOzB,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAOjD,SAAS,CAAC,cAAc,IAAI,IAAI;IAqGhC,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE;QAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;KACvB,GAAG,IAAI;IAgER,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAIxC,SAAS,CAAC,eAAe,IAAI,IAAI;IAIjC,SAAS,CAAC,SAAS,IAAI,OAAO;IAI9B,SAAS,CAAC,MAAM,IAAI,IAAI;IAUjB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAO1C,SAAS,CAAC,QAAQ,IAAI,IAAI;CAc1B"}
1
+ {"version":3,"file":"GatewayPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/gateway/GatewayPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,SAAS,MAAM,IAAI,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,EACN,KAAK,iBAAiB,EAItB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAEjB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAA0B,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAS9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAMvD,qBAAa,aAAc,SAAQ,MAAM;IACxC,QAAQ,CAAC,EAAE,aAAY;IACvB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACtC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAA;IAC7B,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAAO;IACrC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACpC,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAA;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAO;IAC9B,gBAAgB,UAAO;IAC9B,SAAS,CAAC,OAAO,EAAE,YAAY,CAAA;IAC/B,OAAO,CAAC,iBAAiB,CAAI;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAClC,WAAW,UAAQ;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAK;gBAElB,OAAO,EAAE,oBAAoB,EAAE,WAAW,CAAC,EAAE,iBAAiB;IA4B1E,IAAI,IAAI,kBAIP;IAEY,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BnD,OAAO,CAAC,MAAM,UAAQ,GAAG,IAAI;IAa7B,UAAU,IAAI,IAAI;IASzB,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAOjD,SAAS,CAAC,cAAc,IAAI,IAAI;IA8IhC,SAAS,CAAC,yBAAyB,CAAC,OAAO,EAAE;QAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;KACvB,GAAG,IAAI;IAoER,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAIxC,SAAS,CAAC,eAAe,IAAI,IAAI;IAIjC,SAAS,CAAC,SAAS,IAAI,OAAO;IAI9B,SAAS,CAAC,MAAM,IAAI,IAAI;IAWjB,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,UAAQ,GAAG,IAAI;IA2BjE,SAAS,CAAC,QAAQ,IAAI,IAAI;IAe1B;;;OAGG;IACI,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAQrD;;;OAGG;IACI,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IASzD;;;OAGG;IACI,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI;IAiC/D;;OAEG;IACI,kBAAkB;;;;;IAQzB;;OAEG;IACI,cAAc;;;;;;;;IAerB;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAGzC"}