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.
- package/LICENSE +21 -0
- package/README.md +406 -0
- package/dist/Bot.d.ts +323 -0
- package/dist/Bot.d.ts.map +1 -0
- package/dist/Bot.js +482 -0
- package/dist/Bot.js.map +1 -0
- package/dist/Client.d.ts +309 -0
- package/dist/Client.d.ts.map +1 -0
- package/dist/Client.js +533 -0
- package/dist/Client.js.map +1 -0
- package/dist/builders/ActionRowBuilder.d.ts +11 -0
- package/dist/builders/ActionRowBuilder.d.ts.map +1 -0
- package/dist/builders/ActionRowBuilder.js +28 -0
- package/dist/builders/ActionRowBuilder.js.map +1 -0
- package/dist/builders/ButtonBuilder.d.ts +19 -0
- package/dist/builders/ButtonBuilder.d.ts.map +1 -0
- package/dist/builders/ButtonBuilder.js +46 -0
- package/dist/builders/ButtonBuilder.js.map +1 -0
- package/dist/builders/CommandBuilder.d.ts +51 -0
- package/dist/builders/CommandBuilder.d.ts.map +1 -0
- package/dist/builders/CommandBuilder.js +144 -0
- package/dist/builders/CommandBuilder.js.map +1 -0
- package/dist/builders/ContainerBuilder.d.ts +50 -0
- package/dist/builders/ContainerBuilder.d.ts.map +1 -0
- package/dist/builders/ContainerBuilder.js +67 -0
- package/dist/builders/ContainerBuilder.js.map +1 -0
- package/dist/builders/EmbedBuilder.d.ts +21 -0
- package/dist/builders/EmbedBuilder.d.ts.map +1 -0
- package/dist/builders/EmbedBuilder.js +63 -0
- package/dist/builders/EmbedBuilder.js.map +1 -0
- package/dist/builders/FileBuilder.d.ts +30 -0
- package/dist/builders/FileBuilder.d.ts.map +1 -0
- package/dist/builders/FileBuilder.js +42 -0
- package/dist/builders/FileBuilder.js.map +1 -0
- package/dist/builders/MediaGalleryBuilder.d.ts +33 -0
- package/dist/builders/MediaGalleryBuilder.d.ts.map +1 -0
- package/dist/builders/MediaGalleryBuilder.js +38 -0
- package/dist/builders/MediaGalleryBuilder.js.map +1 -0
- package/dist/builders/ModalBuilder.d.ts +21 -0
- package/dist/builders/ModalBuilder.d.ts.map +1 -0
- package/dist/builders/ModalBuilder.js +46 -0
- package/dist/builders/ModalBuilder.js.map +1 -0
- package/dist/builders/SectionBuilder.d.ts +43 -0
- package/dist/builders/SectionBuilder.d.ts.map +1 -0
- package/dist/builders/SectionBuilder.js +55 -0
- package/dist/builders/SectionBuilder.js.map +1 -0
- package/dist/builders/SelectMenuBuilder.d.ts +16 -0
- package/dist/builders/SelectMenuBuilder.d.ts.map +1 -0
- package/dist/builders/SelectMenuBuilder.js +50 -0
- package/dist/builders/SelectMenuBuilder.js.map +1 -0
- package/dist/builders/SeparatorBuilder.d.ts +31 -0
- package/dist/builders/SeparatorBuilder.d.ts.map +1 -0
- package/dist/builders/SeparatorBuilder.js +34 -0
- package/dist/builders/SeparatorBuilder.js.map +1 -0
- package/dist/builders/TextDisplayBuilder.d.ts +22 -0
- package/dist/builders/TextDisplayBuilder.d.ts.map +1 -0
- package/dist/builders/TextDisplayBuilder.js +32 -0
- package/dist/builders/TextDisplayBuilder.js.map +1 -0
- package/dist/context/BaseContext.d.ts +114 -0
- package/dist/context/BaseContext.d.ts.map +1 -0
- package/dist/context/BaseContext.js +189 -0
- package/dist/context/BaseContext.js.map +1 -0
- package/dist/context/ButtonContext.d.ts +30 -0
- package/dist/context/ButtonContext.d.ts.map +1 -0
- package/dist/context/ButtonContext.js +48 -0
- package/dist/context/ButtonContext.js.map +1 -0
- package/dist/context/CommandContext.d.ts +55 -0
- package/dist/context/CommandContext.d.ts.map +1 -0
- package/dist/context/CommandContext.js +98 -0
- package/dist/context/CommandContext.js.map +1 -0
- package/dist/context/ModalContext.d.ts +24 -0
- package/dist/context/ModalContext.d.ts.map +1 -0
- package/dist/context/ModalContext.js +54 -0
- package/dist/context/ModalContext.js.map +1 -0
- package/dist/context/SelectContext.d.ts +38 -0
- package/dist/context/SelectContext.d.ts.map +1 -0
- package/dist/context/SelectContext.js +60 -0
- package/dist/context/SelectContext.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +63 -0
- package/dist/index.js.map +1 -0
- package/dist/types/commands.d.ts +42 -0
- package/dist/types/commands.d.ts.map +1 -0
- package/dist/types/commands.js +25 -0
- package/dist/types/commands.js.map +1 -0
- package/dist/types/discord.d.ts +76 -0
- package/dist/types/discord.d.ts.map +1 -0
- package/dist/types/discord.js +4 -0
- package/dist/types/discord.js.map +1 -0
- package/dist/types/interactions.d.ts +78 -0
- package/dist/types/interactions.d.ts.map +1 -0
- package/dist/types/interactions.js +22 -0
- package/dist/types/interactions.js.map +1 -0
- 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"}
|