@buape/carbon 0.7.0 → 0.8.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 +8 -7
  2. package/dist/src/abstracts/AnySelectMenu.d.ts +2 -2
  3. package/dist/src/abstracts/AnySelectMenu.d.ts.map +1 -1
  4. package/dist/src/abstracts/AnySelectMenu.js +2 -2
  5. package/dist/src/abstracts/AnySelectMenu.js.map +1 -1
  6. package/dist/src/abstracts/BaseChannel.d.ts +2 -2
  7. package/dist/src/abstracts/BaseChannel.d.ts.map +1 -1
  8. package/dist/src/abstracts/BaseChannel.js +2 -1
  9. package/dist/src/abstracts/BaseChannel.js.map +1 -1
  10. package/dist/src/abstracts/BaseCommand.d.ts +2 -2
  11. package/dist/src/abstracts/BaseCommand.d.ts.map +1 -1
  12. package/dist/src/abstracts/BaseCommand.js.map +1 -1
  13. package/dist/src/abstracts/BaseComponent.d.ts +10 -24
  14. package/dist/src/abstracts/BaseComponent.d.ts.map +1 -1
  15. package/dist/src/abstracts/BaseComponent.js +5 -25
  16. package/dist/src/abstracts/BaseComponent.js.map +1 -1
  17. package/dist/src/abstracts/BaseComponentInteraction.d.ts +3 -3
  18. package/dist/src/abstracts/BaseComponentInteraction.d.ts.map +1 -1
  19. package/dist/src/abstracts/BaseComponentInteraction.js +2 -3
  20. package/dist/src/abstracts/BaseComponentInteraction.js.map +1 -1
  21. package/dist/src/abstracts/BaseGuildChannel.d.ts +1 -1
  22. package/dist/src/abstracts/BaseGuildChannel.d.ts.map +1 -1
  23. package/dist/src/abstracts/BaseInteraction.d.ts +5 -35
  24. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  25. package/dist/src/abstracts/BaseInteraction.js +10 -24
  26. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  27. package/dist/src/abstracts/BaseListener.d.ts +13 -0
  28. package/dist/src/abstracts/BaseListener.d.ts.map +1 -0
  29. package/dist/src/abstracts/BaseListener.js +8 -0
  30. package/dist/src/abstracts/BaseListener.js.map +1 -0
  31. package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts +33 -0
  32. package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts.map +1 -0
  33. package/dist/src/abstracts/BaseMessageInteractiveComponent.js +33 -0
  34. package/dist/src/abstracts/BaseMessageInteractiveComponent.js.map +1 -0
  35. package/dist/src/abstracts/BaseModalComponent.d.ts +23 -0
  36. package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -0
  37. package/dist/src/abstracts/BaseModalComponent.js +25 -0
  38. package/dist/src/abstracts/BaseModalComponent.js.map +1 -0
  39. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +1 -1
  40. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -1
  41. package/dist/src/abstracts/Plugin.d.ts +6 -2
  42. package/dist/src/abstracts/Plugin.d.ts.map +1 -1
  43. package/dist/src/abstracts/Plugin.js.map +1 -1
  44. package/dist/src/classes/Client.d.ts +15 -6
  45. package/dist/src/classes/Client.d.ts.map +1 -1
  46. package/dist/src/classes/Client.js +36 -11
  47. package/dist/src/classes/Client.js.map +1 -1
  48. package/dist/src/classes/Listener.d.ts +356 -5
  49. package/dist/src/classes/Listener.d.ts.map +1 -1
  50. package/dist/src/classes/Listener.js +909 -1
  51. package/dist/src/classes/Listener.js.map +1 -1
  52. package/dist/src/classes/Modal.d.ts +3 -3
  53. package/dist/src/classes/Modal.d.ts.map +1 -1
  54. package/dist/src/classes/Modal.js.map +1 -1
  55. package/dist/src/classes/RequestClient.d.ts +77 -0
  56. package/dist/src/classes/RequestClient.d.ts.map +1 -0
  57. package/dist/src/classes/RequestClient.js +213 -0
  58. package/dist/src/classes/RequestClient.js.map +1 -0
  59. package/dist/src/classes/{Button.d.ts → components/Button.d.ts} +5 -4
  60. package/dist/src/classes/components/Button.d.ts.map +1 -0
  61. package/dist/src/classes/{Button.js → components/Button.js} +3 -2
  62. package/dist/src/classes/components/Button.js.map +1 -0
  63. package/dist/src/classes/{ChannelSelectMenu.d.ts → components/ChannelSelectMenu.d.ts} +4 -3
  64. package/dist/src/classes/components/ChannelSelectMenu.d.ts.map +1 -0
  65. package/dist/src/classes/{ChannelSelectMenu.js → components/ChannelSelectMenu.js} +2 -1
  66. package/dist/src/classes/components/ChannelSelectMenu.js.map +1 -0
  67. package/dist/src/classes/components/Container.d.ts +26 -0
  68. package/dist/src/classes/components/Container.d.ts.map +1 -0
  69. package/dist/src/classes/components/Container.js +30 -0
  70. package/dist/src/classes/components/Container.js.map +1 -0
  71. package/dist/src/classes/components/File.d.ts +21 -0
  72. package/dist/src/classes/components/File.d.ts.map +1 -0
  73. package/dist/src/classes/components/File.js +33 -0
  74. package/dist/src/classes/components/File.js.map +1 -0
  75. package/dist/src/classes/components/MediaGallery.d.ts +27 -0
  76. package/dist/src/classes/components/MediaGallery.d.ts.map +1 -0
  77. package/dist/src/classes/components/MediaGallery.js +27 -0
  78. package/dist/src/classes/components/MediaGallery.js.map +1 -0
  79. package/dist/src/classes/{MentionableSelectMenu.d.ts → components/MentionableSelectMenu.d.ts} +4 -3
  80. package/dist/src/classes/components/MentionableSelectMenu.d.ts.map +1 -0
  81. package/dist/src/classes/{MentionableSelectMenu.js → components/MentionableSelectMenu.js} +2 -1
  82. package/dist/src/classes/components/MentionableSelectMenu.js.map +1 -0
  83. package/dist/src/classes/{RoleSelectMenu.d.ts → components/RoleSelectMenu.d.ts} +4 -3
  84. package/dist/src/classes/components/RoleSelectMenu.d.ts.map +1 -0
  85. package/dist/src/classes/{RoleSelectMenu.js → components/RoleSelectMenu.js} +2 -1
  86. package/dist/src/classes/components/RoleSelectMenu.js.map +1 -0
  87. package/dist/src/classes/components/Row.d.ts +29 -0
  88. package/dist/src/classes/components/Row.d.ts.map +1 -0
  89. package/dist/src/classes/{Row.js → components/Row.js} +8 -2
  90. package/dist/src/classes/components/Row.js.map +1 -0
  91. package/dist/src/classes/components/Section.d.ts +22 -0
  92. package/dist/src/classes/components/Section.d.ts.map +1 -0
  93. package/dist/src/classes/components/Section.js +15 -0
  94. package/dist/src/classes/components/Section.js.map +1 -0
  95. package/dist/src/classes/components/Separator.d.ts +22 -0
  96. package/dist/src/classes/components/Separator.d.ts.map +1 -0
  97. package/dist/src/classes/components/Separator.js +33 -0
  98. package/dist/src/classes/components/Separator.js.map +1 -0
  99. package/dist/src/classes/{StringSelectMenu.d.ts → components/StringSelectMenu.d.ts} +4 -3
  100. package/dist/src/classes/components/StringSelectMenu.d.ts.map +1 -0
  101. package/dist/src/classes/{StringSelectMenu.js → components/StringSelectMenu.js} +2 -1
  102. package/dist/src/classes/components/StringSelectMenu.js.map +1 -0
  103. package/dist/src/classes/components/TextDisplay.d.ts +10 -0
  104. package/dist/src/classes/components/TextDisplay.d.ts.map +1 -0
  105. package/dist/src/classes/components/TextDisplay.js +19 -0
  106. package/dist/src/classes/components/TextDisplay.js.map +1 -0
  107. package/dist/src/classes/{TextInput.d.ts → components/TextInput.d.ts} +4 -3
  108. package/dist/src/classes/components/TextInput.d.ts.map +1 -0
  109. package/dist/src/classes/{TextInput.js → components/TextInput.js} +3 -2
  110. package/dist/src/classes/components/TextInput.js.map +1 -0
  111. package/dist/src/classes/components/Thumbnail.d.ts +13 -0
  112. package/dist/src/classes/components/Thumbnail.d.ts.map +1 -0
  113. package/dist/src/classes/components/Thumbnail.js +16 -0
  114. package/dist/src/classes/components/Thumbnail.js.map +1 -0
  115. package/dist/src/classes/{UserSelectMenu.d.ts → components/UserSelectMenu.d.ts} +4 -3
  116. package/dist/src/classes/components/UserSelectMenu.d.ts.map +1 -0
  117. package/dist/src/classes/{UserSelectMenu.js → components/UserSelectMenu.js} +2 -1
  118. package/dist/src/classes/components/UserSelectMenu.js.map +1 -0
  119. package/dist/src/errors/BaseError.d.ts +3 -0
  120. package/dist/src/errors/BaseError.d.ts.map +1 -0
  121. package/dist/src/errors/BaseError.js +3 -0
  122. package/dist/src/errors/BaseError.js.map +1 -0
  123. package/dist/src/errors/DiscordError.d.ts +25 -0
  124. package/dist/src/errors/DiscordError.d.ts.map +1 -0
  125. package/dist/src/errors/DiscordError.js +31 -0
  126. package/dist/src/errors/DiscordError.js.map +1 -0
  127. package/dist/src/errors/RatelimitError.d.ts +15 -0
  128. package/dist/src/errors/RatelimitError.d.ts.map +1 -0
  129. package/dist/src/errors/RatelimitError.js +18 -0
  130. package/dist/src/errors/RatelimitError.js.map +1 -0
  131. package/dist/src/{factories → functions}/channelFactory.d.ts +3 -2
  132. package/dist/src/functions/channelFactory.d.ts.map +1 -0
  133. package/dist/src/functions/channelFactory.js.map +1 -0
  134. package/dist/src/functions/errorsMapper.d.ts +14 -0
  135. package/dist/src/functions/errorsMapper.d.ts.map +1 -0
  136. package/dist/src/functions/errorsMapper.js +34 -0
  137. package/dist/src/functions/errorsMapper.js.map +1 -0
  138. package/dist/src/index.d.ts +25 -10
  139. package/dist/src/index.d.ts.map +1 -1
  140. package/dist/src/index.js +27 -11
  141. package/dist/src/index.js.map +1 -1
  142. package/dist/src/internals/AutocompleteInteraction.d.ts +6 -2
  143. package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -1
  144. package/dist/src/internals/AutocompleteInteraction.js +14 -12
  145. package/dist/src/internals/AutocompleteInteraction.js.map +1 -1
  146. package/dist/src/internals/ComponentHandler.d.ts +3 -3
  147. package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
  148. package/dist/src/internals/ComponentHandler.js +6 -6
  149. package/dist/src/internals/ComponentHandler.js.map +1 -1
  150. package/dist/src/internals/EventHandler.d.ts +7 -5
  151. package/dist/src/internals/EventHandler.d.ts.map +1 -1
  152. package/dist/src/internals/EventHandler.js +13 -11
  153. package/dist/src/internals/EventHandler.js.map +1 -1
  154. package/dist/src/internals/ModalInteraction.d.ts +2 -3
  155. package/dist/src/internals/ModalInteraction.d.ts.map +1 -1
  156. package/dist/src/internals/ModalInteraction.js +2 -3
  157. package/dist/src/internals/ModalInteraction.js.map +1 -1
  158. package/dist/src/plugins/gateway/GatewayPlugin.d.ts +41 -0
  159. package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -0
  160. package/dist/src/plugins/gateway/GatewayPlugin.js +249 -0
  161. package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -0
  162. package/dist/src/plugins/gateway/index.d.ts +6 -0
  163. package/dist/src/plugins/gateway/index.d.ts.map +1 -0
  164. package/dist/src/plugins/gateway/index.js +6 -0
  165. package/dist/src/plugins/gateway/index.js.map +1 -0
  166. package/dist/src/plugins/gateway/types.d.ts +62 -0
  167. package/dist/src/plugins/gateway/types.d.ts.map +1 -0
  168. package/dist/src/plugins/gateway/types.js +5 -0
  169. package/dist/src/plugins/gateway/types.js.map +1 -0
  170. package/dist/src/plugins/gateway/utils/heartbeat.d.ts +17 -0
  171. package/dist/src/plugins/gateway/utils/heartbeat.d.ts.map +1 -0
  172. package/dist/src/plugins/gateway/utils/heartbeat.js +28 -0
  173. package/dist/src/plugins/gateway/utils/heartbeat.js.map +1 -0
  174. package/dist/src/plugins/gateway/utils/monitor.d.ts +35 -0
  175. package/dist/src/plugins/gateway/utils/monitor.d.ts.map +1 -0
  176. package/dist/src/plugins/gateway/utils/monitor.js +79 -0
  177. package/dist/src/plugins/gateway/utils/monitor.js.map +1 -0
  178. package/dist/src/plugins/gateway/utils/payload.d.ts +21 -0
  179. package/dist/src/plugins/gateway/utils/payload.d.ts.map +1 -0
  180. package/dist/src/plugins/gateway/utils/payload.js +46 -0
  181. package/dist/src/plugins/gateway/utils/payload.js.map +1 -0
  182. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts +26 -0
  183. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -0
  184. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +74 -0
  185. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -0
  186. package/dist/src/plugins/gateway-forwarder/index.d.ts +3 -0
  187. package/dist/src/plugins/gateway-forwarder/index.d.ts.map +1 -0
  188. package/dist/src/plugins/gateway-forwarder/index.js +3 -0
  189. package/dist/src/plugins/gateway-forwarder/index.js.map +1 -0
  190. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts +1 -0
  191. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts.map +1 -1
  192. package/dist/src/plugins/linked-roles/LinkedRoles.js +1 -0
  193. package/dist/src/plugins/linked-roles/LinkedRoles.js.map +1 -1
  194. package/dist/src/plugins/sharding/ShardingPlugin.d.ts +42 -0
  195. package/dist/src/plugins/sharding/ShardingPlugin.d.ts.map +1 -0
  196. package/dist/src/plugins/sharding/ShardingPlugin.js +110 -0
  197. package/dist/src/plugins/sharding/ShardingPlugin.js.map +1 -0
  198. package/dist/src/plugins/sharding/index.d.ts +3 -0
  199. package/dist/src/plugins/sharding/index.d.ts.map +1 -0
  200. package/dist/src/plugins/sharding/index.js +3 -0
  201. package/dist/src/plugins/sharding/index.js.map +1 -0
  202. package/dist/src/structures/DmChannel.d.ts +1 -1
  203. package/dist/src/structures/DmChannel.d.ts.map +1 -1
  204. package/dist/src/structures/Guild.d.ts +2 -1
  205. package/dist/src/structures/Guild.d.ts.map +1 -1
  206. package/dist/src/structures/Guild.js +3 -1
  207. package/dist/src/structures/Guild.js.map +1 -1
  208. package/dist/src/structures/Message.d.ts +10 -12
  209. package/dist/src/structures/Message.d.ts.map +1 -1
  210. package/dist/src/structures/Message.js +57 -8
  211. package/dist/src/structures/Message.js.map +1 -1
  212. package/dist/src/structures/Role.d.ts +2 -1
  213. package/dist/src/structures/Role.d.ts.map +1 -1
  214. package/dist/src/structures/Role.js +2 -0
  215. package/dist/src/structures/Role.js.map +1 -1
  216. package/dist/src/structures/User.d.ts +3 -2
  217. package/dist/src/structures/User.d.ts.map +1 -1
  218. package/dist/src/structures/User.js +2 -0
  219. package/dist/src/structures/User.js.map +1 -1
  220. package/dist/src/types/index.d.ts +67 -0
  221. package/dist/src/types/index.d.ts.map +1 -0
  222. package/dist/src/types/index.js +2 -0
  223. package/dist/src/types/index.js.map +1 -0
  224. package/dist/src/types/listeners.d.ts +539 -0
  225. package/dist/src/types/listeners.d.ts.map +1 -0
  226. package/dist/src/types/listeners.js +12 -0
  227. package/dist/src/types/listeners.js.map +1 -0
  228. package/dist/src/utils.d.ts +3 -21
  229. package/dist/src/utils.d.ts.map +1 -1
  230. package/dist/src/utils.js +17 -1
  231. package/dist/src/utils.js.map +1 -1
  232. package/dist/tsconfig.tsbuildinfo +1 -1
  233. package/package.json +8 -7
  234. package/dist/src/adapters/cloudflare/index.d.ts +0 -16
  235. package/dist/src/adapters/cloudflare/index.d.ts.map +0 -1
  236. package/dist/src/adapters/cloudflare/index.js +0 -17
  237. package/dist/src/adapters/cloudflare/index.js.map +0 -1
  238. package/dist/src/adapters/next/index.d.ts +0 -14
  239. package/dist/src/adapters/next/index.d.ts.map +0 -1
  240. package/dist/src/adapters/next/index.js +0 -17
  241. package/dist/src/adapters/next/index.js.map +0 -1
  242. package/dist/src/adapters/shared.d.ts +0 -10
  243. package/dist/src/adapters/shared.d.ts.map +0 -1
  244. package/dist/src/adapters/shared.js +0 -2
  245. package/dist/src/adapters/shared.js.map +0 -1
  246. package/dist/src/classes/Button.d.ts.map +0 -1
  247. package/dist/src/classes/Button.js.map +0 -1
  248. package/dist/src/classes/ChannelSelectMenu.d.ts.map +0 -1
  249. package/dist/src/classes/ChannelSelectMenu.js.map +0 -1
  250. package/dist/src/classes/MentionableSelectMenu.d.ts.map +0 -1
  251. package/dist/src/classes/MentionableSelectMenu.js.map +0 -1
  252. package/dist/src/classes/RoleSelectMenu.d.ts.map +0 -1
  253. package/dist/src/classes/RoleSelectMenu.js.map +0 -1
  254. package/dist/src/classes/Row.d.ts +0 -25
  255. package/dist/src/classes/Row.d.ts.map +0 -1
  256. package/dist/src/classes/Row.js.map +0 -1
  257. package/dist/src/classes/StringSelectMenu.d.ts.map +0 -1
  258. package/dist/src/classes/StringSelectMenu.js.map +0 -1
  259. package/dist/src/classes/TextInput.d.ts.map +0 -1
  260. package/dist/src/classes/TextInput.js.map +0 -1
  261. package/dist/src/classes/UserSelectMenu.d.ts.map +0 -1
  262. package/dist/src/classes/UserSelectMenu.js.map +0 -1
  263. package/dist/src/createHandle.d.ts +0 -20
  264. package/dist/src/createHandle.d.ts.map +0 -1
  265. package/dist/src/createHandle.js +0 -57
  266. package/dist/src/createHandle.js.map +0 -1
  267. package/dist/src/factories/channelFactory.d.ts.map +0 -1
  268. package/dist/src/factories/channelFactory.js.map +0 -1
  269. package/dist/src/types/messagePayload.d.ts +0 -37
  270. package/dist/src/types/messagePayload.d.ts.map +0 -1
  271. package/dist/src/types/messagePayload.js +0 -2
  272. package/dist/src/types/messagePayload.js.map +0 -1
  273. package/dist/src/types.d.ts +0 -38
  274. package/dist/src/types.d.ts.map +0 -1
  275. package/dist/src/types.js +0 -2
  276. package/dist/src/types.js.map +0 -1
  277. /package/dist/src/{factories → functions}/channelFactory.js +0 -0
@@ -0,0 +1,23 @@
1
+ import type { APIComponentInModalActionRow, ComponentType } from "discord-api-types/v10";
2
+ import { BaseComponent } from "./BaseComponent.js";
3
+ import type { ComponentAdditionalData } from "./BaseMessageInteractiveComponent.js";
4
+ export declare abstract class BaseModalComponent extends BaseComponent {
5
+ abstract type: ComponentType.TextInput;
6
+ readonly isV2 = false;
7
+ constructor(data?: {
8
+ additionalData?: ComponentAdditionalData;
9
+ });
10
+ /**
11
+ * The custom ID of the component
12
+ */
13
+ abstract customId: string;
14
+ additionalData: ComponentAdditionalData | null;
15
+ /**
16
+ * Create a custom ID to use for this component that embeds additional data that you want to be handed
17
+ * @param additionalData The additional data that you want to be passed in this component's custom ID
18
+ * @returns The custom ID to use
19
+ */
20
+ createId: (additionalData: typeof this.additionalData) => string;
21
+ abstract serialize: () => APIComponentInModalActionRow;
22
+ }
23
+ //# sourceMappingURL=BaseModalComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseModalComponent.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,4BAA4B,EAC5B,aAAa,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAEnF,8BAAsB,kBAAmB,SAAQ,aAAa;IAC7D,SAAkB,IAAI,EAAE,aAAa,CAAC,SAAS,CAAA;IAE/C,QAAQ,CAAC,IAAI,SAAQ;gBAET,IAAI,CAAC,EAAE;QAClB,cAAc,CAAC,EAAE,uBAAuB,CAAA;KACxC;IAKD;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB,cAAc,EAAE,uBAAuB,GAAG,IAAI,CAAO;IAErD;;;;OAIG;IACI,QAAQ,GAAI,gBAAgB,OAAO,IAAI,CAAC,cAAc,YAO5D;IAED,QAAQ,CAAC,SAAS,EAAE,MAAM,4BAA4B,CAAA;CACtD"}
@@ -0,0 +1,25 @@
1
+ import { BaseComponent } from "./BaseComponent.js";
2
+ export class BaseModalComponent extends BaseComponent {
3
+ isV2 = false;
4
+ constructor(data) {
5
+ super();
6
+ if (data?.additionalData)
7
+ this.additionalData = data.additionalData;
8
+ }
9
+ additionalData = null;
10
+ /**
11
+ * Create a custom ID to use for this component that embeds additional data that you want to be handed
12
+ * @param additionalData The additional data that you want to be passed in this component's custom ID
13
+ * @returns The custom ID to use
14
+ */
15
+ createId = (additionalData) => {
16
+ if (!additionalData)
17
+ return this.customId;
18
+ // id:arg1=1;arg2=2
19
+ const id = `${this.customId}:${Object.entries(additionalData)
20
+ .map(([key, value]) => `${key}=${value}`)
21
+ .join(";")}`;
22
+ return id;
23
+ };
24
+ }
25
+ //# sourceMappingURL=BaseModalComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseModalComponent.js","sourceRoot":"","sources":["../../../src/abstracts/BaseModalComponent.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,OAAgB,kBAAmB,SAAQ,aAAa;IAGpD,IAAI,GAAG,KAAK,CAAA;IAErB,YAAY,IAEX;QACA,KAAK,EAAE,CAAA;QACP,IAAI,IAAI,EAAE,cAAc;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;IACpE,CAAC;IAOD,cAAc,GAAmC,IAAI,CAAA;IAErD;;;;OAIG;IACI,QAAQ,GAAG,CAAC,cAA0C,EAAE,EAAE;QAChE,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAA;QACzC,mBAAmB;QACnB,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;aAC3D,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QACb,OAAO,EAAE,CAAA;IACV,CAAC,CAAA;CAGD"}
@@ -1,5 +1,5 @@
1
1
  import type { APIGuildForumDefaultReactionEmoji, APIGuildForumTag, APIThreadOnlyChannel, ChannelType, SortOrderType } from "discord-api-types/v10";
2
- import type { MessagePayload } from "../types.js";
2
+ import type { MessagePayload } from "../types/index.js";
3
3
  import type { IfPartial } from "../utils.js";
4
4
  import { BaseGuildChannel } from "./BaseGuildChannel.js";
5
5
  export declare abstract class GuildThreadOnlyChannel<Type extends ChannelType.GuildForum | ChannelType.GuildMedia, IsPartial extends boolean = false> extends BaseGuildChannel<Type, IsPartial> {
@@ -1 +1 @@
1
- {"version":3,"file":"GuildThreadOnlyChannel.d.ts","sourceRoot":"","sources":["../../../src/abstracts/GuildThreadOnlyChannel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iCAAiC,EACjC,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,aAAa,EAEb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,8BAAsB,sBAAsB,CAC3C,IAAI,SAAS,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,EAC5D,SAAS,SAAS,OAAO,GAAG,KAAK,CAChC,SAAQ,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;IAClC,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAElD;;OAEG;IACH,IAAI,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAG/C;IAED;;OAEG;IACH,IAAI,0BAA0B,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAGpE;IAED;;OAEG;IACH,IAAI,6BAA6B,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAGvE;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,SAAS,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAG5D;IAED;;OAEG;IACH,IAAI,oBAAoB,IAAI,SAAS,CACpC,SAAS,EACT,iCAAiC,GAAG,IAAI,CACxC,CAGA;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,SAAS,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC,CAGjE;IAED;;;OAGG;IACY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC;;;;OAIG;IACG,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOxE"}
1
+ {"version":3,"file":"GuildThreadOnlyChannel.d.ts","sourceRoot":"","sources":["../../../src/abstracts/GuildThreadOnlyChannel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iCAAiC,EACjC,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,aAAa,EAEb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,8BAAsB,sBAAsB,CAC3C,IAAI,SAAS,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,EAC5D,SAAS,SAAS,OAAO,GAAG,KAAK,CAChC,SAAQ,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;IAClC,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAElD;;OAEG;IACH,IAAI,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAG/C;IAED;;OAEG;IACH,IAAI,0BAA0B,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAGpE;IAED;;OAEG;IACH,IAAI,6BAA6B,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAGvE;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,SAAS,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAG5D;IAED;;OAEG;IACH,IAAI,oBAAoB,IAAI,SAAS,CACpC,SAAS,EACT,iCAAiC,GAAG,IAAI,CACxC,CAGA;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,SAAS,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC,CAGjE;IAED;;;OAGG;IACY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC;;;;OAIG;IACG,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOxE"}
@@ -3,16 +3,20 @@ import type { Client } from "../classes/Client.js";
3
3
  * The base class for all plugins
4
4
  */
5
5
  export declare abstract class Plugin {
6
+ /**
7
+ * An ID that identifies the plugin uniquely between all other used plugins in the Client
8
+ */
9
+ protected abstract id: string;
6
10
  /**
7
11
  * Registers the client with this plugin
8
12
  * @param client The client to register
9
13
  */
10
- registerClient?(client: Client): void;
14
+ registerClient?(client: Client): Promise<void> | void;
11
15
  /**
12
16
  * Registers the routes of this plugin with the client
13
17
  * @param client The client to register the routes with
14
18
  */
15
- registerRoutes?(client: Client): void;
19
+ registerRoutes?(client: Client): Promise<void> | void;
16
20
  }
17
21
  export interface Route {
18
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../../src/abstracts/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD;;GAEG;AACH,8BAAsB,MAAM;IAC3B;;;OAGG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAErC;;;OAGG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CACrC;AAED,MAAM,WAAW,KAAK;IACrB;;OAEG;IACH,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;IAEnD;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,EAAE,CAAA;IAElB;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAElE;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,OAAO;IAEvB,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;CACvC"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../../src/abstracts/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD;;GAEG;AACH,8BAAsB,MAAM;IAC3B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IAC7B;;;OAGG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAErD;;;OAGG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CACrD;AAED,MAAM,WAAW,KAAK;IACrB;;OAEG;IACH,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;IAEnD;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,EAAE,CAAA;IAElB;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAElE;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,OAAO;IAEvB,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;CACvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../../src/abstracts/Plugin.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAgB,MAAM;CAY3B"}
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../../src/abstracts/Plugin.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAgB,MAAM;CAgB3B"}
@@ -1,5 +1,5 @@
1
- import { RequestClient, type RequestClientOptions } from "@buape/carbon-request";
2
1
  import type { BaseCommand } from "../abstracts/BaseCommand.js";
2
+ import type { BaseListener } from "../abstracts/BaseListener.js";
3
3
  import type { Context, Plugin, Route } from "../abstracts/Plugin.js";
4
4
  import { CommandHandler } from "../internals/CommandHandler.js";
5
5
  import { ComponentHandler } from "../internals/ComponentHandler.js";
@@ -7,9 +7,10 @@ import { EventHandler } from "../internals/EventHandler.js";
7
7
  import { ModalHandler } from "../internals/ModalHandler.js";
8
8
  import { Guild } from "../structures/Guild.js";
9
9
  import { GuildMember } from "../structures/GuildMember.js";
10
+ import { Message } from "../structures/Message.js";
10
11
  import { Role } from "../structures/Role.js";
11
12
  import { User } from "../structures/User.js";
12
- import type { Listener } from "./Listener.js";
13
+ import { RequestClient, type RequestClientOptions } from "./RequestClient.js";
13
14
  /**
14
15
  * The options used for initializing the client
15
16
  */
@@ -28,8 +29,9 @@ export interface ClientOptions {
28
29
  deploySecret?: string;
29
30
  /**
30
31
  * The public key of the app, used for interaction verification
32
+ * Can be a single key or an array of keys
31
33
  */
32
- publicKey: string;
34
+ publicKey: string | string[];
33
35
  /**
34
36
  * The token of the bot
35
37
  */
@@ -88,7 +90,7 @@ export declare class Client {
88
90
  /**
89
91
  * The event listeners that the client has registered
90
92
  */
91
- listeners: Listener[];
93
+ listeners: BaseListener[];
92
94
  /**
93
95
  * The rest client used to interact with the Discord API
94
96
  */
@@ -116,12 +118,12 @@ export declare class Client {
116
118
  /**
117
119
  * Creates a new client
118
120
  * @param options The options used to initialize the client
119
- * @param commands The commands that the client has registered
121
+ * @param handlers The handlers that the client has registered
120
122
  * @param plugins The plugins that the client should use
121
123
  */
122
124
  constructor(options: ClientOptions, handlers: {
123
125
  commands?: BaseCommand[];
124
- listeners?: Listener[];
126
+ listeners?: BaseListener[];
125
127
  }, plugins?: Plugin[]);
126
128
  private appendRoutes;
127
129
  /**
@@ -178,6 +180,13 @@ export declare class Client {
178
180
  * @returns The member data
179
181
  */
180
182
  fetchMember(guildId: string, id: string): Promise<GuildMember<false, true>>;
183
+ /**
184
+ * Fetch a message from the Discord API
185
+ * @param channelId The ID of the channel the message is in
186
+ * @param messageId The ID of the message to fetch
187
+ * @returns The message data
188
+ */
189
+ fetchMessage(channelId: string, messageId: string): Promise<Message<false>>;
181
190
  }
182
191
  /**
183
192
  * @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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"}
@@ -1,15 +1,16 @@
1
- import { RequestClient } from "@buape/carbon-request";
2
1
  import { ApplicationWebhookType, InteractionResponseType, InteractionType, Routes } from "discord-api-types/v10";
3
- import { channelFactory } from "../factories/channelFactory.js";
2
+ import { channelFactory } from "../functions/channelFactory.js";
4
3
  import { CommandHandler } from "../internals/CommandHandler.js";
5
4
  import { ComponentHandler } from "../internals/ComponentHandler.js";
6
5
  import { EventHandler } from "../internals/EventHandler.js";
7
6
  import { ModalHandler } from "../internals/ModalHandler.js";
8
7
  import { Guild } from "../structures/Guild.js";
9
8
  import { GuildMember } from "../structures/GuildMember.js";
9
+ import { Message } from "../structures/Message.js";
10
10
  import { Role } from "../structures/Role.js";
11
11
  import { User } from "../structures/User.js";
12
12
  import { concatUint8Arrays, subtleCrypto, valueToUint8Array } from "../utils.js";
13
+ import { RequestClient } from "./RequestClient.js";
13
14
  /**
14
15
  * The main client used to interact with Discord
15
16
  */
@@ -61,7 +62,7 @@ export class Client {
61
62
  /**
62
63
  * Creates a new client
63
64
  * @param options The options used to initialize the client
64
- * @param commands The commands that the client has registered
65
+ * @param handlers The handlers that the client has registered
65
66
  * @param plugins The plugins that the client should use
66
67
  */
67
68
  constructor(options, handlers, plugins = []) {
@@ -147,7 +148,7 @@ export class Client {
147
148
  // All ping webhooks should respond with 204 and an empty body
148
149
  if (payload.type === ApplicationWebhookType.Ping)
149
150
  return new Response(null, { status: 204 });
150
- this.eventHandler.handleEvent(payload); // Events will never return anything to Discord
151
+ this.eventHandler.handleEvent(payload.event.data, payload.event.type);
151
152
  return new Response(null, { status: 204 });
152
153
  }
153
154
  /**
@@ -208,13 +209,27 @@ export class Client {
208
209
  const timestampData = valueToUint8Array(timestamp);
209
210
  const bodyData = valueToUint8Array(body);
210
211
  const message = concatUint8Arrays(timestampData, bodyData);
211
- const isValid = await subtleCrypto.verify({
212
- name: "ed25519"
213
- }, await subtleCrypto.importKey("raw", valueToUint8Array(this.options.publicKey, "hex"), {
214
- name: "ed25519",
215
- namedCurve: "ed25519"
216
- }, false, ["verify"]), valueToUint8Array(signature, "hex"), message);
217
- return isValid;
212
+ // Convert single key to array for consistent handling
213
+ const publicKeys = Array.isArray(this.options.publicKey)
214
+ ? this.options.publicKey
215
+ : [this.options.publicKey];
216
+ // Try each public key until one works
217
+ for (const publicKey of publicKeys) {
218
+ try {
219
+ const isValid = await subtleCrypto.verify({
220
+ name: "ed25519"
221
+ }, await subtleCrypto.importKey("raw", valueToUint8Array(publicKey, "hex"), {
222
+ name: "ed25519",
223
+ namedCurve: "ed25519"
224
+ }, false, ["verify"]), valueToUint8Array(signature, "hex"), message);
225
+ if (isValid)
226
+ return true;
227
+ }
228
+ catch {
229
+ // Skip to next key if this one fails
230
+ }
231
+ }
232
+ return false;
218
233
  }
219
234
  catch (_) {
220
235
  return false;
@@ -267,5 +282,15 @@ export class Client {
267
282
  const member = (await this.rest.get(Routes.guildMember(guildId, id)));
268
283
  return new GuildMember(this, member, new Guild(this, guildId));
269
284
  }
285
+ /**
286
+ * Fetch a message from the Discord API
287
+ * @param channelId The ID of the channel the message is in
288
+ * @param messageId The ID of the message to fetch
289
+ * @returns The message data
290
+ */
291
+ async fetchMessage(channelId, messageId) {
292
+ const message = (await this.rest.get(Routes.channelMessage(channelId, messageId)));
293
+ return new Message(this, message);
294
+ }
270
295
  }
271
296
  //# sourceMappingURL=Client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAQN,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,MAAM,EACN,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AA2DhF;;GAEG;AACH,MAAM,OAAO,MAAM;IAClB;;OAEG;IACH,MAAM,GAAY,EAAE,CAAA;IACpB;;OAEG;IACH,OAAO,GAAa,EAAE,CAAA;IACtB;;OAEG;IACH,OAAO,CAAe;IACtB;;OAEG;IACH,QAAQ,CAAe;IACvB;;OAEG;IACH,SAAS,GAAe,EAAE,CAAA;IAC1B;;OAEG;IACH,IAAI,CAAe;IACnB;;;OAGG;IACH,gBAAgB,CAAkB;IAClC;;;OAGG;IACH,cAAc,CAAgB;IAC9B;;;OAGG;IACH,YAAY,CAAc;IAC1B;;;OAGG;IACH,YAAY,CAAc;IAE1B;;;;;OAKG;IACH,YACC,OAAsB,EACtB,QAGC,EACD,UAAoB,EAAE;QAEtB,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC7D,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,kBAAkB;YACvD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAEzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAA;QAEzC,4CAA4C;QAC5C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAErD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;QAEpE,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAA;YAC7B,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAClC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU;oBACzC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,SAAS,EAAE,CAAC,CAAA;gBACzD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM;oBACjC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;YAC9C,CAAC;QACF,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC3B,CAAC;IACF,CAAC;IAEO,YAAY;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;SACzC,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAwB;SAC/C,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;SACzC,CAAC,CAAA;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,mBAAmB;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;aAC5B,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,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE;QACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,CAClB,CAAA;QACD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,mBAAmB,CAAC,GAAY;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAElE,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoB,CAAA;QAErD,8DAA8D;QAC9D,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI;YAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAE3C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA,CAAC,+CAA+C;QACtF,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,yBAAyB,CAAC,GAAY,EAAE,GAAY;QAChE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAElE,MAAM,WAAW,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAmB,CAAA;QAExD,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,kBAAkB,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAA;YACzE,IAAI,GAAG,EAAE,SAAS;gBAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;;gBACrC,MAAM,OAAO,CAAA;QACnB,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,8BAA8B,EAAE,CAAC;YACzE,MAAM,OAAO,GACZ,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAA;YAC/D,IAAI,GAAG,EAAE,SAAS;gBAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;;gBACrC,MAAM,OAAO,CAAA;QACnB,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,gBAAgB,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;YACpE,IAAI,GAAG,EAAE,SAAS;gBAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;;gBACrC,MAAM,OAAO,CAAA;QACnB,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;YAChE,IAAI,GAAG,EAAE,SAAS;gBAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;;gBACrC,MAAM,OAAO,CAAA;QACnB,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,sBAAsB,CAAC,GAAY;QAChD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAA;QACrC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QACxD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QAC1D,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAE5E,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;YAClD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACxC,MAAM,OAAO,GAAG,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;YAC1D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CACxC;gBACC,IAAI,EAAE,SAAS;aACf,EACD,MAAM,YAAY,CAAC,SAAS,CAC3B,KAAK,EACL,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAChD;gBACC,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,SAAS;aACrB,EACD,KAAK,EACL,CAAC,QAAQ,CAAC,CACV,EACD,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,EACnC,OAAO,CACP,CAAA;YACD,OAAO,OAAO,CAAA;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,KAAK,CAAA;QACb,CAAC;IACF,CAAC;IAED,2FAA2F;IAE3F;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,EAAU;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAY,CAAA;QAC9D,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,EAAU;QAC1B,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAa,CAAA;QACjE,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,EAAU;QAC5B,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAe,CAAA;QACvE,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,EAAU;QAC1C,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAY,CAAA;QAC5E,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,EAAU;QAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAC/B,CAAmB,CAAA;QACpB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,CAAO,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC;CAGD"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"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"}