@buape/carbon 0.5.0 → 0.6.1

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 (67) hide show
  1. package/dist/package.json +22 -5
  2. package/dist/src/abstracts/BaseInteraction.d.ts +3 -1
  3. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  4. package/dist/src/abstracts/BaseInteraction.js +13 -7
  5. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  6. package/dist/src/abstracts/Plugin.d.ts +14 -0
  7. package/dist/src/abstracts/Plugin.d.ts.map +1 -0
  8. package/dist/src/abstracts/Plugin.js +4 -0
  9. package/dist/src/abstracts/Plugin.js.map +1 -0
  10. package/dist/src/adapters/bun/index.d.ts +16 -0
  11. package/dist/src/adapters/bun/index.d.ts.map +1 -0
  12. package/dist/src/adapters/bun/index.js +20 -0
  13. package/dist/src/adapters/bun/index.js.map +1 -0
  14. package/dist/src/adapters/cloudflare/index.d.ts +16 -0
  15. package/dist/src/adapters/cloudflare/index.d.ts.map +1 -0
  16. package/dist/src/adapters/cloudflare/index.js +17 -0
  17. package/dist/src/adapters/cloudflare/index.js.map +1 -0
  18. package/dist/src/adapters/next/index.d.ts +14 -0
  19. package/dist/src/adapters/next/index.d.ts.map +1 -0
  20. package/dist/src/adapters/next/index.js +17 -0
  21. package/dist/src/adapters/next/index.js.map +1 -0
  22. package/dist/src/adapters/node/index.d.ts +16 -0
  23. package/dist/src/adapters/node/index.d.ts.map +1 -0
  24. package/dist/src/adapters/node/index.js +20 -0
  25. package/dist/src/adapters/node/index.js.map +1 -0
  26. package/dist/src/adapters/shared.d.ts +10 -0
  27. package/dist/src/adapters/shared.d.ts.map +1 -0
  28. package/dist/src/adapters/shared.js +2 -0
  29. package/dist/src/adapters/shared.js.map +1 -0
  30. package/dist/src/classes/Client.d.ts +33 -63
  31. package/dist/src/classes/Client.d.ts.map +1 -1
  32. package/dist/src/classes/Client.js +72 -112
  33. package/dist/src/classes/Client.js.map +1 -1
  34. package/dist/src/classes/Embed.d.ts +2 -1
  35. package/dist/src/classes/Embed.d.ts.map +1 -1
  36. package/dist/src/classes/Embed.js +12 -10
  37. package/dist/src/classes/Embed.js.map +1 -1
  38. package/dist/src/createHandle.d.ts +20 -0
  39. package/dist/src/createHandle.d.ts.map +1 -0
  40. package/dist/src/createHandle.js +57 -0
  41. package/dist/src/createHandle.js.map +1 -0
  42. package/dist/src/index.d.ts +7 -0
  43. package/dist/src/index.d.ts.map +1 -1
  44. package/dist/src/index.js +8 -1
  45. package/dist/src/index.js.map +1 -1
  46. package/dist/src/internals/ModalInteraction.d.ts +1 -1
  47. package/dist/src/internals/ModalInteraction.d.ts.map +1 -1
  48. package/dist/src/internals/ModalInteraction.js +1 -1
  49. package/dist/src/internals/ModalInteraction.js.map +1 -1
  50. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts +73 -0
  51. package/dist/src/plugins/linked-roles/LinkedRoles.d.ts.map +1 -0
  52. package/dist/src/plugins/linked-roles/LinkedRoles.js +202 -0
  53. package/dist/src/plugins/linked-roles/LinkedRoles.js.map +1 -0
  54. package/dist/src/plugins/linked-roles/index.d.ts +3 -0
  55. package/dist/src/plugins/linked-roles/index.d.ts.map +1 -0
  56. package/dist/src/plugins/linked-roles/index.js +3 -0
  57. package/dist/src/plugins/linked-roles/index.js.map +1 -0
  58. package/dist/src/plugins/linked-roles/types.d.ts +94 -0
  59. package/dist/src/plugins/linked-roles/types.d.ts.map +1 -0
  60. package/dist/src/plugins/linked-roles/types.js +39 -0
  61. package/dist/src/plugins/linked-roles/types.js.map +1 -0
  62. package/dist/src/utils.d.ts +4 -3
  63. package/dist/src/utils.d.ts.map +1 -1
  64. package/dist/src/utils.js +15 -13
  65. package/dist/src/utils.js.map +1 -1
  66. package/dist/tsconfig.tsbuildinfo +1 -1
  67. package/package.json +23 -6
@@ -1,6 +1,6 @@
1
1
  import { RequestClient } from "@buape/carbon-request";
2
2
  import { InteractionResponseType, InteractionType, Routes } from "discord-api-types/v10";
3
- import { AutoRouter, StatusError, json } from "itty-router";
3
+ import { Plugin } from "../abstracts/Plugin.js";
4
4
  import { channelFactory } from "../factories/channelFactory.js";
5
5
  import { CommandHandler } from "../internals/CommandHandler.js";
6
6
  import { ComponentHandler } from "../internals/ComponentHandler.js";
@@ -10,22 +10,10 @@ import { GuildMember } from "../structures/GuildMember.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
- /**
14
- * The mode that the client is running in.
15
- * Different platforms have different requirements for how processes are handled.
16
- */
17
- export var ClientMode;
18
- (function (ClientMode) {
19
- ClientMode["NodeJS"] = "node";
20
- ClientMode["CloudflareWorkers"] = "cloudflare";
21
- ClientMode["Bun"] = "bun";
22
- ClientMode["Vercel"] = "vercel";
23
- ClientMode["Web"] = "web";
24
- })(ClientMode || (ClientMode = {}));
25
13
  /**
26
14
  * The main client used to interact with Discord
27
15
  */
28
- export class Client {
16
+ export class Client extends Plugin {
29
17
  /**
30
18
  * The options used to initialize the client
31
19
  */
@@ -34,10 +22,6 @@ export class Client {
34
22
  * The commands that the client has registered
35
23
  */
36
24
  commands;
37
- /**
38
- * The router used to handle requests
39
- */
40
- router;
41
25
  /**
42
26
  * The rest client used to interact with the Discord API
43
27
  */
@@ -63,24 +47,23 @@ export class Client {
63
47
  * @param commands The commands that the client has registered
64
48
  */
65
49
  constructor(options, commands) {
50
+ super();
66
51
  if (!options.clientId)
67
52
  throw new Error("Missing client ID");
68
53
  if (!options.publicKey)
69
54
  throw new Error("Missing public key");
70
55
  if (!options.token)
71
56
  throw new Error("Missing token");
57
+ if (!options.deploySecret && !options.disableDeployRoute)
58
+ throw new Error("Missing deploy secret");
72
59
  this.options = options;
73
60
  this.commands = commands;
61
+ this.appendRoutes();
74
62
  this.commandHandler = new CommandHandler(this);
75
63
  this.componentHandler = new ComponentHandler(this);
76
64
  this.modalHandler = new ModalHandler(this);
77
- const routerData = this.options.mode === ClientMode.Bun && this.options.port
78
- ? { port: this.options.port }
79
- : {};
80
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
81
- this.router = AutoRouter(routerData);
82
65
  this.rest = new RequestClient(options.token, options.requestOptions);
83
- if (this.options.autoRegister) {
66
+ if (!options.disableAutoRegister) {
84
67
  for (const command of commands) {
85
68
  for (const component of command.components)
86
69
  this.componentHandler.registerComponent(new component());
@@ -88,114 +71,91 @@ export class Client {
88
71
  this.modalHandler.registerModal(new modal());
89
72
  }
90
73
  }
91
- if (this.options.autoDeploy)
92
- this.deployCommands();
93
- this.setupRoutes();
94
- }
95
- /**
96
- * Deploy the commands registered to Discord.
97
- * This is automatically called when running in NodeJS mode.
98
- */
99
- async deployCommands() {
100
- try {
101
- const commands = this.commands
102
- .filter((x) => x.name !== "*")
103
- .map((command) => {
104
- return command.serialize();
105
- });
106
- await this.rest.put(Routes.applicationCommands(this.options.clientId), {
107
- body: commands
108
- });
109
- console.log(`Deployed ${commands.length} commands to Discord`);
110
- }
111
- catch (err) {
112
- console.error("Failed to deploy commands");
113
- console.error(err);
74
+ if (options.autoDeploy) {
75
+ this.handleDeployRequest();
114
76
  }
115
77
  }
116
- /**
117
- * Setup the routes for the client
118
- */
119
- setupRoutes() {
120
- this.router.get("/", () => {
121
- if (this.options.redirectUrl)
122
- return Response.redirect(this.options.redirectUrl, 302);
123
- throw new StatusError(404);
78
+ appendRoutes() {
79
+ this.routes.push({
80
+ method: "GET",
81
+ path: "/deploy",
82
+ handler: this.handleDeployRequest.bind(this),
83
+ protected: true,
84
+ disabled: this.options.disableDeployRoute
124
85
  });
125
- this.router.post(this.options.interactionRoute || "/interaction", async (req, ctx) => {
126
- return await this.handle(req, ctx);
86
+ this.routes.push({
87
+ method: "POST",
88
+ path: "/interactions",
89
+ handler: this.handleInteractionsRequest.bind(this),
90
+ disabled: this.options.disableInteractionsRoute
127
91
  });
128
92
  }
129
93
  /**
130
- * If you want use a custom handler for HTTP requests instead of Carbon's router, you can use this method.
131
- * @param req The request to handle
132
- * @param ctx Cloudflare Workers only. The execution context of the request, provided in the fetch handler from CF.
133
- * @returns A response to send back to the client.
94
+ * Handle a request to deploy the commands to Discord
95
+ * @returns A response
134
96
  */
135
- async handle(req, ctx) {
136
- const isValid = await this.validateInteraction(req);
137
- if (!isValid) {
138
- return new Response("Invalid request signature", { status: 401 });
139
- }
140
- const rawInteraction = (await req.json());
141
- if (rawInteraction.type === InteractionType.Ping) {
142
- return json({
143
- type: InteractionResponseType.Pong
144
- });
97
+ async handleDeployRequest() {
98
+ const commands = this.commands
99
+ .filter((c) => c.name !== "*")
100
+ .map((c) => c.serialize());
101
+ await this.rest.put(Routes.applicationCommands(this.options.clientId), //
102
+ { body: commands });
103
+ return new Response("OK", { status: 202 });
104
+ }
105
+ /**
106
+ * Handle an interaction request from Discord
107
+ * @param req The request to handle
108
+ * @param ctx The context for the request
109
+ * @returns A response
110
+ */
111
+ async handleInteractionsRequest(req, ctx) {
112
+ const isValid = await this.validateInteractionRequest(req);
113
+ if (!isValid)
114
+ return new Response("Unauthorized", { status: 401 });
115
+ const interaction = (await req.json());
116
+ if (interaction.type === InteractionType.Ping) {
117
+ return Response.json({ type: InteractionResponseType.Pong });
145
118
  }
146
- if (rawInteraction.type === InteractionType.ApplicationCommand) {
147
- if (ctx?.waitUntil) {
148
- ctx.waitUntil((async () => {
149
- await this.commandHandler.handleCommandInteraction(rawInteraction);
150
- })());
151
- }
152
- else {
153
- await this.commandHandler.handleCommandInteraction(rawInteraction);
154
- }
119
+ if (interaction.type === InteractionType.ApplicationCommand) {
120
+ const promise = this.commandHandler.handleCommandInteraction(interaction);
121
+ if (ctx?.waitUntil)
122
+ ctx.waitUntil(promise);
123
+ else
124
+ await promise;
155
125
  }
156
- if (rawInteraction.type === InteractionType.ApplicationCommandAutocomplete) {
157
- if (ctx?.waitUntil) {
158
- ctx.waitUntil((async () => {
159
- await this.commandHandler.handleAutocompleteInteraction(rawInteraction);
160
- })());
161
- }
162
- else {
163
- await this.commandHandler.handleAutocompleteInteraction(rawInteraction);
164
- }
126
+ if (interaction.type === InteractionType.ApplicationCommandAutocomplete) {
127
+ const promise = this.commandHandler.handleAutocompleteInteraction(interaction);
128
+ if (ctx?.waitUntil)
129
+ ctx.waitUntil(promise);
130
+ else
131
+ await promise;
165
132
  }
166
- if (rawInteraction.type === InteractionType.MessageComponent) {
167
- if (ctx?.waitUntil) {
168
- ctx.waitUntil((async () => {
169
- await this.componentHandler.handleInteraction(rawInteraction);
170
- })());
171
- }
172
- else {
173
- await this.componentHandler.handleInteraction(rawInteraction);
174
- }
133
+ if (interaction.type === InteractionType.MessageComponent) {
134
+ const promise = this.componentHandler.handleInteraction(interaction);
135
+ if (ctx?.waitUntil)
136
+ ctx.waitUntil(promise);
137
+ else
138
+ await promise;
175
139
  }
176
- if (rawInteraction.type === InteractionType.ModalSubmit) {
177
- if (ctx?.waitUntil) {
178
- ctx.waitUntil((async () => {
179
- await this.modalHandler.handleInteraction(rawInteraction);
180
- })());
181
- }
182
- else {
183
- await this.modalHandler.handleInteraction(rawInteraction);
184
- }
140
+ if (interaction.type === InteractionType.ModalSubmit) {
141
+ const promise = this.modalHandler.handleInteraction(interaction);
142
+ if (ctx?.waitUntil)
143
+ ctx.waitUntil(promise);
144
+ else
145
+ await promise;
185
146
  }
186
- return new Response(null, { status: 202 });
147
+ return new Response("OK", { status: 202 });
187
148
  }
188
149
  /**
189
150
  * Validate the interaction request
190
151
  * @param req The request to validate
191
152
  */
192
- async validateInteraction(req) {
153
+ async validateInteractionRequest(req) {
193
154
  const body = await req.clone().text();
194
155
  const signature = req.headers.get("X-Signature-Ed25519");
195
156
  const timestamp = req.headers.get("X-Signature-Timestamp");
196
- if (!timestamp || !signature || req.method !== "POST" || !body) {
197
- throw new StatusError(401);
198
- }
157
+ if (!timestamp || !signature || req.method !== "POST" || !body)
158
+ return false;
199
159
  try {
200
160
  const timestampData = valueToUint8Array(timestamp);
201
161
  const bodyData = valueToUint8Array(body);
@@ -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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"}
@@ -41,6 +41,7 @@ export declare class Embed {
41
41
  author?: {
42
42
  name: string;
43
43
  url?: string;
44
+ icon_url?: string;
44
45
  };
45
46
  fields?: {
46
47
  name: string;
@@ -50,7 +51,7 @@ export declare class Embed {
50
51
  /**
51
52
  * Create an embed from an API embed
52
53
  */
53
- constructor(embed: APIEmbed);
54
+ constructor(embed?: APIEmbed);
54
55
  /**
55
56
  * Serialize the embed to an API embed
56
57
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"Embed.d.ts","sourceRoot":"","sources":["../../../src/classes/Embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAErD;;GAEG;AACH,qBAAa,KAAK;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IAED;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,MAAM,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;IAED,MAAM,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,OAAO,CAAA;KAChB,EAAE,CAAA;IAEH;;OAEG;gBACS,KAAK,EAAE,QAAQ;IAa3B;;;OAGG;IACH,SAAS,IAAI,QAAQ;CAcrB"}
1
+ {"version":3,"file":"Embed.d.ts","sourceRoot":"","sources":["../../../src/classes/Embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAErD;;GAEG;AACH,qBAAa,KAAK;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IAED;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,MAAM,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IAED,MAAM,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,OAAO,CAAA;KAChB,EAAE,CAAA;IAEH;;OAEG;gBACS,KAAK,CAAC,EAAE,QAAQ;IAe5B;;;OAGG;IACH,SAAS,IAAI,QAAQ;CAcrB"}
@@ -40,16 +40,18 @@ export class Embed {
40
40
  * Create an embed from an API embed
41
41
  */
42
42
  constructor(embed) {
43
- this.title = embed.title;
44
- this.description = embed.description;
45
- this.url = embed.url;
46
- this.timestamp = embed.timestamp;
47
- this.color = embed.color;
48
- this.footer = embed.footer;
49
- this.image = embed.image?.url;
50
- this.thumbnail = embed.thumbnail?.url;
51
- this.author = embed.author;
52
- this.fields = embed.fields;
43
+ if (embed) {
44
+ this.title = embed.title;
45
+ this.description = embed.description;
46
+ this.url = embed.url;
47
+ this.timestamp = embed.timestamp;
48
+ this.color = embed.color;
49
+ this.footer = embed.footer;
50
+ this.image = embed.image?.url;
51
+ this.thumbnail = embed.thumbnail?.url;
52
+ this.author = embed.author;
53
+ this.fields = embed.fields;
54
+ }
53
55
  }
54
56
  /**
55
57
  * Serialize the embed to an API embed
@@ -1 +1 @@
1
- {"version":3,"file":"Embed.js","sourceRoot":"","sources":["../../../src/classes/Embed.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,KAAK;IACjB;;OAEG;IACH,KAAK,CAAS;IAEd;;OAEG;IACH,WAAW,CAAS;IAEpB;;OAEG;IACH,GAAG,CAAS;IAEZ;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,KAAK,CAAS;IAEd;;OAEG;IACH,MAAM,CAGL;IAED;;OAEG;IACH,KAAK,CAAS;IAEd;;OAEG;IACH,SAAS,CAAS;IAElB,MAAM,CAGL;IAED,MAAM,CAIH;IAEH;;OAEG;IACH,YAAY,KAAe;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;QACpC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,CAAA;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,SAAS;QACR,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;YAC/D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAA;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"Embed.js","sourceRoot":"","sources":["../../../src/classes/Embed.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,KAAK;IACjB;;OAEG;IACH,KAAK,CAAS;IAEd;;OAEG;IACH,WAAW,CAAS;IAEpB;;OAEG;IACH,GAAG,CAAS;IAEZ;;OAEG;IACH,SAAS,CAAS;IAElB;;OAEG;IACH,KAAK,CAAS;IAEd;;OAEG;IACH,MAAM,CAGL;IAED;;OAEG;IACH,KAAK,CAAS;IAEd;;OAEG;IACH,SAAS,CAAS;IAElB,MAAM,CAIL;IAED,MAAM,CAIH;IAEH;;OAEG;IACH,YAAY,KAAgB;QAC3B,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;YACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;YACpC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;YACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;YAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;YACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAA;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,CAAA;YACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC3B,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,SAAS;QACR,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;YAC/D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAA;IACF,CAAC;CACD"}
@@ -0,0 +1,20 @@
1
+ import type { Context, Plugin } from "./abstracts/Plugin.js";
2
+ import type { PartialEnv } from "./adapters/shared.js";
3
+ import type { Client } from "./classes/Client.js";
4
+ /**
5
+ * Creates a handle function that can be used to handle requests
6
+ * @param factory The factory function that creates the plugins
7
+ * @returns The handle function
8
+ * @example
9
+ * ```ts
10
+ * const handle = createHandle((env) => {
11
+ * const client = new Client({ ... }, [ ... ])
12
+ * const linkedRoles = new LinkedRoles(client, { ... })
13
+ * return [client, linkedRoles]
14
+ * })
15
+ * ```
16
+ */
17
+ export declare function createHandle<Env extends PartialEnv = PartialEnv>(factory: (env: Env) => [Client, ...Plugin[]]): Handle<Env>;
18
+ export type Fetch = (req: Request, ctx?: Context) => Promise<Response>;
19
+ export type Handle<Env extends PartialEnv = PartialEnv> = (env: Env) => Fetch;
20
+ //# sourceMappingURL=createHandle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createHandle.d.ts","sourceRoot":"","sources":["../../src/createHandle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAS,MAAM,uBAAuB,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EAC/D,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAC1C,MAAM,CAAC,GAAG,CAAC,CAsCb;AAUD,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AACtE,MAAM,MAAM,MAAM,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,CAAA"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Creates a handle function that can be used to handle requests
3
+ * @param factory The factory function that creates the plugins
4
+ * @returns The handle function
5
+ * @example
6
+ * ```ts
7
+ * const handle = createHandle((env) => {
8
+ * const client = new Client({ ... }, [ ... ])
9
+ * const linkedRoles = new LinkedRoles(client, { ... })
10
+ * return [client, linkedRoles]
11
+ * })
12
+ * ```
13
+ */
14
+ export function createHandle(factory) {
15
+ return (env) => {
16
+ const [client, ...plugins] = factory(env);
17
+ const routes = [client, ...plugins].flatMap((plugin) => plugin.routes);
18
+ return async (req, ctx) => {
19
+ const method = req.method;
20
+ const url = new URL(req.url, "http://localhost");
21
+ const pathname = //
22
+ resolveRequestPathname(new URL(client.options.baseUrl), url);
23
+ if (!pathname)
24
+ return new Response("Not Found", { status: 404 });
25
+ const matchedRoutesByPath = //
26
+ routes.filter((r) => r.path === pathname && !r.disabled);
27
+ const matchedRoutesByMethod = //
28
+ matchedRoutesByPath.filter((r) => r.method === method);
29
+ if (matchedRoutesByMethod.length === 0) {
30
+ if (matchedRoutesByPath.length > 0)
31
+ return new Response("Method Not Allowed", { status: 405 });
32
+ return new Response("Not Found", { status: 404 });
33
+ }
34
+ // Use the last matched route by method to allow for overriding
35
+ const route = matchedRoutesByMethod.at(-1);
36
+ const passedSecret = url.searchParams.get("secret");
37
+ if (route.protected && client.options.deploySecret !== passedSecret)
38
+ return new Response("Unauthorized", { status: 401 });
39
+ try {
40
+ return await route.handler(req, ctx);
41
+ }
42
+ catch (error) {
43
+ console.error(error);
44
+ return new Response("Internal Server Error", { status: 500 });
45
+ }
46
+ };
47
+ };
48
+ }
49
+ function resolveRequestPathname(baseUrl, reqUrl) {
50
+ // Need to use pathname only due to host name being different in Cloudflare Tunnel
51
+ const basePathname = baseUrl.pathname.replace(/\/$/, "");
52
+ const reqPathname = reqUrl.pathname.replace(/\/$/, "");
53
+ if (!reqPathname.startsWith(basePathname))
54
+ return null;
55
+ return reqPathname.slice(basePathname.length);
56
+ }
57
+ //# sourceMappingURL=createHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createHandle.js","sourceRoot":"","sources":["../../src/createHandle.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export * from "./createHandle.js";
1
2
  export * from "./abstracts/AnySelectMenu.js";
2
3
  export * from "./abstracts/AnySelectMenuInteraction.js";
3
4
  export * from "./abstracts/Base.js";
@@ -9,6 +10,7 @@ export * from "./abstracts/BaseGuildChannel.js";
9
10
  export * from "./abstracts/BaseGuildTextChannel.js";
10
11
  export * from "./abstracts/BaseInteraction.js";
11
12
  export * from "./abstracts/GuildThreadOnlyChannel.js";
13
+ export * from "./abstracts/Plugin.js";
12
14
  export * from "./classes/Button.js";
13
15
  export * from "./classes/ChannelSelectMenu.js";
14
16
  export * from "./classes/Client.js";
@@ -30,6 +32,7 @@ export * from "./internals/ChannelSelectMenuInteraction.js";
30
32
  export * from "./internals/CommandHandler.js";
31
33
  export * from "./internals/CommandInteraction.js";
32
34
  export * from "./internals/ComponentHandler.js";
35
+ export * from "./internals/FieldsHandler.js";
33
36
  export * from "./internals/MentionableSelectMenuInteraction.js";
34
37
  export * from "./internals/ModalHandler.js";
35
38
  export * from "./internals/ModalInteraction.js";
@@ -52,4 +55,8 @@ export * from "./structures/Message.js";
52
55
  export * from "./structures/Role.js";
53
56
  export * from "./structures/User.js";
54
57
  export * from "discord-api-types/v10";
58
+ export * from "./adapters/shared.js";
59
+ export * from "./createHandle.js";
60
+ export * from "./types.js";
61
+ export * from "./utils.js";
55
62
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uCAAuC,CAAA;AAGrD,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0CAA0C,CAAA;AACxD,cAAc,qCAAqC,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAG3C,cAAc,+BAA+B,CAAA;AAG7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,0CAA0C,CAAA;AAGxD,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,0CAA0C,CAAA;AACxD,cAAc,sCAAsC,CAAA;AACpD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AAGpC,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AAGjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uCAAuC,CAAA;AACrD,cAAc,uBAAuB,CAAA;AAGrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0CAA0C,CAAA;AACxD,cAAc,qCAAqC,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAG3C,cAAc,+BAA+B,CAAA;AAG7C,cAAc,wCAAwC,CAAA;AACtD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,0CAA0C,CAAA;AAGxD,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,0CAA0C,CAAA;AACxD,cAAc,sCAAsC,CAAA;AACpD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AAGpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
package/dist/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export * from "./createHandle.js";
1
2
  // ----- Abstracts -----
2
3
  export * from "./abstracts/AnySelectMenu.js";
3
4
  export * from "./abstracts/AnySelectMenuInteraction.js";
@@ -10,6 +11,7 @@ export * from "./abstracts/BaseGuildChannel.js";
10
11
  export * from "./abstracts/BaseGuildTextChannel.js";
11
12
  export * from "./abstracts/BaseInteraction.js";
12
13
  export * from "./abstracts/GuildThreadOnlyChannel.js";
14
+ export * from "./abstracts/Plugin.js";
13
15
  // ----- Classes -----
14
16
  export * from "./classes/Button.js";
15
17
  export * from "./classes/ChannelSelectMenu.js";
@@ -34,6 +36,7 @@ export * from "./internals/ChannelSelectMenuInteraction.js";
34
36
  export * from "./internals/CommandHandler.js";
35
37
  export * from "./internals/CommandInteraction.js";
36
38
  export * from "./internals/ComponentHandler.js";
39
+ export * from "./internals/FieldsHandler.js";
37
40
  export * from "./internals/MentionableSelectMenuInteraction.js";
38
41
  export * from "./internals/ModalHandler.js";
39
42
  export * from "./internals/ModalInteraction.js";
@@ -56,6 +59,10 @@ export * from "./structures/GuildThreadChannel.js";
56
59
  export * from "./structures/Message.js";
57
60
  export * from "./structures/Role.js";
58
61
  export * from "./structures/User.js";
59
- // ----- Types -----
62
+ // ----- Misc -----
60
63
  export * from "discord-api-types/v10";
64
+ export * from "./adapters/shared.js";
65
+ export * from "./createHandle.js";
66
+ export * from "./types.js";
67
+ export * from "./utils.js";
61
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uCAAuC,CAAA;AAErD,sBAAsB;AACtB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0CAA0C,CAAA;AACxD,cAAc,qCAAqC,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAE3C,wBAAwB;AACxB,cAAc,+BAA+B,CAAA;AAE7C,wBAAwB;AACxB,cAAc,wCAAwC,CAAA;AACtD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,0CAA0C,CAAA;AAExD,yBAAyB;AACzB,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,0CAA0C,CAAA;AACxD,cAAc,sCAAsC,CAAA;AACpD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AAEpC,oBAAoB;AACpB,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AAEjC,wBAAwB;AACxB,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uCAAuC,CAAA;AACrD,cAAc,uBAAuB,CAAA;AAErC,sBAAsB;AACtB,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0CAA0C,CAAA;AACxD,cAAc,qCAAqC,CAAA;AACnD,cAAc,oBAAoB,CAAA;AAClC,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAE3C,wBAAwB;AACxB,cAAc,+BAA+B,CAAA;AAE7C,wBAAwB;AACxB,cAAc,wCAAwC,CAAA;AACtD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iDAAiD,CAAA;AAC/D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,0CAA0C,CAAA;AAExD,yBAAyB;AACzB,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,0CAA0C,CAAA;AACxD,cAAc,sCAAsC,CAAA;AACpD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AAEpC,mBAAmB;AACnB,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
@@ -2,8 +2,8 @@ import { type APIModalSubmitInteraction } from "discord-api-types/v10";
2
2
  import { BaseInteraction } from "../abstracts/BaseInteraction.js";
3
3
  import type { InteractionReplyOptions } from "../abstracts/BaseInteraction.js";
4
4
  import type { Client, InteractionDefaults } from "../index.js";
5
- import { FieldsHandler } from "./FieldsHandler.js";
6
5
  import type { MessagePayload } from "../types.js";
6
+ import { FieldsHandler } from "./FieldsHandler.js";
7
7
  export declare class ModalInteraction extends BaseInteraction<APIModalSubmitInteraction> {
8
8
  customId: string;
9
9
  fields: FieldsHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalInteraction.d.ts","sourceRoot":"","sources":["../../../src/internals/ModalInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,yBAAyB,EAI9B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,yBAAyB,CAAC;IAC/E,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,aAAa,CAAA;gBAGpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,yBAAyB,EAC/B,QAAQ,EAAE,mBAAmB;IAQ9B;;;OAGG;IACG,WAAW;IAYjB;;;OAGG;IACG,MAAM,CACX,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAM;CAgBrD"}
1
+ {"version":3,"file":"ModalInteraction.d.ts","sourceRoot":"","sources":["../../../src/internals/ModalInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,yBAAyB,EAI9B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,yBAAyB,CAAC;IAC/E,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,aAAa,CAAA;gBAGpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,yBAAyB,EAC/B,QAAQ,EAAE,mBAAmB;IAQ9B;;;OAGG;IACG,WAAW;IAYjB;;;OAGG;IACG,MAAM,CACX,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAM;CAgBrD"}
@@ -1,7 +1,7 @@
1
1
  import { InteractionResponseType, Routes } from "discord-api-types/v10";
2
2
  import { BaseInteraction } from "../abstracts/BaseInteraction.js";
3
- import { FieldsHandler } from "./FieldsHandler.js";
4
3
  import { serializePayload } from "../utils.js";
4
+ import { FieldsHandler } from "./FieldsHandler.js";
5
5
  export class ModalInteraction extends BaseInteraction {
6
6
  customId;
7
7
  fields;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalInteraction.js","sourceRoot":"","sources":["../../../src/internals/ModalInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,uBAAuB,EAEvB,MAAM,EACN,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,OAAO,gBAAiB,SAAQ,eAA0C;IAC/E,QAAQ,CAAQ;IAChB,MAAM,CAAe;IAErB,YACC,MAAc,EACd,IAA+B,EAC/B,QAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAE7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QAChB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/D;YACC,IAAI,EAAE;gBACL,IAAI,EAAE,uBAAuB,CAAC,qBAAqB;aACT;SAC3C,CACD,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CACX,IAAoB,EACpB,UAAkD,EAAE;QAEpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/D;YACC,IAAI,EAAE;gBACL,IAAI,EAAE,uBAAuB,CAAC,aAAa;gBAC3C,IAAI,EAAE;oBACL,GAAG,UAAU;iBACb;aACyC;YAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;SACpB,CACD,CAAA;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"ModalInteraction.js","sourceRoot":"","sources":["../../../src/internals/ModalInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,uBAAuB,EAEvB,MAAM,EACN,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAIjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,OAAO,gBAAiB,SAAQ,eAA0C;IAC/E,QAAQ,CAAQ;IAChB,MAAM,CAAe;IAErB,YACC,MAAc,EACd,IAA+B,EAC/B,QAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAE7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QAChB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/D;YACC,IAAI,EAAE;gBACL,IAAI,EAAE,uBAAuB,CAAC,qBAAqB;aACT;SAC3C,CACD,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CACX,IAAoB,EACpB,UAAkD,EAAE;QAEpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/D;YACC,IAAI,EAAE;gBACL,IAAI,EAAE,uBAAuB,CAAC,aAAa;gBAC3C,IAAI,EAAE;oBACL,GAAG,UAAU;iBACb;aACyC;YAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;SACpB,CACD,CAAA;IACF,CAAC;CACD"}