loopbot-discord-sdk 1.0.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 (95) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +406 -0
  3. package/dist/Bot.d.ts +323 -0
  4. package/dist/Bot.d.ts.map +1 -0
  5. package/dist/Bot.js +482 -0
  6. package/dist/Bot.js.map +1 -0
  7. package/dist/Client.d.ts +309 -0
  8. package/dist/Client.d.ts.map +1 -0
  9. package/dist/Client.js +533 -0
  10. package/dist/Client.js.map +1 -0
  11. package/dist/builders/ActionRowBuilder.d.ts +11 -0
  12. package/dist/builders/ActionRowBuilder.d.ts.map +1 -0
  13. package/dist/builders/ActionRowBuilder.js +28 -0
  14. package/dist/builders/ActionRowBuilder.js.map +1 -0
  15. package/dist/builders/ButtonBuilder.d.ts +19 -0
  16. package/dist/builders/ButtonBuilder.d.ts.map +1 -0
  17. package/dist/builders/ButtonBuilder.js +46 -0
  18. package/dist/builders/ButtonBuilder.js.map +1 -0
  19. package/dist/builders/CommandBuilder.d.ts +51 -0
  20. package/dist/builders/CommandBuilder.d.ts.map +1 -0
  21. package/dist/builders/CommandBuilder.js +144 -0
  22. package/dist/builders/CommandBuilder.js.map +1 -0
  23. package/dist/builders/ContainerBuilder.d.ts +50 -0
  24. package/dist/builders/ContainerBuilder.d.ts.map +1 -0
  25. package/dist/builders/ContainerBuilder.js +67 -0
  26. package/dist/builders/ContainerBuilder.js.map +1 -0
  27. package/dist/builders/EmbedBuilder.d.ts +21 -0
  28. package/dist/builders/EmbedBuilder.d.ts.map +1 -0
  29. package/dist/builders/EmbedBuilder.js +63 -0
  30. package/dist/builders/EmbedBuilder.js.map +1 -0
  31. package/dist/builders/FileBuilder.d.ts +30 -0
  32. package/dist/builders/FileBuilder.d.ts.map +1 -0
  33. package/dist/builders/FileBuilder.js +42 -0
  34. package/dist/builders/FileBuilder.js.map +1 -0
  35. package/dist/builders/MediaGalleryBuilder.d.ts +33 -0
  36. package/dist/builders/MediaGalleryBuilder.d.ts.map +1 -0
  37. package/dist/builders/MediaGalleryBuilder.js +38 -0
  38. package/dist/builders/MediaGalleryBuilder.js.map +1 -0
  39. package/dist/builders/ModalBuilder.d.ts +21 -0
  40. package/dist/builders/ModalBuilder.d.ts.map +1 -0
  41. package/dist/builders/ModalBuilder.js +46 -0
  42. package/dist/builders/ModalBuilder.js.map +1 -0
  43. package/dist/builders/SectionBuilder.d.ts +43 -0
  44. package/dist/builders/SectionBuilder.d.ts.map +1 -0
  45. package/dist/builders/SectionBuilder.js +55 -0
  46. package/dist/builders/SectionBuilder.js.map +1 -0
  47. package/dist/builders/SelectMenuBuilder.d.ts +16 -0
  48. package/dist/builders/SelectMenuBuilder.d.ts.map +1 -0
  49. package/dist/builders/SelectMenuBuilder.js +50 -0
  50. package/dist/builders/SelectMenuBuilder.js.map +1 -0
  51. package/dist/builders/SeparatorBuilder.d.ts +31 -0
  52. package/dist/builders/SeparatorBuilder.d.ts.map +1 -0
  53. package/dist/builders/SeparatorBuilder.js +34 -0
  54. package/dist/builders/SeparatorBuilder.js.map +1 -0
  55. package/dist/builders/TextDisplayBuilder.d.ts +22 -0
  56. package/dist/builders/TextDisplayBuilder.d.ts.map +1 -0
  57. package/dist/builders/TextDisplayBuilder.js +32 -0
  58. package/dist/builders/TextDisplayBuilder.js.map +1 -0
  59. package/dist/context/BaseContext.d.ts +114 -0
  60. package/dist/context/BaseContext.d.ts.map +1 -0
  61. package/dist/context/BaseContext.js +189 -0
  62. package/dist/context/BaseContext.js.map +1 -0
  63. package/dist/context/ButtonContext.d.ts +30 -0
  64. package/dist/context/ButtonContext.d.ts.map +1 -0
  65. package/dist/context/ButtonContext.js +48 -0
  66. package/dist/context/ButtonContext.js.map +1 -0
  67. package/dist/context/CommandContext.d.ts +55 -0
  68. package/dist/context/CommandContext.d.ts.map +1 -0
  69. package/dist/context/CommandContext.js +98 -0
  70. package/dist/context/CommandContext.js.map +1 -0
  71. package/dist/context/ModalContext.d.ts +24 -0
  72. package/dist/context/ModalContext.d.ts.map +1 -0
  73. package/dist/context/ModalContext.js +54 -0
  74. package/dist/context/ModalContext.js.map +1 -0
  75. package/dist/context/SelectContext.d.ts +38 -0
  76. package/dist/context/SelectContext.d.ts.map +1 -0
  77. package/dist/context/SelectContext.js +60 -0
  78. package/dist/context/SelectContext.js.map +1 -0
  79. package/dist/index.d.ts +22 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +63 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/types/commands.d.ts +42 -0
  84. package/dist/types/commands.d.ts.map +1 -0
  85. package/dist/types/commands.js +25 -0
  86. package/dist/types/commands.js.map +1 -0
  87. package/dist/types/discord.d.ts +76 -0
  88. package/dist/types/discord.d.ts.map +1 -0
  89. package/dist/types/discord.js +4 -0
  90. package/dist/types/discord.js.map +1 -0
  91. package/dist/types/interactions.d.ts +78 -0
  92. package/dist/types/interactions.d.ts.map +1 -0
  93. package/dist/types/interactions.js +22 -0
  94. package/dist/types/interactions.js.map +1 -0
  95. package/package.json +63 -0
@@ -0,0 +1,51 @@
1
+ import { Command } from '../types/commands';
2
+ export declare class CommandBuilder {
3
+ private name;
4
+ private description;
5
+ private options;
6
+ constructor(name: string, description: string);
7
+ /**
8
+ * Add a string option
9
+ */
10
+ addStringOption(name: string, description: string, required?: boolean, choices?: {
11
+ name: string;
12
+ value: string;
13
+ }[]): this;
14
+ /**
15
+ * Add an integer option
16
+ */
17
+ addIntegerOption(name: string, description: string, required?: boolean, minValue?: number, maxValue?: number): this;
18
+ /**
19
+ * Add a number option
20
+ */
21
+ addNumberOption(name: string, description: string, required?: boolean, minValue?: number, maxValue?: number): this;
22
+ /**
23
+ * Add a boolean option
24
+ */
25
+ addBooleanOption(name: string, description: string, required?: boolean): this;
26
+ /**
27
+ * Add a user option
28
+ */
29
+ addUserOption(name: string, description: string, required?: boolean): this;
30
+ /**
31
+ * Add a channel option
32
+ */
33
+ addChannelOption(name: string, description: string, required?: boolean): this;
34
+ /**
35
+ * Add a role option
36
+ */
37
+ addRoleOption(name: string, description: string, required?: boolean): this;
38
+ /**
39
+ * Add a subcommand
40
+ */
41
+ addSubcommand(name: string, description: string, builder?: (subcommand: CommandBuilder) => void): this;
42
+ /**
43
+ * Add a subcommand group
44
+ */
45
+ addSubcommandGroup(name: string, description: string, builder: (group: CommandBuilder) => void): this;
46
+ /**
47
+ * Convert to Discord API format
48
+ */
49
+ toJSON(): Command;
50
+ }
51
+ //# sourceMappingURL=CommandBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/CommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE9E,qBAAa,cAAc;IACvB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAuB;gBAE1B,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAK7C;;OAEG;IACH,eAAe,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAe,EACzB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAC5C,IAAI;IAWP;;OAEG;IACH,gBAAgB,CACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAe,EACzB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAClB,IAAI;IAYP;;OAEG;IACH,eAAe,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAe,EACzB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAClB,IAAI;IAYP;;OAEG;IACH,gBAAgB,CACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAe,GAC1B,IAAI;IAUP;;OAEG;IACH,aAAa,CACT,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAe,GAC1B,IAAI;IAUP;;OAEG;IACH,gBAAgB,CACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAe,GAC1B,IAAI;IAUP;;OAEG;IACH,aAAa,CACT,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAe,GAC1B,IAAI;IAUP;;OAEG;IACH,aAAa,CACT,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,GAC/C,IAAI;IAgBP;;OAEG;IACH,kBAAkB,CACd,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GACzC,IAAI;IAcP;;OAEG;IACH,MAAM,IAAI,OAAO;CAOpB"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandBuilder = void 0;
4
+ const commands_1 = require("../types/commands");
5
+ class CommandBuilder {
6
+ constructor(name, description) {
7
+ this.options = [];
8
+ this.name = name.toLowerCase();
9
+ this.description = description;
10
+ }
11
+ /**
12
+ * Add a string option
13
+ */
14
+ addStringOption(name, description, required = false, choices) {
15
+ this.options.push({
16
+ type: commands_1.CommandOptionType.STRING,
17
+ name: name.toLowerCase(),
18
+ description,
19
+ required,
20
+ choices,
21
+ });
22
+ return this;
23
+ }
24
+ /**
25
+ * Add an integer option
26
+ */
27
+ addIntegerOption(name, description, required = false, minValue, maxValue) {
28
+ this.options.push({
29
+ type: commands_1.CommandOptionType.INTEGER,
30
+ name: name.toLowerCase(),
31
+ description,
32
+ required,
33
+ min_value: minValue,
34
+ max_value: maxValue,
35
+ });
36
+ return this;
37
+ }
38
+ /**
39
+ * Add a number option
40
+ */
41
+ addNumberOption(name, description, required = false, minValue, maxValue) {
42
+ this.options.push({
43
+ type: commands_1.CommandOptionType.NUMBER,
44
+ name: name.toLowerCase(),
45
+ description,
46
+ required,
47
+ min_value: minValue,
48
+ max_value: maxValue,
49
+ });
50
+ return this;
51
+ }
52
+ /**
53
+ * Add a boolean option
54
+ */
55
+ addBooleanOption(name, description, required = false) {
56
+ this.options.push({
57
+ type: commands_1.CommandOptionType.BOOLEAN,
58
+ name: name.toLowerCase(),
59
+ description,
60
+ required,
61
+ });
62
+ return this;
63
+ }
64
+ /**
65
+ * Add a user option
66
+ */
67
+ addUserOption(name, description, required = false) {
68
+ this.options.push({
69
+ type: commands_1.CommandOptionType.USER,
70
+ name: name.toLowerCase(),
71
+ description,
72
+ required,
73
+ });
74
+ return this;
75
+ }
76
+ /**
77
+ * Add a channel option
78
+ */
79
+ addChannelOption(name, description, required = false) {
80
+ this.options.push({
81
+ type: commands_1.CommandOptionType.CHANNEL,
82
+ name: name.toLowerCase(),
83
+ description,
84
+ required,
85
+ });
86
+ return this;
87
+ }
88
+ /**
89
+ * Add a role option
90
+ */
91
+ addRoleOption(name, description, required = false) {
92
+ this.options.push({
93
+ type: commands_1.CommandOptionType.ROLE,
94
+ name: name.toLowerCase(),
95
+ description,
96
+ required,
97
+ });
98
+ return this;
99
+ }
100
+ /**
101
+ * Add a subcommand
102
+ */
103
+ addSubcommand(name, description, builder) {
104
+ const subBuilder = new CommandBuilder(name, description);
105
+ if (builder) {
106
+ builder(subBuilder);
107
+ }
108
+ const subData = subBuilder.toJSON();
109
+ this.options.push({
110
+ type: commands_1.CommandOptionType.SUB_COMMAND,
111
+ name: subData.name,
112
+ description: subData.description,
113
+ options: subData.options,
114
+ });
115
+ return this;
116
+ }
117
+ /**
118
+ * Add a subcommand group
119
+ */
120
+ addSubcommandGroup(name, description, builder) {
121
+ const groupBuilder = new CommandBuilder(name, description);
122
+ builder(groupBuilder);
123
+ const groupData = groupBuilder.toJSON();
124
+ this.options.push({
125
+ type: commands_1.CommandOptionType.SUB_COMMAND_GROUP,
126
+ name: groupData.name,
127
+ description: groupData.description,
128
+ options: groupData.options,
129
+ });
130
+ return this;
131
+ }
132
+ /**
133
+ * Convert to Discord API format
134
+ */
135
+ toJSON() {
136
+ return {
137
+ name: this.name,
138
+ description: this.description,
139
+ options: this.options.length > 0 ? this.options : undefined,
140
+ };
141
+ }
142
+ }
143
+ exports.CommandBuilder = CommandBuilder;
144
+ //# sourceMappingURL=CommandBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandBuilder.js","sourceRoot":"","sources":["../../src/builders/CommandBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { SeparatorBuilder } from './SeparatorBuilder';
2
+ import { TextDisplayBuilder } from './TextDisplayBuilder';
3
+ import { MediaGalleryBuilder } from './MediaGalleryBuilder';
4
+ import { ActionRowBuilder } from './ActionRowBuilder';
5
+ /**
6
+ * Container Component Builder
7
+ * Visually encapsulates a collection of components with optional accent color
8
+ * Requires IS_COMPONENTS_V2 flag (32768) on message
9
+ */
10
+ export type ContainerChildComponent = ReturnType<ActionRowBuilder['toJSON']> | ReturnType<TextDisplayBuilder['toJSON']> | ReturnType<MediaGalleryBuilder['toJSON']> | ReturnType<SeparatorBuilder['toJSON']> | {
11
+ type: number;
12
+ [key: string]: any;
13
+ };
14
+ export declare class ContainerBuilder {
15
+ private component;
16
+ /**
17
+ * Add a child component (ActionRow, TextDisplay, MediaGallery, Separator, etc.)
18
+ */
19
+ addComponent(component: ContainerChildComponent | {
20
+ toJSON(): any;
21
+ }): this;
22
+ /**
23
+ * Add a text display component
24
+ */
25
+ addText(content: string): this;
26
+ /**
27
+ * Add a separator component
28
+ */
29
+ addSeparator(divider?: boolean, spacing?: 1 | 2): this;
30
+ /**
31
+ * Set the accent color (RGB value from 0x000000 to 0xFFFFFF)
32
+ */
33
+ setAccentColor(color: number): this;
34
+ /**
35
+ * Set whether the container should be a spoiler (blurred)
36
+ */
37
+ setSpoiler(spoiler?: boolean): this;
38
+ /**
39
+ * Set an optional identifier
40
+ */
41
+ setId(id: number): this;
42
+ toJSON(): {
43
+ type: 17;
44
+ id?: number;
45
+ components: any[];
46
+ accent_color?: number;
47
+ spoiler?: boolean;
48
+ };
49
+ }
50
+ //# sourceMappingURL=ContainerBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/ContainerBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAC7B,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GACtC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,GACxC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GACzC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,GACtC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE1C,qBAAa,gBAAgB;IACzB,OAAO,CAAC,SAAS,CAMgB;IAEjC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,uBAAuB,GAAG;QAAE,MAAM,IAAI,GAAG,CAAA;KAAE,GAAG,IAAI;IAS1E;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ9B;;OAEG;IACH,YAAY,CAAC,OAAO,GAAE,OAAc,EAAE,OAAO,GAAE,CAAC,GAAG,CAAK,GAAG,IAAI;IAS/D;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC;;OAEG;IACH,UAAU,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAKzC;;OAEG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKvB,MAAM;cAlEI,EAAE;aACH,MAAM;oBACC,GAAG,EAAE;uBACF,MAAM;kBACX,OAAO;;CAiExB"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContainerBuilder = void 0;
4
+ class ContainerBuilder {
5
+ constructor() {
6
+ this.component = { type: 17, components: [] };
7
+ }
8
+ /**
9
+ * Add a child component (ActionRow, TextDisplay, MediaGallery, Separator, etc.)
10
+ */
11
+ addComponent(component) {
12
+ if (typeof component.toJSON === 'function') {
13
+ this.component.components.push(component.toJSON());
14
+ }
15
+ else {
16
+ this.component.components.push(component);
17
+ }
18
+ return this;
19
+ }
20
+ /**
21
+ * Add a text display component
22
+ */
23
+ addText(content) {
24
+ this.component.components.push({
25
+ type: 10,
26
+ content,
27
+ });
28
+ return this;
29
+ }
30
+ /**
31
+ * Add a separator component
32
+ */
33
+ addSeparator(divider = true, spacing = 1) {
34
+ this.component.components.push({
35
+ type: 14,
36
+ divider,
37
+ spacing,
38
+ });
39
+ return this;
40
+ }
41
+ /**
42
+ * Set the accent color (RGB value from 0x000000 to 0xFFFFFF)
43
+ */
44
+ setAccentColor(color) {
45
+ this.component.accent_color = color;
46
+ return this;
47
+ }
48
+ /**
49
+ * Set whether the container should be a spoiler (blurred)
50
+ */
51
+ setSpoiler(spoiler = true) {
52
+ this.component.spoiler = spoiler;
53
+ return this;
54
+ }
55
+ /**
56
+ * Set an optional identifier
57
+ */
58
+ setId(id) {
59
+ this.component.id = id;
60
+ return this;
61
+ }
62
+ toJSON() {
63
+ return this.component;
64
+ }
65
+ }
66
+ exports.ContainerBuilder = ContainerBuilder;
67
+ //# sourceMappingURL=ContainerBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerBuilder.js","sourceRoot":"","sources":["../../src/builders/ContainerBuilder.ts"],"names":[],"mappings":";;;AAiBA,MAAa,gBAAgB;IAA7B;QACY,cAAS,GAMb,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAgErC,CAAC;IA9DG;;OAEG;IACH,YAAY,CAAC,SAAsD;QAC/D,IAAI,OAAQ,SAAiB,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAClD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAE,SAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAe;QACnB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,EAAE;YACR,OAAO;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,UAAmB,IAAI,EAAE,UAAiB,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE,EAAE;YACR,OAAO;YACP,OAAO;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAa;QACxB,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAAmB,IAAI;QAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAU;QACZ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAvED,4CAuEC"}
@@ -0,0 +1,21 @@
1
+ import { DiscordEmbed } from '../types/discord';
2
+ export declare class EmbedBuilder {
3
+ private embed;
4
+ setTitle(title: string): this;
5
+ setDescription(description: string): this;
6
+ setURL(url: string): this;
7
+ setColor(color: number): this;
8
+ setTimestamp(timestamp?: Date): this;
9
+ setFooter(text: string, iconUrl?: string): this;
10
+ setThumbnail(url: string): this;
11
+ setImage(url: string): this;
12
+ setAuthor(name: string, url?: string, iconUrl?: string): this;
13
+ addField(name: string, value: string, inline?: boolean): this;
14
+ addFields(...fields: {
15
+ name: string;
16
+ value: string;
17
+ inline?: boolean;
18
+ }[]): this;
19
+ toJSON(): DiscordEmbed;
20
+ }
21
+ //# sourceMappingURL=EmbedBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbedBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/EmbedBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBAAa,YAAY;IACrB,OAAO,CAAC,KAAK,CAAoB;IAEjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI;IAKpC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAK/C,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK/B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAK7D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,IAAI;IAQpE,SAAS,CAAC,GAAG,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,GAAG,IAAI;IAQ/E,MAAM,IAAI,YAAY;CAGzB"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmbedBuilder = void 0;
4
+ class EmbedBuilder {
5
+ constructor() {
6
+ this.embed = {};
7
+ }
8
+ setTitle(title) {
9
+ this.embed.title = title;
10
+ return this;
11
+ }
12
+ setDescription(description) {
13
+ this.embed.description = description;
14
+ return this;
15
+ }
16
+ setURL(url) {
17
+ this.embed.url = url;
18
+ return this;
19
+ }
20
+ setColor(color) {
21
+ this.embed.color = color;
22
+ return this;
23
+ }
24
+ setTimestamp(timestamp) {
25
+ this.embed.timestamp = (timestamp || new Date()).toISOString();
26
+ return this;
27
+ }
28
+ setFooter(text, iconUrl) {
29
+ this.embed.footer = { text, icon_url: iconUrl };
30
+ return this;
31
+ }
32
+ setThumbnail(url) {
33
+ this.embed.thumbnail = { url };
34
+ return this;
35
+ }
36
+ setImage(url) {
37
+ this.embed.image = { url };
38
+ return this;
39
+ }
40
+ setAuthor(name, url, iconUrl) {
41
+ this.embed.author = { name, url, icon_url: iconUrl };
42
+ return this;
43
+ }
44
+ addField(name, value, inline = false) {
45
+ if (!this.embed.fields) {
46
+ this.embed.fields = [];
47
+ }
48
+ this.embed.fields.push({ name, value, inline });
49
+ return this;
50
+ }
51
+ addFields(...fields) {
52
+ if (!this.embed.fields) {
53
+ this.embed.fields = [];
54
+ }
55
+ this.embed.fields.push(...fields);
56
+ return this;
57
+ }
58
+ toJSON() {
59
+ return this.embed;
60
+ }
61
+ }
62
+ exports.EmbedBuilder = EmbedBuilder;
63
+ //# sourceMappingURL=EmbedBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbedBuilder.js","sourceRoot":"","sources":["../../src/builders/EmbedBuilder.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IAAzB;QACY,UAAK,GAAiB,EAAE,CAAC;IAkErC,CAAC;IAhEG,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,SAAgB;QACzB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,OAAgB;QACpC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,GAAW;QACpB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,GAAY,EAAE,OAAgB;QAClD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,KAAa,EAAE,SAAkB,KAAK;QACzD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,GAAG,MAA2D;QACpE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CACJ;AAnED,oCAmEC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * File Component Builder
3
+ * Displays a file attachment
4
+ * Requires IS_COMPONENTS_V2 flag (32768) on message
5
+ */
6
+ export declare class FileBuilder {
7
+ private component;
8
+ constructor(url: string);
9
+ /**
10
+ * Set the file URL
11
+ */
12
+ setUrl(url: string): this;
13
+ /**
14
+ * Set whether the file should be a spoiler
15
+ */
16
+ setSpoiler(spoiler?: boolean): this;
17
+ /**
18
+ * Set an optional identifier
19
+ */
20
+ setId(id: number): this;
21
+ toJSON(): {
22
+ type: 13;
23
+ id?: number;
24
+ file: {
25
+ url: string;
26
+ };
27
+ spoiler?: boolean;
28
+ };
29
+ }
30
+ //# sourceMappingURL=FileBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/FileBuilder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,SAAS,CAKf;gBAEU,GAAG,EAAE,MAAM;IAOvB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB;;OAEG;IACH,UAAU,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAKzC;;OAEG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKvB,MAAM;cArCI,EAAE;aACH,MAAM;cACL;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE;kBACX,OAAO;;CAqCxB"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileBuilder = void 0;
4
+ /**
5
+ * File Component Builder
6
+ * Displays a file attachment
7
+ * Requires IS_COMPONENTS_V2 flag (32768) on message
8
+ */
9
+ class FileBuilder {
10
+ constructor(url) {
11
+ this.component = {
12
+ type: 13,
13
+ file: { url },
14
+ };
15
+ }
16
+ /**
17
+ * Set the file URL
18
+ */
19
+ setUrl(url) {
20
+ this.component.file.url = url;
21
+ return this;
22
+ }
23
+ /**
24
+ * Set whether the file should be a spoiler
25
+ */
26
+ setSpoiler(spoiler = true) {
27
+ this.component.spoiler = spoiler;
28
+ return this;
29
+ }
30
+ /**
31
+ * Set an optional identifier
32
+ */
33
+ setId(id) {
34
+ this.component.id = id;
35
+ return this;
36
+ }
37
+ toJSON() {
38
+ return this.component;
39
+ }
40
+ }
41
+ exports.FileBuilder = FileBuilder;
42
+ //# sourceMappingURL=FileBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileBuilder.js","sourceRoot":"","sources":["../../src/builders/FileBuilder.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAa,WAAW;IAQpB,YAAY,GAAW;QACnB,IAAI,CAAC,SAAS,GAAG;YACb,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE,GAAG,EAAE;SAChB,CAAC;IACN,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAAmB,IAAI;QAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAU;QACZ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AA1CD,kCA0CC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Media Gallery Component Builder
3
+ * Displays 1-10 media attachments in an organized gallery format
4
+ * Requires IS_COMPONENTS_V2 flag (32768) on message
5
+ */
6
+ export interface MediaGalleryItem {
7
+ media: {
8
+ url: string;
9
+ };
10
+ description?: string;
11
+ spoiler?: boolean;
12
+ }
13
+ export declare class MediaGalleryBuilder {
14
+ private component;
15
+ /**
16
+ * Add a media item to the gallery
17
+ */
18
+ addItem(url: string, description?: string, spoiler?: boolean): this;
19
+ /**
20
+ * Add multiple media items
21
+ */
22
+ addItems(items: MediaGalleryItem[]): this;
23
+ /**
24
+ * Set an optional identifier
25
+ */
26
+ setId(id: number): this;
27
+ toJSON(): {
28
+ type: 12;
29
+ id?: number;
30
+ items: MediaGalleryItem[];
31
+ };
32
+ }
33
+ //# sourceMappingURL=MediaGalleryBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaGalleryBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/MediaGalleryBuilder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,SAAS,CAIW;IAE5B;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IASnE;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAKzC;;OAEG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKvB,MAAM;cAjCI,EAAE;aACH,MAAM;eACJ,gBAAgB,EAAE;;CAkChC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MediaGalleryBuilder = void 0;
4
+ class MediaGalleryBuilder {
5
+ constructor() {
6
+ this.component = { type: 12, items: [] };
7
+ }
8
+ /**
9
+ * Add a media item to the gallery
10
+ */
11
+ addItem(url, description, spoiler) {
12
+ this.component.items.push({
13
+ media: { url },
14
+ description,
15
+ spoiler,
16
+ });
17
+ return this;
18
+ }
19
+ /**
20
+ * Add multiple media items
21
+ */
22
+ addItems(items) {
23
+ this.component.items.push(...items);
24
+ return this;
25
+ }
26
+ /**
27
+ * Set an optional identifier
28
+ */
29
+ setId(id) {
30
+ this.component.id = id;
31
+ return this;
32
+ }
33
+ toJSON() {
34
+ return this.component;
35
+ }
36
+ }
37
+ exports.MediaGalleryBuilder = MediaGalleryBuilder;
38
+ //# sourceMappingURL=MediaGalleryBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaGalleryBuilder.js","sourceRoot":"","sources":["../../src/builders/MediaGalleryBuilder.ts"],"names":[],"mappings":";;;AAWA,MAAa,mBAAmB;IAAhC;QACY,cAAS,GAIb,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAiChC,CAAC;IA/BG;;OAEG;IACH,OAAO,CAAC,GAAW,EAAE,WAAoB,EAAE,OAAiB;QACxD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,EAAE,GAAG,EAAE;YACd,WAAW;YACX,OAAO;SACV,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAyB;QAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAU;QACZ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAtCD,kDAsCC"}
@@ -0,0 +1,21 @@
1
+ import { DiscordComponent } from '../types/discord';
2
+ export declare class ModalBuilder {
3
+ private customId;
4
+ private title;
5
+ private components;
6
+ setCustomId(customId: string): this;
7
+ setTitle(title: string): this;
8
+ addTextInput(customId: string, label: string, style?: 'short' | 'paragraph', options?: {
9
+ required?: boolean;
10
+ minLength?: number;
11
+ maxLength?: number;
12
+ placeholder?: string;
13
+ value?: string;
14
+ }): this;
15
+ toJSON(): {
16
+ title: string;
17
+ custom_id: string;
18
+ components: DiscordComponent[];
19
+ };
20
+ }
21
+ //# sourceMappingURL=ModalBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/ModalBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAcpD,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,UAAU,CAA0B;IAE5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,YAAY,CACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,OAAO,GAAG,WAAqB,EACtC,OAAO,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,GACF,IAAI;IAsBP,MAAM,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,gBAAgB,EAAE,CAAA;KAAE;CAOjF"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModalBuilder = void 0;
4
+ class ModalBuilder {
5
+ constructor() {
6
+ this.customId = '';
7
+ this.title = '';
8
+ this.components = [];
9
+ }
10
+ setCustomId(customId) {
11
+ this.customId = customId;
12
+ return this;
13
+ }
14
+ setTitle(title) {
15
+ this.title = title;
16
+ return this;
17
+ }
18
+ addTextInput(customId, label, style = 'short', options) {
19
+ const input = {
20
+ type: 4,
21
+ custom_id: customId,
22
+ style: style === 'short' ? 1 : 2,
23
+ label,
24
+ required: options?.required,
25
+ min_length: options?.minLength,
26
+ max_length: options?.maxLength,
27
+ placeholder: options?.placeholder,
28
+ value: options?.value,
29
+ };
30
+ // Wrap in action row
31
+ this.components.push({
32
+ type: 1,
33
+ components: [input],
34
+ });
35
+ return this;
36
+ }
37
+ toJSON() {
38
+ return {
39
+ title: this.title,
40
+ custom_id: this.customId,
41
+ components: this.components,
42
+ };
43
+ }
44
+ }
45
+ exports.ModalBuilder = ModalBuilder;
46
+ //# sourceMappingURL=ModalBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalBuilder.js","sourceRoot":"","sources":["../../src/builders/ModalBuilder.ts"],"names":[],"mappings":";;;AAcA,MAAa,YAAY;IAAzB;QACY,aAAQ,GAAW,EAAE,CAAC;QACtB,UAAK,GAAW,EAAE,CAAC;QACnB,eAAU,GAAuB,EAAE,CAAC;IAoDhD,CAAC;IAlDG,WAAW,CAAC,QAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CACR,QAAgB,EAChB,KAAa,EACb,QAA+B,OAAO,EACtC,OAMC;QAED,MAAM,KAAK,GAAc;YACrB,IAAI,EAAE,CAAC;YACP,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,KAAK;YACL,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,UAAU,EAAE,OAAO,EAAE,SAAS;YAC9B,UAAU,EAAE,OAAO,EAAE,SAAS;YAC9B,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,KAAK,EAAE,OAAO,EAAE,KAAK;SACxB,CAAC;QAEF,qBAAqB;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,CAAC;YACP,UAAU,EAAE,CAAC,KAAY,CAAC;SAC7B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC;IACN,CAAC;CACJ;AAvDD,oCAuDC"}