@buape/carbon 0.6.1 → 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 (287) 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 +7 -4
  11. package/dist/src/abstracts/BaseCommand.d.ts.map +1 -1
  12. package/dist/src/abstracts/BaseCommand.js +17 -4
  13. package/dist/src/abstracts/BaseCommand.js.map +1 -1
  14. package/dist/src/abstracts/BaseComponent.d.ts +10 -24
  15. package/dist/src/abstracts/BaseComponent.d.ts.map +1 -1
  16. package/dist/src/abstracts/BaseComponent.js +5 -25
  17. package/dist/src/abstracts/BaseComponent.js.map +1 -1
  18. package/dist/src/abstracts/BaseComponentInteraction.d.ts +3 -3
  19. package/dist/src/abstracts/BaseComponentInteraction.d.ts.map +1 -1
  20. package/dist/src/abstracts/BaseComponentInteraction.js +2 -3
  21. package/dist/src/abstracts/BaseComponentInteraction.js.map +1 -1
  22. package/dist/src/abstracts/BaseGuildChannel.d.ts +1 -1
  23. package/dist/src/abstracts/BaseGuildChannel.d.ts.map +1 -1
  24. package/dist/src/abstracts/BaseInteraction.d.ts +5 -35
  25. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  26. package/dist/src/abstracts/BaseInteraction.js +10 -24
  27. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  28. package/dist/src/abstracts/BaseListener.d.ts +13 -0
  29. package/dist/src/abstracts/BaseListener.d.ts.map +1 -0
  30. package/dist/src/abstracts/BaseListener.js +8 -0
  31. package/dist/src/abstracts/BaseListener.js.map +1 -0
  32. package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts +33 -0
  33. package/dist/src/abstracts/BaseMessageInteractiveComponent.d.ts.map +1 -0
  34. package/dist/src/abstracts/BaseMessageInteractiveComponent.js +33 -0
  35. package/dist/src/abstracts/BaseMessageInteractiveComponent.js.map +1 -0
  36. package/dist/src/abstracts/BaseModalComponent.d.ts +23 -0
  37. package/dist/src/abstracts/BaseModalComponent.d.ts.map +1 -0
  38. package/dist/src/abstracts/BaseModalComponent.js +25 -0
  39. package/dist/src/abstracts/BaseModalComponent.js.map +1 -0
  40. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts +1 -1
  41. package/dist/src/abstracts/GuildThreadOnlyChannel.d.ts.map +1 -1
  42. package/dist/src/abstracts/Plugin.d.ts +36 -1
  43. package/dist/src/abstracts/Plugin.d.ts.map +1 -1
  44. package/dist/src/abstracts/Plugin.js +3 -1
  45. package/dist/src/abstracts/Plugin.js.map +1 -1
  46. package/dist/src/adapters/bun/index.d.ts +8 -12
  47. package/dist/src/adapters/bun/index.d.ts.map +1 -1
  48. package/dist/src/adapters/bun/index.js +9 -13
  49. package/dist/src/adapters/bun/index.js.map +1 -1
  50. package/dist/src/adapters/fetch/index.d.ts +10 -0
  51. package/dist/src/adapters/fetch/index.d.ts.map +1 -0
  52. package/dist/src/adapters/fetch/index.js +45 -0
  53. package/dist/src/adapters/fetch/index.js.map +1 -0
  54. package/dist/src/adapters/node/index.d.ts +8 -12
  55. package/dist/src/adapters/node/index.d.ts.map +1 -1
  56. package/dist/src/adapters/node/index.js +10 -13
  57. package/dist/src/adapters/node/index.js.map +1 -1
  58. package/dist/src/classes/Client.d.ts +56 -9
  59. package/dist/src/classes/Client.d.ts.map +1 -1
  60. package/dist/src/classes/Client.js +94 -21
  61. package/dist/src/classes/Client.js.map +1 -1
  62. package/dist/src/classes/Listener.d.ts +359 -0
  63. package/dist/src/classes/Listener.d.ts.map +1 -0
  64. package/dist/src/classes/Listener.js +911 -0
  65. package/dist/src/classes/Listener.js.map +1 -0
  66. package/dist/src/classes/Modal.d.ts +3 -3
  67. package/dist/src/classes/Modal.d.ts.map +1 -1
  68. package/dist/src/classes/Modal.js.map +1 -1
  69. package/dist/src/classes/RequestClient.d.ts +77 -0
  70. package/dist/src/classes/RequestClient.d.ts.map +1 -0
  71. package/dist/src/classes/RequestClient.js +213 -0
  72. package/dist/src/classes/RequestClient.js.map +1 -0
  73. package/dist/src/classes/{Button.d.ts → components/Button.d.ts} +5 -4
  74. package/dist/src/classes/components/Button.d.ts.map +1 -0
  75. package/dist/src/classes/{Button.js → components/Button.js} +3 -2
  76. package/dist/src/classes/components/Button.js.map +1 -0
  77. package/dist/src/classes/{ChannelSelectMenu.d.ts → components/ChannelSelectMenu.d.ts} +4 -3
  78. package/dist/src/classes/components/ChannelSelectMenu.d.ts.map +1 -0
  79. package/dist/src/classes/{ChannelSelectMenu.js → components/ChannelSelectMenu.js} +2 -1
  80. package/dist/src/classes/components/ChannelSelectMenu.js.map +1 -0
  81. package/dist/src/classes/components/Container.d.ts +26 -0
  82. package/dist/src/classes/components/Container.d.ts.map +1 -0
  83. package/dist/src/classes/components/Container.js +30 -0
  84. package/dist/src/classes/components/Container.js.map +1 -0
  85. package/dist/src/classes/components/File.d.ts +21 -0
  86. package/dist/src/classes/components/File.d.ts.map +1 -0
  87. package/dist/src/classes/components/File.js +33 -0
  88. package/dist/src/classes/components/File.js.map +1 -0
  89. package/dist/src/classes/components/MediaGallery.d.ts +27 -0
  90. package/dist/src/classes/components/MediaGallery.d.ts.map +1 -0
  91. package/dist/src/classes/components/MediaGallery.js +27 -0
  92. package/dist/src/classes/components/MediaGallery.js.map +1 -0
  93. package/dist/src/classes/{MentionableSelectMenu.d.ts → components/MentionableSelectMenu.d.ts} +4 -3
  94. package/dist/src/classes/components/MentionableSelectMenu.d.ts.map +1 -0
  95. package/dist/src/classes/{MentionableSelectMenu.js → components/MentionableSelectMenu.js} +2 -1
  96. package/dist/src/classes/components/MentionableSelectMenu.js.map +1 -0
  97. package/dist/src/classes/{RoleSelectMenu.d.ts → components/RoleSelectMenu.d.ts} +4 -3
  98. package/dist/src/classes/components/RoleSelectMenu.d.ts.map +1 -0
  99. package/dist/src/classes/{RoleSelectMenu.js → components/RoleSelectMenu.js} +2 -1
  100. package/dist/src/classes/components/RoleSelectMenu.js.map +1 -0
  101. package/dist/src/classes/components/Row.d.ts +29 -0
  102. package/dist/src/classes/components/Row.d.ts.map +1 -0
  103. package/dist/src/classes/{Row.js → components/Row.js} +8 -2
  104. package/dist/src/classes/components/Row.js.map +1 -0
  105. package/dist/src/classes/components/Section.d.ts +22 -0
  106. package/dist/src/classes/components/Section.d.ts.map +1 -0
  107. package/dist/src/classes/components/Section.js +15 -0
  108. package/dist/src/classes/components/Section.js.map +1 -0
  109. package/dist/src/classes/components/Separator.d.ts +22 -0
  110. package/dist/src/classes/components/Separator.d.ts.map +1 -0
  111. package/dist/src/classes/components/Separator.js +33 -0
  112. package/dist/src/classes/components/Separator.js.map +1 -0
  113. package/dist/src/classes/{StringSelectMenu.d.ts → components/StringSelectMenu.d.ts} +4 -3
  114. package/dist/src/classes/components/StringSelectMenu.d.ts.map +1 -0
  115. package/dist/src/classes/{StringSelectMenu.js → components/StringSelectMenu.js} +2 -1
  116. package/dist/src/classes/components/StringSelectMenu.js.map +1 -0
  117. package/dist/src/classes/components/TextDisplay.d.ts +10 -0
  118. package/dist/src/classes/components/TextDisplay.d.ts.map +1 -0
  119. package/dist/src/classes/components/TextDisplay.js +19 -0
  120. package/dist/src/classes/components/TextDisplay.js.map +1 -0
  121. package/dist/src/classes/{TextInput.d.ts → components/TextInput.d.ts} +4 -3
  122. package/dist/src/classes/components/TextInput.d.ts.map +1 -0
  123. package/dist/src/classes/{TextInput.js → components/TextInput.js} +3 -2
  124. package/dist/src/classes/components/TextInput.js.map +1 -0
  125. package/dist/src/classes/components/Thumbnail.d.ts +13 -0
  126. package/dist/src/classes/components/Thumbnail.d.ts.map +1 -0
  127. package/dist/src/classes/components/Thumbnail.js +16 -0
  128. package/dist/src/classes/components/Thumbnail.js.map +1 -0
  129. package/dist/src/classes/{UserSelectMenu.d.ts → components/UserSelectMenu.d.ts} +4 -3
  130. package/dist/src/classes/components/UserSelectMenu.d.ts.map +1 -0
  131. package/dist/src/classes/{UserSelectMenu.js → components/UserSelectMenu.js} +2 -1
  132. package/dist/src/classes/components/UserSelectMenu.js.map +1 -0
  133. package/dist/src/errors/BaseError.d.ts +3 -0
  134. package/dist/src/errors/BaseError.d.ts.map +1 -0
  135. package/dist/src/errors/BaseError.js +3 -0
  136. package/dist/src/errors/BaseError.js.map +1 -0
  137. package/dist/src/errors/DiscordError.d.ts +25 -0
  138. package/dist/src/errors/DiscordError.d.ts.map +1 -0
  139. package/dist/src/errors/DiscordError.js +31 -0
  140. package/dist/src/errors/DiscordError.js.map +1 -0
  141. package/dist/src/errors/RatelimitError.d.ts +15 -0
  142. package/dist/src/errors/RatelimitError.d.ts.map +1 -0
  143. package/dist/src/errors/RatelimitError.js +18 -0
  144. package/dist/src/errors/RatelimitError.js.map +1 -0
  145. package/dist/src/{factories → functions}/channelFactory.d.ts +3 -2
  146. package/dist/src/functions/channelFactory.d.ts.map +1 -0
  147. package/dist/src/functions/channelFactory.js.map +1 -0
  148. package/dist/src/functions/errorsMapper.d.ts +14 -0
  149. package/dist/src/functions/errorsMapper.d.ts.map +1 -0
  150. package/dist/src/functions/errorsMapper.js +34 -0
  151. package/dist/src/functions/errorsMapper.js.map +1 -0
  152. package/dist/src/index.d.ts +78 -13
  153. package/dist/src/index.d.ts.map +1 -1
  154. package/dist/src/index.js +31 -14
  155. package/dist/src/index.js.map +1 -1
  156. package/dist/src/internals/AutocompleteInteraction.d.ts +6 -2
  157. package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -1
  158. package/dist/src/internals/AutocompleteInteraction.js +14 -12
  159. package/dist/src/internals/AutocompleteInteraction.js.map +1 -1
  160. package/dist/src/internals/ComponentHandler.d.ts +3 -3
  161. package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
  162. package/dist/src/internals/ComponentHandler.js +6 -6
  163. package/dist/src/internals/ComponentHandler.js.map +1 -1
  164. package/dist/src/internals/EventHandler.d.ts +11 -0
  165. package/dist/src/internals/EventHandler.d.ts.map +1 -0
  166. package/dist/src/internals/EventHandler.js +18 -0
  167. package/dist/src/internals/EventHandler.js.map +1 -0
  168. package/dist/src/internals/ModalInteraction.d.ts +2 -3
  169. package/dist/src/internals/ModalInteraction.d.ts.map +1 -1
  170. package/dist/src/internals/ModalInteraction.js +2 -3
  171. package/dist/src/internals/ModalInteraction.js.map +1 -1
  172. package/dist/src/plugins/gateway/GatewayPlugin.d.ts +41 -0
  173. package/dist/src/plugins/gateway/GatewayPlugin.d.ts.map +1 -0
  174. package/dist/src/plugins/gateway/GatewayPlugin.js +249 -0
  175. package/dist/src/plugins/gateway/GatewayPlugin.js.map +1 -0
  176. package/dist/src/plugins/gateway/index.d.ts +6 -0
  177. package/dist/src/plugins/gateway/index.d.ts.map +1 -0
  178. package/dist/src/plugins/gateway/index.js +6 -0
  179. package/dist/src/plugins/gateway/index.js.map +1 -0
  180. package/dist/src/plugins/gateway/types.d.ts +62 -0
  181. package/dist/src/plugins/gateway/types.d.ts.map +1 -0
  182. package/dist/src/plugins/gateway/types.js +5 -0
  183. package/dist/src/plugins/gateway/types.js.map +1 -0
  184. package/dist/src/plugins/gateway/utils/heartbeat.d.ts +17 -0
  185. package/dist/src/plugins/gateway/utils/heartbeat.d.ts.map +1 -0
  186. package/dist/src/plugins/gateway/utils/heartbeat.js +28 -0
  187. package/dist/src/plugins/gateway/utils/heartbeat.js.map +1 -0
  188. package/dist/src/plugins/gateway/utils/monitor.d.ts +35 -0
  189. package/dist/src/plugins/gateway/utils/monitor.d.ts.map +1 -0
  190. package/dist/src/plugins/gateway/utils/monitor.js +79 -0
  191. package/dist/src/plugins/gateway/utils/monitor.js.map +1 -0
  192. package/dist/src/plugins/gateway/utils/payload.d.ts +21 -0
  193. package/dist/src/plugins/gateway/utils/payload.d.ts.map +1 -0
  194. package/dist/src/plugins/gateway/utils/payload.js +46 -0
  195. package/dist/src/plugins/gateway/utils/payload.js.map +1 -0
  196. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts +26 -0
  197. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.d.ts.map +1 -0
  198. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js +74 -0
  199. package/dist/src/plugins/gateway-forwarder/GatewayForwarderPlugin.js.map +1 -0
  200. package/dist/src/plugins/gateway-forwarder/index.d.ts +3 -0
  201. package/dist/src/plugins/gateway-forwarder/index.d.ts.map +1 -0
  202. package/dist/src/plugins/gateway-forwarder/index.js +3 -0
  203. package/dist/src/plugins/gateway-forwarder/index.js.map +1 -0
  204. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts +24 -27
  205. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts.map +1 -1
  206. package/dist/src/plugins/linked-roles/LinkedRoles.js +37 -28
  207. package/dist/src/plugins/linked-roles/LinkedRoles.js.map +1 -1
  208. package/dist/src/plugins/sharding/ShardingPlugin.d.ts +42 -0
  209. package/dist/src/plugins/sharding/ShardingPlugin.d.ts.map +1 -0
  210. package/dist/src/plugins/sharding/ShardingPlugin.js +110 -0
  211. package/dist/src/plugins/sharding/ShardingPlugin.js.map +1 -0
  212. package/dist/src/plugins/sharding/index.d.ts +3 -0
  213. package/dist/src/plugins/sharding/index.d.ts.map +1 -0
  214. package/dist/src/plugins/sharding/index.js +3 -0
  215. package/dist/src/plugins/sharding/index.js.map +1 -0
  216. package/dist/src/structures/DmChannel.d.ts +1 -1
  217. package/dist/src/structures/DmChannel.d.ts.map +1 -1
  218. package/dist/src/structures/Guild.d.ts +2 -1
  219. package/dist/src/structures/Guild.d.ts.map +1 -1
  220. package/dist/src/structures/Guild.js +3 -1
  221. package/dist/src/structures/Guild.js.map +1 -1
  222. package/dist/src/structures/Message.d.ts +10 -12
  223. package/dist/src/structures/Message.d.ts.map +1 -1
  224. package/dist/src/structures/Message.js +57 -8
  225. package/dist/src/structures/Message.js.map +1 -1
  226. package/dist/src/structures/Role.d.ts +2 -1
  227. package/dist/src/structures/Role.d.ts.map +1 -1
  228. package/dist/src/structures/Role.js +2 -0
  229. package/dist/src/structures/Role.js.map +1 -1
  230. package/dist/src/structures/User.d.ts +3 -2
  231. package/dist/src/structures/User.d.ts.map +1 -1
  232. package/dist/src/structures/User.js +2 -0
  233. package/dist/src/structures/User.js.map +1 -1
  234. package/dist/src/types/index.d.ts +67 -0
  235. package/dist/src/types/index.d.ts.map +1 -0
  236. package/dist/src/types/index.js +2 -0
  237. package/dist/src/types/index.js.map +1 -0
  238. package/dist/src/types/listeners.d.ts +539 -0
  239. package/dist/src/types/listeners.d.ts.map +1 -0
  240. package/dist/src/types/listeners.js +12 -0
  241. package/dist/src/types/listeners.js.map +1 -0
  242. package/dist/src/utils.d.ts +3 -16
  243. package/dist/src/utils.d.ts.map +1 -1
  244. package/dist/src/utils.js +18 -1
  245. package/dist/src/utils.js.map +1 -1
  246. package/dist/tsconfig.tsbuildinfo +1 -1
  247. package/package.json +8 -7
  248. package/dist/src/adapters/cloudflare/index.d.ts +0 -16
  249. package/dist/src/adapters/cloudflare/index.d.ts.map +0 -1
  250. package/dist/src/adapters/cloudflare/index.js +0 -17
  251. package/dist/src/adapters/cloudflare/index.js.map +0 -1
  252. package/dist/src/adapters/next/index.d.ts +0 -14
  253. package/dist/src/adapters/next/index.d.ts.map +0 -1
  254. package/dist/src/adapters/next/index.js +0 -17
  255. package/dist/src/adapters/next/index.js.map +0 -1
  256. package/dist/src/adapters/shared.d.ts +0 -10
  257. package/dist/src/adapters/shared.d.ts.map +0 -1
  258. package/dist/src/adapters/shared.js +0 -2
  259. package/dist/src/adapters/shared.js.map +0 -1
  260. package/dist/src/classes/Button.d.ts.map +0 -1
  261. package/dist/src/classes/Button.js.map +0 -1
  262. package/dist/src/classes/ChannelSelectMenu.d.ts.map +0 -1
  263. package/dist/src/classes/ChannelSelectMenu.js.map +0 -1
  264. package/dist/src/classes/MentionableSelectMenu.d.ts.map +0 -1
  265. package/dist/src/classes/MentionableSelectMenu.js.map +0 -1
  266. package/dist/src/classes/RoleSelectMenu.d.ts.map +0 -1
  267. package/dist/src/classes/RoleSelectMenu.js.map +0 -1
  268. package/dist/src/classes/Row.d.ts +0 -25
  269. package/dist/src/classes/Row.d.ts.map +0 -1
  270. package/dist/src/classes/Row.js.map +0 -1
  271. package/dist/src/classes/StringSelectMenu.d.ts.map +0 -1
  272. package/dist/src/classes/StringSelectMenu.js.map +0 -1
  273. package/dist/src/classes/TextInput.d.ts.map +0 -1
  274. package/dist/src/classes/TextInput.js.map +0 -1
  275. package/dist/src/classes/UserSelectMenu.d.ts.map +0 -1
  276. package/dist/src/classes/UserSelectMenu.js.map +0 -1
  277. package/dist/src/createHandle.d.ts +0 -20
  278. package/dist/src/createHandle.d.ts.map +0 -1
  279. package/dist/src/createHandle.js +0 -57
  280. package/dist/src/createHandle.js.map +0 -1
  281. package/dist/src/factories/channelFactory.d.ts.map +0 -1
  282. package/dist/src/factories/channelFactory.js.map +0 -1
  283. package/dist/src/types.d.ts +0 -37
  284. package/dist/src/types.d.ts.map +0 -1
  285. package/dist/src/types.js +0 -2
  286. package/dist/src/types.js.map +0 -1
  287. /package/dist/src/{factories → functions}/channelFactory.js +0 -0
@@ -1,19 +1,28 @@
1
- import { RequestClient } from "@buape/carbon-request";
2
- import { InteractionResponseType, InteractionType, Routes } from "discord-api-types/v10";
3
- import { Plugin } from "../abstracts/Plugin.js";
4
- import { channelFactory } from "../factories/channelFactory.js";
1
+ import { ApplicationWebhookType, InteractionResponseType, InteractionType, Routes } from "discord-api-types/v10";
2
+ import { channelFactory } from "../functions/channelFactory.js";
5
3
  import { CommandHandler } from "../internals/CommandHandler.js";
6
4
  import { ComponentHandler } from "../internals/ComponentHandler.js";
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
  */
16
- export class Client extends Plugin {
17
+ export class Client {
18
+ /**
19
+ * The routes that the client will handle
20
+ */
21
+ routes = [];
22
+ /**
23
+ * The plugins that the client has registered
24
+ */
25
+ plugins = [];
17
26
  /**
18
27
  * The options used to initialize the client
19
28
  */
@@ -22,6 +31,10 @@ export class Client extends Plugin {
22
31
  * The commands that the client has registered
23
32
  */
24
33
  commands;
34
+ /**
35
+ * The event listeners that the client has registered
36
+ */
37
+ listeners = [];
25
38
  /**
26
39
  * The rest client used to interact with the Discord API
27
40
  */
@@ -41,13 +54,18 @@ export class Client extends Plugin {
41
54
  * @internal
42
55
  */
43
56
  modalHandler;
57
+ /**
58
+ * The handler for events sent from Discord
59
+ * @internal
60
+ */
61
+ eventHandler;
44
62
  /**
45
63
  * Creates a new client
46
64
  * @param options The options used to initialize the client
47
- * @param commands The commands that the client has registered
65
+ * @param handlers The handlers that the client has registered
66
+ * @param plugins The plugins that the client should use
48
67
  */
49
- constructor(options, commands) {
50
- super();
68
+ constructor(options, handlers, plugins = []) {
51
69
  if (!options.clientId)
52
70
  throw new Error("Missing client ID");
53
71
  if (!options.publicKey)
@@ -57,14 +75,23 @@ export class Client extends Plugin {
57
75
  if (!options.deploySecret && !options.disableDeployRoute)
58
76
  throw new Error("Missing deploy secret");
59
77
  this.options = options;
60
- this.commands = commands;
61
- this.appendRoutes();
78
+ this.commands = handlers.commands ?? [];
79
+ this.listeners = handlers.listeners ?? [];
80
+ // Remove trailing slashes from the base URL
81
+ options.baseUrl = options.baseUrl.replace(/\/+$/, "");
62
82
  this.commandHandler = new CommandHandler(this);
63
83
  this.componentHandler = new ComponentHandler(this);
64
84
  this.modalHandler = new ModalHandler(this);
85
+ this.eventHandler = new EventHandler(this);
65
86
  this.rest = new RequestClient(options.token, options.requestOptions);
87
+ this.appendRoutes();
88
+ for (const plugin of plugins) {
89
+ plugin.registerClient?.(this);
90
+ plugin.registerRoutes?.(this);
91
+ this.plugins.push(plugin);
92
+ }
66
93
  if (!options.disableAutoRegister) {
67
- for (const command of commands) {
94
+ for (const command of this.commands) {
68
95
  for (const component of command.components)
69
96
  this.componentHandler.registerComponent(new component());
70
97
  for (const modal of command.modals)
@@ -89,6 +116,12 @@ export class Client extends Plugin {
89
116
  handler: this.handleInteractionsRequest.bind(this),
90
117
  disabled: this.options.disableInteractionsRoute
91
118
  });
119
+ this.routes.push({
120
+ method: "POST",
121
+ path: "/events",
122
+ handler: this.handleEventsRequest.bind(this),
123
+ disabled: this.options.disableEventsRoute
124
+ });
92
125
  }
93
126
  /**
94
127
  * Handle a request to deploy the commands to Discord
@@ -102,6 +135,22 @@ export class Client extends Plugin {
102
135
  { body: commands });
103
136
  return new Response("OK", { status: 202 });
104
137
  }
138
+ /**
139
+ * Handle an interaction request from Discord
140
+ * @param req The request to handle
141
+ * @returns A response
142
+ */
143
+ async handleEventsRequest(req) {
144
+ const isValid = await this.validateDiscordRequest(req);
145
+ if (!isValid)
146
+ return new Response("Unauthorized", { status: 401 });
147
+ const payload = (await req.json());
148
+ // All ping webhooks should respond with 204 and an empty body
149
+ if (payload.type === ApplicationWebhookType.Ping)
150
+ return new Response(null, { status: 204 });
151
+ this.eventHandler.handleEvent(payload.event.data, payload.event.type);
152
+ return new Response(null, { status: 204 });
153
+ }
105
154
  /**
106
155
  * Handle an interaction request from Discord
107
156
  * @param req The request to handle
@@ -109,7 +158,7 @@ export class Client extends Plugin {
109
158
  * @returns A response
110
159
  */
111
160
  async handleInteractionsRequest(req, ctx) {
112
- const isValid = await this.validateInteractionRequest(req);
161
+ const isValid = await this.validateDiscordRequest(req);
113
162
  if (!isValid)
114
163
  return new Response("Unauthorized", { status: 401 });
115
164
  const interaction = (await req.json());
@@ -147,10 +196,10 @@ export class Client extends Plugin {
147
196
  return new Response("OK", { status: 202 });
148
197
  }
149
198
  /**
150
- * Validate the interaction request
199
+ * Validate a request from Discord
151
200
  * @param req The request to validate
152
201
  */
153
- async validateInteractionRequest(req) {
202
+ async validateDiscordRequest(req) {
154
203
  const body = await req.clone().text();
155
204
  const signature = req.headers.get("X-Signature-Ed25519");
156
205
  const timestamp = req.headers.get("X-Signature-Timestamp");
@@ -160,13 +209,27 @@ export class Client extends Plugin {
160
209
  const timestampData = valueToUint8Array(timestamp);
161
210
  const bodyData = valueToUint8Array(body);
162
211
  const message = concatUint8Arrays(timestampData, bodyData);
163
- const isValid = await subtleCrypto.verify({
164
- name: "ed25519"
165
- }, await subtleCrypto.importKey("raw", valueToUint8Array(this.options.publicKey, "hex"), {
166
- name: "ed25519",
167
- namedCurve: "ed25519"
168
- }, false, ["verify"]), valueToUint8Array(signature, "hex"), message);
169
- 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;
170
233
  }
171
234
  catch (_) {
172
235
  return false;
@@ -219,5 +282,15 @@ export class Client extends Plugin {
219
282
  const member = (await this.rest.get(Routes.guildMember(guildId, id)));
220
283
  return new GuildMember(this, member, new Guild(this, guildId));
221
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
+ }
222
295
  }
223
296
  //# sourceMappingURL=Client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,359 @@
1
+ import { BaseListener } from "../abstracts/BaseListener.js";
2
+ import { type ListenerEventData, type ListenerEventRawData } from "../types/index.js";
3
+ import type { Client } from "./Client.js";
4
+ export declare abstract class ApplicationAuthorizedListener extends BaseListener {
5
+ readonly type = ApplicationWebhookEventType.ApplicationAuthorized;
6
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
7
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
8
+ }
9
+ export declare abstract class EntitlementCreateListener extends BaseListener {
10
+ readonly type = ApplicationWebhookEventType.EntitlementCreate;
11
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
12
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
13
+ }
14
+ export declare abstract class QuestUserEnrollmentListener extends BaseListener {
15
+ readonly type = ApplicationWebhookEventType.QuestUserEnrollment;
16
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
17
+ parseRawData(data: ListenerEventRawData[this["type"]]): ListenerEventData[this["type"]];
18
+ }
19
+ export declare abstract class ApplicationCommandPermissionsUpdateListener extends BaseListener {
20
+ readonly type = GatewayDispatchEvents.ApplicationCommandPermissionsUpdate;
21
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
22
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
23
+ }
24
+ export declare abstract class AutoModerationActionExecutionListener extends BaseListener {
25
+ readonly type = GatewayDispatchEvents.AutoModerationActionExecution;
26
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
27
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
28
+ }
29
+ export declare abstract class AutoModerationRuleCreateListener extends BaseListener {
30
+ readonly type = GatewayDispatchEvents.AutoModerationRuleCreate;
31
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
32
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
33
+ }
34
+ export declare abstract class AutoModerationRuleDeleteListener extends BaseListener {
35
+ readonly type = GatewayDispatchEvents.AutoModerationRuleDelete;
36
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
37
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
38
+ }
39
+ export declare abstract class AutoModerationRuleUpdateListener extends BaseListener {
40
+ readonly type = GatewayDispatchEvents.AutoModerationRuleUpdate;
41
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
42
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
43
+ }
44
+ export declare abstract class ChannelCreateListener extends BaseListener {
45
+ readonly type = GatewayDispatchEvents.ChannelCreate;
46
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
47
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
48
+ }
49
+ export declare abstract class ChannelDeleteListener extends BaseListener {
50
+ readonly type = GatewayDispatchEvents.ChannelDelete;
51
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
52
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
53
+ }
54
+ export declare abstract class ChannelPinsUpdateListener extends BaseListener {
55
+ readonly type = GatewayDispatchEvents.ChannelPinsUpdate;
56
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
57
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
58
+ }
59
+ export declare abstract class ChannelUpdateListener extends BaseListener {
60
+ readonly type = GatewayDispatchEvents.ChannelUpdate;
61
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
62
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
63
+ }
64
+ export declare abstract class EntitlementDeleteListener extends BaseListener {
65
+ readonly type = GatewayDispatchEvents.EntitlementDelete;
66
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
67
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
68
+ }
69
+ export declare abstract class EntitlementUpdateListener extends BaseListener {
70
+ readonly type = GatewayDispatchEvents.EntitlementUpdate;
71
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
72
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
73
+ }
74
+ export declare abstract class GuildAuditLogEntryCreateListener extends BaseListener {
75
+ readonly type = GatewayDispatchEvents.GuildAuditLogEntryCreate;
76
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
77
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
78
+ }
79
+ export declare abstract class GuildBanAddListener extends BaseListener {
80
+ readonly type = GatewayDispatchEvents.GuildBanAdd;
81
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
82
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
83
+ }
84
+ export declare abstract class GuildBanRemoveListener extends BaseListener {
85
+ readonly type = GatewayDispatchEvents.GuildBanRemove;
86
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
87
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
88
+ }
89
+ export declare abstract class GuildCreateListener extends BaseListener {
90
+ readonly type = GatewayDispatchEvents.GuildCreate;
91
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
92
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
93
+ }
94
+ export declare abstract class GuildDeleteListener extends BaseListener {
95
+ readonly type = GatewayDispatchEvents.GuildDelete;
96
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
97
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
98
+ }
99
+ export declare abstract class GuildEmojisUpdateListener extends BaseListener {
100
+ readonly type = GatewayDispatchEvents.GuildEmojisUpdate;
101
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
102
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
103
+ }
104
+ export declare abstract class GuildIntegrationsUpdateListener extends BaseListener {
105
+ readonly type = GatewayDispatchEvents.GuildIntegrationsUpdate;
106
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
107
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
108
+ }
109
+ export declare abstract class GuildMemberAddListener extends BaseListener {
110
+ readonly type = GatewayDispatchEvents.GuildMemberAdd;
111
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
112
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
113
+ }
114
+ export declare abstract class GuildMemberRemoveListener extends BaseListener {
115
+ readonly type = GatewayDispatchEvents.GuildMemberRemove;
116
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
117
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
118
+ }
119
+ export declare abstract class GuildMemberUpdateListener extends BaseListener {
120
+ readonly type = GatewayDispatchEvents.GuildMemberUpdate;
121
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
122
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
123
+ }
124
+ export declare abstract class GuildMembersChunkListener extends BaseListener {
125
+ readonly type = GatewayDispatchEvents.GuildMembersChunk;
126
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
127
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
128
+ }
129
+ export declare abstract class GuildRoleCreateListener extends BaseListener {
130
+ readonly type = GatewayDispatchEvents.GuildRoleCreate;
131
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
132
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
133
+ }
134
+ export declare abstract class GuildRoleDeleteListener extends BaseListener {
135
+ readonly type = GatewayDispatchEvents.GuildRoleDelete;
136
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
137
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
138
+ }
139
+ export declare abstract class GuildRoleUpdateListener extends BaseListener {
140
+ readonly type = GatewayDispatchEvents.GuildRoleUpdate;
141
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
142
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
143
+ }
144
+ export declare abstract class GuildScheduledEventCreateListener extends BaseListener {
145
+ readonly type = GatewayDispatchEvents.GuildScheduledEventCreate;
146
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
147
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
148
+ }
149
+ export declare abstract class GuildScheduledEventDeleteListener extends BaseListener {
150
+ readonly type = GatewayDispatchEvents.GuildScheduledEventDelete;
151
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
152
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
153
+ }
154
+ export declare abstract class GuildScheduledEventUpdateListener extends BaseListener {
155
+ readonly type = GatewayDispatchEvents.GuildScheduledEventUpdate;
156
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
157
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
158
+ }
159
+ export declare abstract class GuildScheduledEventUserAddListener extends BaseListener {
160
+ readonly type = GatewayDispatchEvents.GuildScheduledEventUserAdd;
161
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
162
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
163
+ }
164
+ export declare abstract class GuildScheduledEventUserRemoveListener extends BaseListener {
165
+ readonly type = GatewayDispatchEvents.GuildScheduledEventUserRemove;
166
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
167
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
168
+ }
169
+ export declare abstract class GuildSoundboardSoundCreateListener extends BaseListener {
170
+ readonly type = GatewayDispatchEvents.GuildSoundboardSoundCreate;
171
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
172
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
173
+ }
174
+ export declare abstract class GuildSoundboardSoundDeleteListener extends BaseListener {
175
+ readonly type = GatewayDispatchEvents.GuildSoundboardSoundDelete;
176
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
177
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
178
+ }
179
+ export declare abstract class GuildSoundboardSoundUpdateListener extends BaseListener {
180
+ readonly type = GatewayDispatchEvents.GuildSoundboardSoundUpdate;
181
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
182
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
183
+ }
184
+ export declare abstract class GuildSoundboardSoundsUpdateListener extends BaseListener {
185
+ readonly type = GatewayDispatchEvents.GuildSoundboardSoundsUpdate;
186
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
187
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
188
+ }
189
+ export declare abstract class GuildStickersUpdateListener extends BaseListener {
190
+ readonly type = GatewayDispatchEvents.GuildStickersUpdate;
191
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
192
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
193
+ }
194
+ export declare abstract class GuildUpdateListener extends BaseListener {
195
+ readonly type = GatewayDispatchEvents.GuildUpdate;
196
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
197
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
198
+ }
199
+ export declare abstract class IntegrationCreateListener extends BaseListener {
200
+ readonly type = GatewayDispatchEvents.IntegrationCreate;
201
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
202
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
203
+ }
204
+ export declare abstract class IntegrationDeleteListener extends BaseListener {
205
+ readonly type = GatewayDispatchEvents.IntegrationDelete;
206
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
207
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
208
+ }
209
+ export declare abstract class IntegrationUpdateListener extends BaseListener {
210
+ readonly type = GatewayDispatchEvents.IntegrationUpdate;
211
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
212
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
213
+ }
214
+ export declare abstract class MessageCreateListener extends BaseListener {
215
+ readonly type = GatewayDispatchEvents.MessageCreate;
216
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
217
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
218
+ }
219
+ export declare abstract class MessageReactionAddListener extends BaseListener {
220
+ readonly type = GatewayDispatchEvents.MessageReactionAdd;
221
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
222
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
223
+ }
224
+ export declare abstract class MessageReactionRemoveListener extends BaseListener {
225
+ readonly type = GatewayDispatchEvents.MessageReactionRemove;
226
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
227
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
228
+ }
229
+ export declare abstract class MessageReactionRemoveAllListener extends BaseListener {
230
+ readonly type = GatewayDispatchEvents.MessageReactionRemoveAll;
231
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
232
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
233
+ }
234
+ export declare abstract class MessageReactionRemoveEmojiListener extends BaseListener {
235
+ readonly type = GatewayDispatchEvents.MessageReactionRemoveEmoji;
236
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
237
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
238
+ }
239
+ export declare abstract class MessageUpdateListener extends BaseListener {
240
+ readonly type = GatewayDispatchEvents.MessageUpdate;
241
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
242
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
243
+ }
244
+ export declare abstract class PresenceUpdateListener extends BaseListener {
245
+ readonly type = GatewayDispatchEvents.PresenceUpdate;
246
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
247
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
248
+ }
249
+ export declare abstract class ReadyListener extends BaseListener {
250
+ readonly type = GatewayDispatchEvents.Ready;
251
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
252
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
253
+ }
254
+ export declare abstract class ResumedListener extends BaseListener {
255
+ readonly type = GatewayDispatchEvents.Resumed;
256
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
257
+ parseRawData(data: ListenerEventRawData[this["type"]]): ListenerEventData[this["type"]];
258
+ }
259
+ export declare abstract class StageInstanceCreateListener extends BaseListener {
260
+ readonly type = GatewayDispatchEvents.StageInstanceCreate;
261
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
262
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
263
+ }
264
+ export declare abstract class StageInstanceDeleteListener extends BaseListener {
265
+ readonly type = GatewayDispatchEvents.StageInstanceDelete;
266
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
267
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
268
+ }
269
+ export declare abstract class StageInstanceUpdateListener extends BaseListener {
270
+ readonly type = GatewayDispatchEvents.StageInstanceUpdate;
271
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
272
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
273
+ }
274
+ export declare abstract class SubscriptionCreateListener extends BaseListener {
275
+ readonly type = GatewayDispatchEvents.SubscriptionCreate;
276
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
277
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
278
+ }
279
+ export declare abstract class SubscriptionDeleteListener extends BaseListener {
280
+ readonly type = GatewayDispatchEvents.SubscriptionDelete;
281
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
282
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
283
+ }
284
+ export declare abstract class SubscriptionUpdateListener extends BaseListener {
285
+ readonly type = GatewayDispatchEvents.SubscriptionUpdate;
286
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
287
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
288
+ }
289
+ export declare abstract class ThreadCreateListener extends BaseListener {
290
+ readonly type = GatewayDispatchEvents.ThreadCreate;
291
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
292
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
293
+ }
294
+ export declare abstract class ThreadDeleteListener extends BaseListener {
295
+ readonly type = GatewayDispatchEvents.ThreadDelete;
296
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
297
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
298
+ }
299
+ export declare abstract class ThreadListSyncListener extends BaseListener {
300
+ readonly type = GatewayDispatchEvents.ThreadListSync;
301
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
302
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
303
+ }
304
+ export declare abstract class ThreadMemberUpdateListener extends BaseListener {
305
+ readonly type = GatewayDispatchEvents.ThreadMemberUpdate;
306
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
307
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
308
+ }
309
+ export declare abstract class ThreadMembersUpdateListener extends BaseListener {
310
+ readonly type = GatewayDispatchEvents.ThreadMembersUpdate;
311
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
312
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
313
+ }
314
+ export declare abstract class ThreadUpdateListener extends BaseListener {
315
+ readonly type = GatewayDispatchEvents.ThreadUpdate;
316
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
317
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
318
+ }
319
+ export declare abstract class TypingStartListener extends BaseListener {
320
+ readonly type = GatewayDispatchEvents.TypingStart;
321
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
322
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
323
+ }
324
+ export declare abstract class UserUpdateListener extends BaseListener {
325
+ readonly type = GatewayDispatchEvents.UserUpdate;
326
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
327
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
328
+ }
329
+ export declare abstract class VoiceServerUpdateListener extends BaseListener {
330
+ readonly type = GatewayDispatchEvents.VoiceServerUpdate;
331
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
332
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
333
+ }
334
+ export declare abstract class VoiceStateUpdateListener extends BaseListener {
335
+ readonly type = GatewayDispatchEvents.VoiceStateUpdate;
336
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
337
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
338
+ }
339
+ export declare abstract class WebhooksUpdateListener extends BaseListener {
340
+ readonly type = GatewayDispatchEvents.WebhooksUpdate;
341
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
342
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
343
+ }
344
+ export declare abstract class MessagePollVoteAddListener extends BaseListener {
345
+ readonly type = GatewayDispatchEvents.MessagePollVoteAdd;
346
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
347
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
348
+ }
349
+ export declare abstract class MessagePollVoteRemoveListener extends BaseListener {
350
+ readonly type = GatewayDispatchEvents.MessagePollVoteRemove;
351
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
352
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
353
+ }
354
+ export declare abstract class VoiceChannelEffectSendListener extends BaseListener {
355
+ readonly type = GatewayDispatchEvents.VoiceChannelEffectSend;
356
+ abstract handle(data: ListenerEventData[this["type"]], client: Client): Promise<void>;
357
+ parseRawData(data: ListenerEventRawData[this["type"]], client: Client): ListenerEventData[this["type"]];
358
+ }
359
+ //# sourceMappingURL=Listener.d.ts.map