@buape/carbon 0.1.2 → 0.2.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 (65) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-dev.log +3 -170
  3. package/CHANGELOG.md +16 -0
  4. package/dist/package.json +1 -1
  5. package/dist/src/abstracts/BaseCommand.d.ts +1 -6
  6. package/dist/src/abstracts/BaseCommand.d.ts.map +1 -1
  7. package/dist/src/abstracts/BaseCommand.js +0 -5
  8. package/dist/src/abstracts/BaseCommand.js.map +1 -1
  9. package/dist/src/abstracts/BaseInteraction.d.ts +10 -7
  10. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  11. package/dist/src/abstracts/BaseInteraction.js +25 -8
  12. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  13. package/dist/src/classes/Client.d.ts +12 -1
  14. package/dist/src/classes/Client.d.ts.map +1 -1
  15. package/dist/src/classes/Client.js +22 -0
  16. package/dist/src/classes/Client.js.map +1 -1
  17. package/dist/src/classes/Modal.d.ts +21 -0
  18. package/dist/src/classes/Modal.d.ts.map +1 -0
  19. package/dist/src/classes/Modal.js +14 -0
  20. package/dist/src/classes/Modal.js.map +1 -0
  21. package/dist/src/classes/Row.d.ts +7 -9
  22. package/dist/src/classes/Row.d.ts.map +1 -1
  23. package/dist/src/classes/Row.js +5 -4
  24. package/dist/src/classes/Row.js.map +1 -1
  25. package/dist/src/classes/TextInput.d.ts +40 -0
  26. package/dist/src/classes/TextInput.d.ts.map +1 -0
  27. package/dist/src/classes/TextInput.js +44 -0
  28. package/dist/src/classes/TextInput.js.map +1 -0
  29. package/dist/src/index.d.ts +3 -0
  30. package/dist/src/index.d.ts.map +1 -1
  31. package/dist/src/index.js +3 -0
  32. package/dist/src/index.js.map +1 -1
  33. package/dist/src/internals/CommandHandler.d.ts +4 -0
  34. package/dist/src/internals/CommandHandler.d.ts.map +1 -1
  35. package/dist/src/internals/CommandHandler.js +4 -0
  36. package/dist/src/internals/CommandHandler.js.map +1 -1
  37. package/dist/src/internals/ComponentHandler copy.d.ts +17 -0
  38. package/dist/src/internals/ComponentHandler copy.d.ts.map +1 -0
  39. package/dist/src/internals/ComponentHandler copy.js +75 -0
  40. package/dist/src/internals/ComponentHandler copy.js.map +1 -0
  41. package/dist/src/internals/ComponentHandler.d.ts +11 -0
  42. package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
  43. package/dist/src/internals/ComponentHandler.js +15 -4
  44. package/dist/src/internals/ComponentHandler.js.map +1 -1
  45. package/dist/src/internals/ModalHandler.d.ts +17 -0
  46. package/dist/src/internals/ModalHandler.d.ts.map +1 -0
  47. package/dist/src/internals/ModalHandler.js +25 -0
  48. package/dist/src/internals/ModalHandler.js.map +1 -0
  49. package/dist/src/internals/ModalInteraction.d.ts +11 -0
  50. package/dist/src/internals/ModalInteraction.d.ts.map +1 -0
  51. package/dist/src/internals/ModalInteraction.js +19 -0
  52. package/dist/src/internals/ModalInteraction.js.map +1 -0
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +1 -1
  55. package/src/abstracts/BaseCommand.ts +1 -11
  56. package/src/abstracts/BaseInteraction.ts +42 -10
  57. package/src/classes/Client.ts +25 -2
  58. package/src/classes/Modal.ts +38 -0
  59. package/src/classes/Row.ts +14 -8
  60. package/src/classes/TextInput.ts +65 -0
  61. package/src/index.ts +3 -0
  62. package/src/internals/CommandHandler.ts +4 -0
  63. package/src/internals/ComponentHandler.ts +15 -4
  64. package/src/internals/ModalHandler.ts +27 -0
  65. package/src/internals/ModalInteraction.ts +25 -0
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @buape/carbon@0.1.2 build /Users/shadow/Projects/carbon/packages/carbon
3
+ > @buape/carbon@0.2.0 build /Users/shadow/Projects/carbon/packages/carbon
4
4
  > tsc
5
5
 
@@ -1,175 +1,8 @@
1
1
 
2
- > @buape/carbon@0.1.1 dev /Users/shadow/Projects/carbon/packages/carbon
2
+ > @buape/carbon@0.1.3 dev /Users/shadow/Projects/carbon/packages/carbon
3
3
  > tsc -w
4
4
 
5
- [12:37:33 PM] Starting compilation in watch mode...
5
+ [1:00:25 PM] Starting compilation in watch mode...
6
6
 
7
- [12:37:35 PM] Found 0 errors. Watching for file changes.
8
-
9
- [12:41:42 PM] File change detected. Starting incremental compilation...
10
-
11
- src/abstracts/BaseCommand.ts:6:1 - error TS6133: 'BaseComponent' is declared but its value is never read.
12
-
13
- 6 import type { BaseComponent } from "./BaseComponent.js"
14
-   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15
-
16
- src/internals/ComponentHandler.ts:24:21 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
17
-
18
- 24 .filter((x) => x.components && x.components.length > 0)
19
-    ~~~~~~~~~~
20
-
21
- src/internals/ComponentHandler.ts:24:37 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
22
-
23
- 24 .filter((x) => x.components && x.components.length > 0)
24
-    ~~~~~~~~~~
25
-
26
- src/internals/ComponentHandler.ts:25:22 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
27
-
28
- 25 .flatMap((x) => x.components) as BaseComponent[]
29
-    ~~~~~~~~~~
30
-
31
- [12:41:42 PM] Found 4 errors. Watching for file changes.
32
-
33
- [12:41:43 PM] File change detected. Starting incremental compilation...
34
-
35
- src/abstracts/BaseCommand.ts:6:1 - error TS6133: 'BaseComponent' is declared but its value is never read.
36
-
37
- 6 import type { BaseComponent } from "./BaseComponent.js"
38
-   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39
-
40
- src/internals/ComponentHandler.ts:24:21 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
41
-
42
- 24 .filter((x) => x.components && x.components.length > 0)
43
-    ~~~~~~~~~~
44
-
45
- src/internals/ComponentHandler.ts:24:37 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
46
-
47
- 24 .filter((x) => x.components && x.components.length > 0)
48
-    ~~~~~~~~~~
49
-
50
- src/internals/ComponentHandler.ts:25:22 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
51
-
52
- 25 .flatMap((x) => x.components) as BaseComponent[]
53
-    ~~~~~~~~~~
54
-
55
- [12:41:43 PM] Found 4 errors. Watching for file changes.
56
-
57
- [12:41:46 PM] File change detected. Starting incremental compilation...
58
-
59
- src/internals/ComponentHandler.ts:24:21 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
60
-
61
- 24 .filter((x) => x.components && x.components.length > 0)
62
-    ~~~~~~~~~~
63
-
64
- src/internals/ComponentHandler.ts:24:37 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
65
-
66
- 24 .filter((x) => x.components && x.components.length > 0)
67
-    ~~~~~~~~~~
68
-
69
- src/internals/ComponentHandler.ts:25:22 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
70
-
71
- 25 .flatMap((x) => x.components) as BaseComponent[]
72
-    ~~~~~~~~~~
73
-
74
- [12:41:46 PM] Found 3 errors. Watching for file changes.
75
-
76
- [12:41:56 PM] File change detected. Starting incremental compilation...
77
-
78
- src/classes/Command.ts:30:15 - error TS2304: Cannot find name 'BaseComponent'.
79
-
80
- 30 components?: BaseComponent[] = []
81
-    ~~~~~~~~~~~~~
82
-
83
- src/internals/ComponentHandler.ts:24:21 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
84
-
85
- 24 .filter((x) => x.components && x.components.length > 0)
86
-    ~~~~~~~~~~
87
-
88
- src/internals/ComponentHandler.ts:24:37 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
89
-
90
- 24 .filter((x) => x.components && x.components.length > 0)
91
-    ~~~~~~~~~~
92
-
93
- src/internals/ComponentHandler.ts:25:22 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
94
-
95
- 25 .flatMap((x) => x.components) as BaseComponent[]
96
-    ~~~~~~~~~~
97
-
98
- [12:41:56 PM] Found 4 errors. Watching for file changes.
99
-
100
- [12:42:05 PM] File change detected. Starting incremental compilation...
101
-
102
- src/internals/ComponentHandler.ts:24:21 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
103
-
104
- 24 .filter((x) => x.components && x.components.length > 0)
105
-    ~~~~~~~~~~
106
-
107
- src/internals/ComponentHandler.ts:24:37 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
108
-
109
- 24 .filter((x) => x.components && x.components.length > 0)
110
-    ~~~~~~~~~~
111
-
112
- src/internals/ComponentHandler.ts:25:22 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
113
-
114
- 25 .flatMap((x) => x.components) as BaseComponent[]
115
-    ~~~~~~~~~~
116
-
117
- [12:42:05 PM] Found 3 errors. Watching for file changes.
118
-
119
- [12:42:07 PM] File change detected. Starting incremental compilation...
120
-
121
- src/internals/ComponentHandler.ts:24:21 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
122
-
123
- 24 .filter((x) => x.components && x.components.length > 0)
124
-    ~~~~~~~~~~
125
-
126
- src/internals/ComponentHandler.ts:24:37 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
127
-
128
- 24 .filter((x) => x.components && x.components.length > 0)
129
-    ~~~~~~~~~~
130
-
131
- src/internals/ComponentHandler.ts:25:22 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
132
-
133
- 25 .flatMap((x) => x.components) as BaseComponent[]
134
-    ~~~~~~~~~~
135
-
136
- [12:42:07 PM] Found 3 errors. Watching for file changes.
137
-
138
- [12:42:13 PM] File change detected. Starting incremental compilation...
139
-
140
- src/internals/ComponentHandler.ts:24:21 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
141
-
142
- 24 .filter((x) => x.components && x.components.length > 0)
143
-    ~~~~~~~~~~
144
-
145
- src/internals/ComponentHandler.ts:24:37 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
146
-
147
- 24 .filter((x) => x.components && x.components.length > 0)
148
-    ~~~~~~~~~~
149
-
150
- src/internals/ComponentHandler.ts:25:22 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
151
-
152
- 25 .flatMap((x) => x.components) as BaseComponent[]
153
-    ~~~~~~~~~~
154
-
155
- [12:42:13 PM] Found 3 errors. Watching for file changes.
156
-
157
- [12:42:17 PM] File change detected. Starting incremental compilation...
158
-
159
- src/internals/ComponentHandler.ts:24:21 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
160
-
161
- 24 .filter((x) => x.components && x.components.length > 0)
162
-    ~~~~~~~~~~
163
-
164
- src/internals/ComponentHandler.ts:24:37 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
165
-
166
- 24 .filter((x) => x.components && x.components.length > 0)
167
-    ~~~~~~~~~~
168
-
169
- src/internals/ComponentHandler.ts:25:22 - error TS2339: Property 'components' does not exist on type 'BaseCommand'.
170
-
171
- 25 .flatMap((x) => x.components) as BaseComponent[]
172
-    ~~~~~~~~~~
173
-
174
- [12:42:17 PM] Found 3 errors. Watching for file changes.
7
+ [1:00:26 PM] Found 0 errors. Watching for file changes.
175
8
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @buape/carbon
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ad9666b: feat: Modal support
8
+
9
+ ### Patch Changes
10
+
11
+ - 9e93027: feat: make components automatically registered
12
+
13
+ ## 0.1.3
14
+
15
+ ### Patch Changes
16
+
17
+ - fix: use Request instead of IRequestStrict for Client#handle
18
+
3
19
  ## 0.1.2
4
20
 
5
21
  ### Patch Changes
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buape/carbon",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/src/index.js",
6
6
  "scripts": {
@@ -1,5 +1,5 @@
1
1
  import { ApplicationCommandType, type RESTPostAPIApplicationCommandsJSONBody } from "discord-api-types/v10";
2
- import { ApplicationIntegrationType, type BaseComponent, InteractionContextType } from "../index.js";
2
+ import { ApplicationIntegrationType, InteractionContextType } from "../index.js";
3
3
  /**
4
4
  * Represents the base data of a command that the user creates
5
5
  */
@@ -34,11 +34,6 @@ export declare abstract class BaseCommand {
34
34
  * @beta API types are not finalized
35
35
  */
36
36
  contexts: InteractionContextType[];
37
- /**
38
- * All the components that the command is able to use.
39
- * You mount these here so the handler can access them
40
- */
41
- components?: BaseComponent[];
42
37
  /**
43
38
  * All the paginators that the command is able to use.
44
39
  * You mount these here so the handler can access them
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCommand.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,KAAK,sCAAsC,EAC3C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,0BAA0B,EAC1B,KAAK,aAAa,EAClB,sBAAsB,EACtB,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,8BAAsB,WAAW;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;OAEG;IACH,KAAK,UAAQ;IACb;;OAEG;IACH,SAAS,UAAQ;IACjB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;IACrC;;;OAGG;IACH,gBAAgB,EAAE,0BAA0B,EAAE,CAG7C;IACD;;;OAGG;IACH,QAAQ,EAAE,sBAAsB,EAAE,CAIjC;IAED;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAK;IAEjC;;;OAGG;IAGH;;;OAGG;IACH,SAAS;IAyBT;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,IAAI,sCAAsC,CAAC,SAAS,CAAC;CAC9E"}
1
+ {"version":3,"file":"BaseCommand.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,KAAK,sCAAsC,EAC3C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEhF;;GAEG;AACH,8BAAsB,WAAW;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;OAEG;IACH,KAAK,UAAQ;IACb;;OAEG;IACH,SAAS,UAAQ;IACjB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;IACrC;;;OAGG;IACH,gBAAgB,EAAE,0BAA0B,EAAE,CAG7C;IACD;;;OAGG;IACH,QAAQ,EAAE,sBAAsB,EAAE,CAIjC;IAED;;;OAGG;IAGH;;;OAGG;IACH,SAAS;IAyBT;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,IAAI,sCAAsC,CAAC,SAAS,CAAC;CAC9E"}
@@ -29,11 +29,6 @@ export class BaseCommand {
29
29
  InteractionContextType.BotDM,
30
30
  InteractionContextType.PrivateChannel
31
31
  ];
32
- /**
33
- * All the components that the command is able to use.
34
- * You mount these here so the handler can access them
35
- */
36
- components = [];
37
32
  /**
38
33
  * All the paginators that the command is able to use.
39
34
  * You mount these here so the handler can access them
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCommand.js","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EAEtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,0BAA0B,EAE1B,sBAAsB,EACtB,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,MAAM,OAAgB,WAAW;IAShC;;OAEG;IACH,KAAK,GAAG,KAAK,CAAA;IACb;;OAEG;IACH,SAAS,GAAG,KAAK,CAAA;IAKjB;;;OAGG;IACH,gBAAgB,GAAiC;QAChD,0BAA0B,CAAC,YAAY;QACvC,0BAA0B,CAAC,WAAW;KACtC,CAAA;IACD;;;OAGG;IACH,QAAQ,GAA6B;QACpC,sBAAsB,CAAC,KAAK;QAC5B,sBAAsB,CAAC,KAAK;QAC5B,sBAAsB,CAAC,cAAc;KACrC,CAAA;IAED;;;OAGG;IACH,UAAU,GAAqB,EAAE,CAAA;IAEjC;;;OAGG;IACH,gCAAgC;IAEhC;;;OAGG;IACH,SAAS;QACR,iDAAiD;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,GAA2C;gBACpD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBAChC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;gBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAA;YAED,OAAO,IAAI,CAAA;QACZ,CAAC;QACD,MAAM,IAAI,GAA2C;YACpD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAChC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAA;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;CAOD"}
1
+ {"version":3,"file":"BaseCommand.js","sourceRoot":"","sources":["../../../src/abstracts/BaseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EAEtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEhF;;GAEG;AACH,MAAM,OAAgB,WAAW;IAShC;;OAEG;IACH,KAAK,GAAG,KAAK,CAAA;IACb;;OAEG;IACH,SAAS,GAAG,KAAK,CAAA;IAKjB;;;OAGG;IACH,gBAAgB,GAAiC;QAChD,0BAA0B,CAAC,YAAY;QACvC,0BAA0B,CAAC,WAAW;KACtC,CAAA;IACD;;;OAGG;IACH,QAAQ,GAA6B;QACpC,sBAAsB,CAAC,KAAK;QAC5B,sBAAsB,CAAC,KAAK;QAC5B,sBAAsB,CAAC,cAAc;KACrC,CAAA;IAED;;;OAGG;IACH,gCAAgC;IAEhC;;;OAGG;IACH,SAAS;QACR,iDAAiD;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,GAA2C;gBACpD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBAChC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;gBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAA;YAED,OAAO,IAAI,CAAA;QACZ,CAAC;QACD,MAAM,IAAI,GAA2C;YACpD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAChC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAA;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;CAOD"}
@@ -1,11 +1,6 @@
1
1
  import { type APIInteraction, type InteractionType } from "discord-api-types/v10";
2
- import type { Client } from "../classes/Client.js";
3
- import type { Row } from "../classes/Row.js";
4
- import { Guild } from "../structures/Guild.js";
2
+ import { Base, type Client, Guild, Message, type Modal, type Row, User } from "../index.js";
5
3
  import { GuildMember } from "../structures/GuildMember.js";
6
- import { Message } from "../structures/Message.js";
7
- import { User } from "../structures/User.js";
8
- import { Base } from "./Base.js";
9
4
  /**
10
5
  * The data to reply to an interaction
11
6
  */
@@ -27,6 +22,10 @@ export type InteractionReplyOptions = {
27
22
  * The files to send in the interaction
28
23
  */
29
24
  files?: InteractionFileData[];
25
+ /**
26
+ * Whether the interaction should be ephemeral
27
+ */
28
+ ephemeral?: boolean;
30
29
  };
31
30
  /**
32
31
  * The data for a file to send in an interaction
@@ -67,7 +66,10 @@ export declare abstract class BaseInteraction<T extends APIInteraction> extends
67
66
  * @internal
68
67
  */
69
68
  _deferred: boolean;
70
- constructor(client: Client, data: T);
69
+ private defaultEphemeral;
70
+ constructor(client: Client, data: T, defaults?: {
71
+ ephemeral?: boolean;
72
+ });
71
73
  get message(): Message | null;
72
74
  get guild(): Guild | null;
73
75
  get user(): User | null;
@@ -85,5 +87,6 @@ export declare abstract class BaseInteraction<T extends APIInteraction> extends
85
87
  * @internal
86
88
  */
87
89
  defer(): Promise<void>;
90
+ showModal(modal: Modal): Promise<void>;
88
91
  }
89
92
  //# sourceMappingURL=BaseInteraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInteraction.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC;;OAEG;IACH,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAC7B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IACV;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,8BAAsB,eAAe,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,IAAI;IAC3E;;OAEG;IACH,IAAI,EAAE,eAAe,CAAA;IACrB;;OAEG;IACH,OAAO,EAAE,CAAC,CAAA;IACV;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B;;;OAGG;IACH,SAAS,UAAQ;gBAEL,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAQnC,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAG5B;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAGxB;IAED,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAKtB;IAED,IAAI,OAAO,+dAGV;IAED,IAAI,MAAM,uBAIT;IAED;;;;OAIG;IACG,KAAK,CACV,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,uBAA4B;IAkCtC;;;;OAIG;IACG,KAAK;CAYX"}
1
+ {"version":3,"file":"BaseInteraction.d.ts","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,IAAI,EACJ,KAAK,MAAM,EACX,KAAK,EACL,OAAO,EACP,KAAK,KAAK,EACV,KAAK,GAAG,EACR,IAAI,EAEJ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC;;OAEG;IACH,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IACV;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,8BAAsB,eAAe,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,IAAI;IAC3E;;OAEG;IACH,IAAI,EAAE,eAAe,CAAA;IACrB;;OAEG;IACH,OAAO,EAAE,CAAC,CAAA;IACV;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B;;;OAGG;IACH,SAAS,UAAQ;IAEjB,OAAO,CAAC,gBAAgB,CAAQ;gBAEpB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO;IAS3E,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAG5B;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAGxB;IAED,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAKtB;IAED,IAAI,OAAO,+dAGV;IAED,IAAI,MAAM,uBAIT;IAED;;;;OAIG;IACG,KAAK,CACV,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,uBAA4B;IAwCtC;;;;OAIG;IACG,KAAK;IAcL,SAAS,CAAC,KAAK,EAAE,KAAK;CAc5B"}
@@ -1,10 +1,6 @@
1
1
  import { InteractionResponseType, Routes } from "discord-api-types/v10";
2
- import { channelFactory } from "../factories/channelFactory.js";
3
- import { Guild } from "../structures/Guild.js";
2
+ import { Base, Guild, Message, User, channelFactory } from "../index.js";
4
3
  import { GuildMember } from "../structures/GuildMember.js";
5
- import { Message } from "../structures/Message.js";
6
- import { User } from "../structures/User.js";
7
- import { Base } from "./Base.js";
8
4
  /**
9
5
  * This is the base type interaction, all interaction types extend from this
10
6
  */
@@ -26,12 +22,15 @@ export class BaseInteraction extends Base {
26
22
  * @internal
27
23
  */
28
24
  _deferred = false;
29
- constructor(client, data) {
25
+ defaultEphemeral = false;
26
+ constructor(client, data, defaults = {}) {
30
27
  super(client);
31
28
  this.rawData = data;
32
29
  this.type = data.type;
33
30
  this.userId =
34
31
  this.rawData.user?.id || this.rawData.member?.user.id || undefined;
32
+ if (defaults.ephemeral)
33
+ this.defaultEphemeral = defaults.ephemeral;
35
34
  }
36
35
  get message() {
37
36
  if (!this.rawData.message)
@@ -68,6 +67,11 @@ export class BaseInteraction extends Base {
68
67
  * @param data The response data
69
68
  */
70
69
  async reply(data, options = {}) {
70
+ data.components?.map((row) => {
71
+ row.components.map((component) => {
72
+ this.client.componentHandler.registerComponent(component);
73
+ });
74
+ });
71
75
  if (this._deferred) {
72
76
  await this.client.rest.patch(Routes.webhookMessage(this.client.options.clientId, this.rawData.token, "@original"), {
73
77
  body: {
@@ -83,7 +87,8 @@ export class BaseInteraction extends Base {
83
87
  type: InteractionResponseType.ChannelMessageWithSource,
84
88
  data: {
85
89
  ...data,
86
- components: data.components?.map((row) => row.serialize())
90
+ components: data.components?.map((row) => row.serialize()),
91
+ ephemeral: options.ephemeral ?? this.defaultEphemeral
87
92
  }
88
93
  },
89
94
  files: options.files
@@ -101,7 +106,19 @@ export class BaseInteraction extends Base {
101
106
  this._deferred = true;
102
107
  await this.client.rest.post(Routes.interactionCallback(this.rawData.id, this.rawData.token), {
103
108
  body: {
104
- type: InteractionResponseType.DeferredChannelMessageWithSource
109
+ type: InteractionResponseType.DeferredChannelMessageWithSource,
110
+ ephemeral: this.defaultEphemeral
111
+ }
112
+ });
113
+ }
114
+ async showModal(modal) {
115
+ if (this._deferred)
116
+ throw new Error("You cannot defer an interaction that shows a modal");
117
+ this.client.modalHandler.registerModal(modal);
118
+ await this.client.rest.post(Routes.interactionCallback(this.rawData.id, this.rawData.token), {
119
+ body: {
120
+ type: InteractionResponseType.Modal,
121
+ data: modal.serialize()
105
122
  }
106
123
  });
107
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInteraction.js","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseInteraction.js","sourceRoot":"","sources":["../../../src/abstracts/BaseInteraction.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { AutoRouter, type IRequestStrict } from "itty-router";
3
3
  import type { BaseCommand } from "../abstracts/BaseCommand.js";
4
4
  import { CommandHandler } from "../internals/CommandHandler.js";
5
5
  import { ComponentHandler } from "../internals/ComponentHandler.js";
6
+ import { ModalHandler } from "../internals/ModalHandler.js";
6
7
  /**
7
8
  * The mode that the client is running in.
8
9
  * Different platforms have different requirements for how processes are handled.
@@ -89,9 +90,19 @@ export declare class Client {
89
90
  rest: RequestClient;
90
91
  /**
91
92
  * The handler for the component interactions sent from Discord
93
+ * @internal
92
94
  */
93
95
  componentHandler: ComponentHandler;
96
+ /**
97
+ * The handler for the modal interactions sent from Discord
98
+ * @internal
99
+ */
94
100
  commandHandler: CommandHandler;
101
+ /**
102
+ * The handler for the modal interactions sent from Discord
103
+ * @internal
104
+ */
105
+ modalHandler: ModalHandler;
95
106
  /**
96
107
  * Creates a new client
97
108
  * @param options The options used to initialize the client
@@ -113,7 +124,7 @@ export declare class Client {
113
124
  * @param ctx Cloudflare Workers only. The execution context of the request, provided in the fetch handler from CF.
114
125
  * @returns A response to send back to the client.
115
126
  */
116
- handle(req: IRequestStrict, ctx?: ExecutionContext): Promise<Response>;
127
+ handle(req: Request, ctx?: ExecutionContext): Promise<Response>;
117
128
  /**
118
129
  * Validate the interaction request
119
130
  * @param req The request to validate
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAQhF,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAqB,MAAM,aAAa,CAAA;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAEnE;;;GAGG;AACH,oBAAY,UAAU;IACrB,MAAM,SAAS;IACf,iBAAiB,eAAe;IAChC,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;CACX;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;;;OAaG;IACH,IAAI,EAAE,UAAU,CAAA;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,qBAAa,MAAM;IAClB;;OAEG;IACH,OAAO,EAAE,aAAa,CAAA;IACtB;;OAEG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;IACrD;;OAEG;IACH,IAAI,EAAE,aAAa,CAAA;IACnB;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAE9B;;;;OAIG;gBACS,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE;IAmB3D;;;OAGG;IACG,cAAc;IAepB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,gBAAgB;IAqD/D;;;OAGG;YACW,mBAAmB;CAiBjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAEhC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;CACtC"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/classes/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAQhF,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAqB,MAAM,aAAa,CAAA;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D;;;GAGG;AACH,oBAAY,UAAU;IACrB,MAAM,SAAS;IACf,iBAAiB,eAAe;IAChC,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;CACX;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;;;OAaG;IACH,IAAI,EAAE,UAAU,CAAA;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,qBAAa,MAAM;IAClB;;OAEG;IACH,OAAO,EAAE,aAAa,CAAA;IACtB;;OAEG;IACH,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC,CAAA;IACrD;;OAEG;IACH,IAAI,EAAE,aAAa,CAAA;IACnB;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,CAAA;IAClC;;;OAGG;IACH,cAAc,EAAE,cAAc,CAAA;IAC9B;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAA;IAE1B;;;;OAIG;gBACS,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE;IAoB3D;;;OAGG;IACG,cAAc;IAepB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;;;;OAKG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,gBAAgB;IAgExD;;;OAGG;YACW,mBAAmB;CAiBjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAEhC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;CACtC"}
@@ -4,6 +4,7 @@ import { PlatformAlgorithm, isValidRequest } from "discord-verify";
4
4
  import { AutoRouter, StatusError, json } from "itty-router";
5
5
  import { CommandHandler } from "../internals/CommandHandler.js";
6
6
  import { ComponentHandler } from "../internals/ComponentHandler.js";
7
+ import { ModalHandler } from "../internals/ModalHandler.js";
7
8
  /**
8
9
  * The mode that the client is running in.
9
10
  * Different platforms have different requirements for how processes are handled.
@@ -38,9 +39,19 @@ export class Client {
38
39
  rest;
39
40
  /**
40
41
  * The handler for the component interactions sent from Discord
42
+ * @internal
41
43
  */
42
44
  componentHandler;
45
+ /**
46
+ * The handler for the modal interactions sent from Discord
47
+ * @internal
48
+ */
43
49
  commandHandler;
50
+ /**
51
+ * The handler for the modal interactions sent from Discord
52
+ * @internal
53
+ */
54
+ modalHandler;
44
55
  /**
45
56
  * Creates a new client
46
57
  * @param options The options used to initialize the client
@@ -63,6 +74,7 @@ export class Client {
63
74
  this.rest = new RequestClient(options.token, options.requestOptions);
64
75
  this.componentHandler = new ComponentHandler(this);
65
76
  this.commandHandler = new CommandHandler(this);
77
+ this.modalHandler = new ModalHandler(this);
66
78
  this.setupRoutes();
67
79
  if (this.options.autoDeploy)
68
80
  this.deployCommands();
@@ -146,6 +158,16 @@ export class Client {
146
158
  await this.componentHandler.handleInteraction(rawInteraction);
147
159
  }
148
160
  }
161
+ if (rawInteraction.type === InteractionType.ModalSubmit) {
162
+ if (ctx?.waitUntil) {
163
+ ctx.waitUntil((async () => {
164
+ await this.modalHandler.handleInteraction(rawInteraction);
165
+ })());
166
+ }
167
+ else {
168
+ await this.modalHandler.handleInteraction(rawInteraction);
169
+ }
170
+ }
149
171
  return new Response(null, { status: 202 });
150
172
  }
151
173
  /**
@@ -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,21 @@
1
+ import type { APIModalInteractionResponseCallbackData } from "discord-api-types/v10";
2
+ import type { ModalInteraction } from "../internals/ModalInteraction.js";
3
+ import type { Row } from "./Row.js";
4
+ import type { TextInput } from "./TextInput.js";
5
+ export declare abstract class Modal {
6
+ /**
7
+ * The title of the modal
8
+ */
9
+ abstract title: string;
10
+ /**
11
+ * The components of the modal
12
+ */
13
+ components: Row<TextInput>[];
14
+ /**
15
+ * The custom ID of the modal
16
+ */
17
+ abstract customId: string;
18
+ abstract run(interaction: ModalInteraction): Promise<void>;
19
+ serialize: () => APIModalInteractionResponseCallbackData;
20
+ }
21
+ //# sourceMappingURL=Modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/classes/Modal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,uCAAuC,EAEvC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,8BAAsB,KAAK;IAC1B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAK;IAEjC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IAEzB,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1D,SAAS,QAAO,uCAAuC,CAStD;CACD"}
@@ -0,0 +1,14 @@
1
+ export class Modal {
2
+ /**
3
+ * The components of the modal
4
+ */
5
+ components = [];
6
+ serialize = () => {
7
+ return {
8
+ title: this.title,
9
+ custom_id: this.customId,
10
+ components: this.components.map((row) => row.serialize())
11
+ };
12
+ };
13
+ }
14
+ //# sourceMappingURL=Modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/classes/Modal.ts"],"names":[],"mappings":"AASA,MAAM,OAAgB,KAAK;IAM1B;;OAEG;IACH,UAAU,GAAqB,EAAE,CAAA;IASjC,SAAS,GAAG,GAA4C,EAAE;QACzD,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAC9B,CAAC,GAAG,EAAE,EAAE,CACP,GAAG,CAAC,SAAS,EAA6D,CAC3E;SACD,CAAA;IACF,CAAC,CAAA;CACD"}
@@ -1,27 +1,25 @@
1
+ import type { APIActionRowComponent, APIActionRowComponentTypes } from "discord-api-types/v10";
1
2
  import type { BaseComponent } from "../abstracts/BaseComponent.js";
2
- export declare class Row {
3
+ export declare class Row<T extends BaseComponent = BaseComponent> {
3
4
  /**
4
5
  * The components in the action row
5
6
  */
6
- components: BaseComponent[];
7
- constructor(components: BaseComponent[]);
7
+ components: T[];
8
+ constructor(components?: T[]);
8
9
  /**
9
10
  * Add a component to the action row
10
11
  * @param component The component to add
11
12
  */
12
- addComponent(component: BaseComponent): void;
13
+ addComponent(component: T): void;
13
14
  /**
14
15
  * Remove a component from the action row
15
16
  * @param component The component to remove
16
17
  */
17
- removeComponent(component: BaseComponent): void;
18
+ removeComponent(component: T): void;
18
19
  /**
19
20
  * Remove all components from the action row
20
21
  */
21
22
  removeAllComponents(): void;
22
- serialize(): {
23
- type: number;
24
- components: import("discord-api-types/v10").APIBaseComponent<import("discord-api-types/v10").ComponentType>[];
25
- };
23
+ serialize: () => APIActionRowComponent<APIActionRowComponentTypes>;
26
24
  }
27
25
  //# sourceMappingURL=Row.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../src/classes/Row.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAElE,qBAAa,GAAG;IACf;;OAEG;IACH,UAAU,EAAE,aAAa,EAAE,CAAA;gBAEf,UAAU,EAAE,aAAa,EAAE;IAIvC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,aAAa;IAIrC;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,aAAa;IAMxC;;OAEG;IACH,mBAAmB;IAInB,SAAS;;;;CAMT"}
1
+ {"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../src/classes/Row.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,qBAAqB,EACrB,0BAA0B,EAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAElE,qBAAa,GAAG,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IACvD;;OAEG;IACH,UAAU,EAAE,CAAC,EAAE,CAAK;gBAER,UAAU,CAAC,EAAE,CAAC,EAAE;IAI5B;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,CAAC;IAIzB;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,CAAC;IAM5B;;OAEG;IACH,mBAAmB;IAInB,SAAS,QAAO,qBAAqB,CAAC,0BAA0B,CAAC,CAOhE;CACD"}