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 @@
1
+ {"version":3,"file":"ButtonContext.d.ts","sourceRoot":"","sources":["../../src/context/ButtonContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAA2B,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,qBAAa,aAAc,SAAQ,WAAW;gBAC9B,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAI3E;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,cAAc,GAAG,SAAS,CAExC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,CAAC,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC;QACzC,UAAU,CAAC,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,CAAC;KACxD,GAAG,IAAI;IAeR;;OAEG;IACH,WAAW,IAAI,IAAI;CAMtB"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonContext = void 0;
4
+ const BaseContext_1 = require("./BaseContext");
5
+ const interactions_1 = require("../types/interactions");
6
+ const EmbedBuilder_1 = require("../builders/EmbedBuilder");
7
+ const ActionRowBuilder_1 = require("../builders/ActionRowBuilder");
8
+ class ButtonContext extends BaseContext_1.BaseContext {
9
+ constructor(interaction, client, applicationId) {
10
+ super(interaction, client, applicationId);
11
+ }
12
+ /**
13
+ * Get the custom ID of the button
14
+ */
15
+ get customId() {
16
+ return this.interaction.data?.custom_id || '';
17
+ }
18
+ /**
19
+ * Get the message the button was attached to
20
+ */
21
+ get message() {
22
+ return this.interaction.message;
23
+ }
24
+ /**
25
+ * Update the message the button is on
26
+ */
27
+ update(options) {
28
+ this.response = {
29
+ type: interactions_1.InteractionResponseType.UPDATE_MESSAGE,
30
+ data: {
31
+ content: options.content,
32
+ embeds: options.embeds?.map((e) => e instanceof EmbedBuilder_1.EmbedBuilder ? e.toJSON() : e),
33
+ components: options.components?.map((c) => c instanceof ActionRowBuilder_1.ActionRowBuilder ? c.toJSON() : c),
34
+ },
35
+ };
36
+ }
37
+ /**
38
+ * Defer the update (show loading on button)
39
+ */
40
+ deferUpdate() {
41
+ this.deferred = true;
42
+ this.response = {
43
+ type: interactions_1.InteractionResponseType.DEFERRED_UPDATE_MESSAGE,
44
+ };
45
+ }
46
+ }
47
+ exports.ButtonContext = ButtonContext;
48
+ //# sourceMappingURL=ButtonContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonContext.js","sourceRoot":"","sources":["../../src/context/ButtonContext.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,wDAA6E;AAE7E,2DAAwD;AACxD,mEAAgE;AAEhE,MAAa,aAAc,SAAQ,yBAAW;IAC1C,YAAY,WAAwB,EAAE,MAAc,EAAE,aAAqB;QACvE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAIN;QACG,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,EAAE,sCAAuB,CAAC,cAAc;YAC5C,IAAI,EAAE;gBACF,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,YAAY,2BAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAC7C;gBACD,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,CAAC,YAAY,mCAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACjD;aACJ;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,WAAW;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,EAAE,sCAAuB,CAAC,uBAAuB;SACxD,CAAC;IACN,CAAC;CACJ;AAlDD,sCAkDC"}
@@ -0,0 +1,55 @@
1
+ import { BaseContext } from './BaseContext';
2
+ import { Client } from '../Client';
3
+ import { Interaction, InteractionOption } from '../types/interactions';
4
+ export declare class CommandContext extends BaseContext {
5
+ constructor(interaction: Interaction, client: Client, applicationId: string);
6
+ /**
7
+ * Get the command name
8
+ */
9
+ get commandName(): string;
10
+ /**
11
+ * Get all options
12
+ */
13
+ get options(): InteractionOption[];
14
+ /**
15
+ * Get a string option value
16
+ */
17
+ getString(name: string): string | null;
18
+ /**
19
+ * Get an integer option value
20
+ */
21
+ getInteger(name: string): number | null;
22
+ /**
23
+ * Get a number option value
24
+ */
25
+ getNumber(name: string): number | null;
26
+ /**
27
+ * Get a boolean option value
28
+ */
29
+ getBoolean(name: string): boolean | null;
30
+ /**
31
+ * Get a user option value (returns user ID)
32
+ */
33
+ getUser(name: string): string | null;
34
+ /**
35
+ * Get a channel option value (returns channel ID)
36
+ */
37
+ getChannel(name: string): string | null;
38
+ /**
39
+ * Get a role option value (returns role ID)
40
+ */
41
+ getRole(name: string): string | null;
42
+ /**
43
+ * Get the subcommand name
44
+ */
45
+ getSubcommand(): string | null;
46
+ /**
47
+ * Get the subcommand group name
48
+ */
49
+ getSubcommandGroup(): string | null;
50
+ /**
51
+ * Get option value by name (recursive search)
52
+ */
53
+ private getOptionValue;
54
+ }
55
+ //# sourceMappingURL=CommandContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandContext.d.ts","sourceRoot":"","sources":["../../src/context/CommandContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,qBAAa,cAAe,SAAQ,WAAW;gBAC/B,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAI3E;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAEjC;IAED;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAIxC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAKnC;;OAEG;IACH,OAAO,CAAC,cAAc;CAgBzB"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandContext = void 0;
4
+ const BaseContext_1 = require("./BaseContext");
5
+ class CommandContext extends BaseContext_1.BaseContext {
6
+ constructor(interaction, client, applicationId) {
7
+ super(interaction, client, applicationId);
8
+ }
9
+ /**
10
+ * Get the command name
11
+ */
12
+ get commandName() {
13
+ return this.interaction.data?.name || '';
14
+ }
15
+ /**
16
+ * Get all options
17
+ */
18
+ get options() {
19
+ return this.interaction.data?.options || [];
20
+ }
21
+ /**
22
+ * Get a string option value
23
+ */
24
+ getString(name) {
25
+ return this.getOptionValue(name);
26
+ }
27
+ /**
28
+ * Get an integer option value
29
+ */
30
+ getInteger(name) {
31
+ return this.getOptionValue(name);
32
+ }
33
+ /**
34
+ * Get a number option value
35
+ */
36
+ getNumber(name) {
37
+ return this.getOptionValue(name);
38
+ }
39
+ /**
40
+ * Get a boolean option value
41
+ */
42
+ getBoolean(name) {
43
+ return this.getOptionValue(name);
44
+ }
45
+ /**
46
+ * Get a user option value (returns user ID)
47
+ */
48
+ getUser(name) {
49
+ return this.getOptionValue(name);
50
+ }
51
+ /**
52
+ * Get a channel option value (returns channel ID)
53
+ */
54
+ getChannel(name) {
55
+ return this.getOptionValue(name);
56
+ }
57
+ /**
58
+ * Get a role option value (returns role ID)
59
+ */
60
+ getRole(name) {
61
+ return this.getOptionValue(name);
62
+ }
63
+ /**
64
+ * Get the subcommand name
65
+ */
66
+ getSubcommand() {
67
+ const sub = this.options.find((o) => o.type === 1);
68
+ return sub?.name || null;
69
+ }
70
+ /**
71
+ * Get the subcommand group name
72
+ */
73
+ getSubcommandGroup() {
74
+ const group = this.options.find((o) => o.type === 2);
75
+ return group?.name || null;
76
+ }
77
+ /**
78
+ * Get option value by name (recursive search)
79
+ */
80
+ getOptionValue(name) {
81
+ const find = (options) => {
82
+ for (const opt of options) {
83
+ if (opt.name === name && opt.value !== undefined) {
84
+ return opt.value;
85
+ }
86
+ if (opt.options) {
87
+ const result = find(opt.options);
88
+ if (result !== null)
89
+ return result;
90
+ }
91
+ }
92
+ return null;
93
+ };
94
+ return find(this.options);
95
+ }
96
+ }
97
+ exports.CommandContext = CommandContext;
98
+ //# sourceMappingURL=CommandContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandContext.js","sourceRoot":"","sources":["../../src/context/CommandContext.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAI5C,MAAa,cAAe,SAAQ,yBAAW;IAC3C,YAAY,WAAwB,EAAE,MAAc,EAAE,aAAqB;QACvE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,cAAc,CAAS,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,cAAc,CAAS,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,cAAc,CAAS,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,cAAc,CAAU,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,cAAc,CAAS,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,cAAc,CAAS,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,cAAc,CAAS,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,aAAa;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,kBAAkB;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACrD,OAAO,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,cAAc,CAAI,IAAY;QAClC,MAAM,IAAI,GAAG,CAAC,OAA4B,EAAY,EAAE;YACpD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,GAAG,CAAC,KAAU,CAAC;gBAC1B,CAAC;gBACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACjC,IAAI,MAAM,KAAK,IAAI;wBAAE,OAAO,MAAM,CAAC;gBACvC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACJ;AAvGD,wCAuGC"}
@@ -0,0 +1,24 @@
1
+ import { BaseContext } from './BaseContext';
2
+ import { Client } from '../Client';
3
+ import { Interaction } from '../types/interactions';
4
+ export declare class ModalContext extends BaseContext {
5
+ private fields;
6
+ constructor(interaction: Interaction, client: Client, applicationId: string);
7
+ /**
8
+ * Parse modal fields from components
9
+ */
10
+ private parseFields;
11
+ /**
12
+ * Get the custom ID of the modal
13
+ */
14
+ get customId(): string;
15
+ /**
16
+ * Get a field value by custom ID
17
+ */
18
+ getField(customId: string): string | null;
19
+ /**
20
+ * Get all field values
21
+ */
22
+ getFields(): Record<string, string>;
23
+ }
24
+ //# sourceMappingURL=ModalContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalContext.d.ts","sourceRoot":"","sources":["../../src/context/ModalContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,qBAAa,YAAa,SAAQ,WAAW;IACzC,OAAO,CAAC,MAAM,CAAoB;gBAEtB,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAK3E;;OAEG;IACH,OAAO,CAAC,WAAW;IAiBnB;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKzC;;OAEG;IACH,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAOtC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModalContext = void 0;
4
+ const BaseContext_1 = require("./BaseContext");
5
+ class ModalContext extends BaseContext_1.BaseContext {
6
+ constructor(interaction, client, applicationId) {
7
+ super(interaction, client, applicationId);
8
+ this.fields = [];
9
+ this.parseFields();
10
+ }
11
+ /**
12
+ * Parse modal fields from components
13
+ */
14
+ parseFields() {
15
+ const components = this.interaction.data?.components || [];
16
+ for (const row of components) {
17
+ if (row.type === 1 && row.components) {
18
+ for (const input of row.components) {
19
+ if (input.type === 4 && input.custom_id) {
20
+ this.fields.push({
21
+ customId: input.custom_id,
22
+ value: input.value || '',
23
+ });
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
29
+ /**
30
+ * Get the custom ID of the modal
31
+ */
32
+ get customId() {
33
+ return this.interaction.data?.custom_id || '';
34
+ }
35
+ /**
36
+ * Get a field value by custom ID
37
+ */
38
+ getField(customId) {
39
+ const field = this.fields.find((f) => f.customId === customId);
40
+ return field?.value || null;
41
+ }
42
+ /**
43
+ * Get all field values
44
+ */
45
+ getFields() {
46
+ const result = {};
47
+ for (const field of this.fields) {
48
+ result[field.customId] = field.value;
49
+ }
50
+ return result;
51
+ }
52
+ }
53
+ exports.ModalContext = ModalContext;
54
+ //# sourceMappingURL=ModalContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalContext.js","sourceRoot":"","sources":["../../src/context/ModalContext.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAU5C,MAAa,YAAa,SAAQ,yBAAW;IAGzC,YAAY,WAAwB,EAAE,MAAc,EAAE,aAAqB;QACvE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAHtC,WAAM,GAAiB,EAAE,CAAC;QAI9B,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,WAAW;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;QAE3D,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;4BACb,QAAQ,EAAE,KAAK,CAAC,SAAS;4BACzB,KAAK,EAAG,KAAa,CAAC,KAAK,IAAI,EAAE;yBACpC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAAgB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAC/D,OAAO,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,SAAS;QACL,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AArDD,oCAqDC"}
@@ -0,0 +1,38 @@
1
+ import { BaseContext } from './BaseContext';
2
+ import { Client } from '../Client';
3
+ import { Interaction } from '../types/interactions';
4
+ import { DiscordEmbed, DiscordComponent, DiscordMessage } from '../types/discord';
5
+ import { EmbedBuilder } from '../builders/EmbedBuilder';
6
+ import { ActionRowBuilder } from '../builders/ActionRowBuilder';
7
+ export declare class SelectContext extends BaseContext {
8
+ constructor(interaction: Interaction, client: Client, applicationId: string);
9
+ /**
10
+ * Get the custom ID of the select menu
11
+ */
12
+ get customId(): string;
13
+ /**
14
+ * Get the selected values
15
+ */
16
+ get values(): string[];
17
+ /**
18
+ * Get the first selected value
19
+ */
20
+ get value(): string | null;
21
+ /**
22
+ * Get the message the select was attached to
23
+ */
24
+ get message(): DiscordMessage | undefined;
25
+ /**
26
+ * Update the message the select is on
27
+ */
28
+ update(options: {
29
+ content?: string;
30
+ embeds?: (DiscordEmbed | EmbedBuilder)[];
31
+ components?: (DiscordComponent | ActionRowBuilder)[];
32
+ }): void;
33
+ /**
34
+ * Defer the update
35
+ */
36
+ deferUpdate(): void;
37
+ }
38
+ //# sourceMappingURL=SelectContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectContext.d.ts","sourceRoot":"","sources":["../../src/context/SelectContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAA2B,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,qBAAa,aAAc,SAAQ,WAAW;gBAC9B,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAI3E;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAEzB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,cAAc,GAAG,SAAS,CAExC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,CAAC,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC;QACzC,UAAU,CAAC,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,CAAC;KACxD,GAAG,IAAI;IAeR;;OAEG;IACH,WAAW,IAAI,IAAI;CAMtB"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelectContext = void 0;
4
+ const BaseContext_1 = require("./BaseContext");
5
+ const interactions_1 = require("../types/interactions");
6
+ const EmbedBuilder_1 = require("../builders/EmbedBuilder");
7
+ const ActionRowBuilder_1 = require("../builders/ActionRowBuilder");
8
+ class SelectContext extends BaseContext_1.BaseContext {
9
+ constructor(interaction, client, applicationId) {
10
+ super(interaction, client, applicationId);
11
+ }
12
+ /**
13
+ * Get the custom ID of the select menu
14
+ */
15
+ get customId() {
16
+ return this.interaction.data?.custom_id || '';
17
+ }
18
+ /**
19
+ * Get the selected values
20
+ */
21
+ get values() {
22
+ return this.interaction.data?.values || [];
23
+ }
24
+ /**
25
+ * Get the first selected value
26
+ */
27
+ get value() {
28
+ return this.values[0] || null;
29
+ }
30
+ /**
31
+ * Get the message the select was attached to
32
+ */
33
+ get message() {
34
+ return this.interaction.message;
35
+ }
36
+ /**
37
+ * Update the message the select is on
38
+ */
39
+ update(options) {
40
+ this.response = {
41
+ type: interactions_1.InteractionResponseType.UPDATE_MESSAGE,
42
+ data: {
43
+ content: options.content,
44
+ embeds: options.embeds?.map((e) => e instanceof EmbedBuilder_1.EmbedBuilder ? e.toJSON() : e),
45
+ components: options.components?.map((c) => c instanceof ActionRowBuilder_1.ActionRowBuilder ? c.toJSON() : c),
46
+ },
47
+ };
48
+ }
49
+ /**
50
+ * Defer the update
51
+ */
52
+ deferUpdate() {
53
+ this.deferred = true;
54
+ this.response = {
55
+ type: interactions_1.InteractionResponseType.DEFERRED_UPDATE_MESSAGE,
56
+ };
57
+ }
58
+ }
59
+ exports.SelectContext = SelectContext;
60
+ //# sourceMappingURL=SelectContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectContext.js","sourceRoot":"","sources":["../../src/context/SelectContext.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,wDAA6E;AAE7E,2DAAwD;AACxD,mEAAgE;AAEhE,MAAa,aAAc,SAAQ,yBAAW;IAC1C,YAAY,WAAwB,EAAE,MAAc,EAAE,aAAqB;QACvE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAIN;QACG,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,EAAE,sCAAuB,CAAC,cAAc;YAC5C,IAAI,EAAE;gBACF,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,YAAY,2BAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAC7C;gBACD,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,CAAC,YAAY,mCAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACjD;aACJ;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,WAAW;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG;YACZ,IAAI,EAAE,sCAAuB,CAAC,uBAAuB;SACxD,CAAC;IACN,CAAC;CACJ;AAhED,sCAgEC"}
@@ -0,0 +1,22 @@
1
+ export { Bot, BotOptions } from './Bot';
2
+ export { Client } from './Client';
3
+ export { CommandBuilder } from './builders/CommandBuilder';
4
+ export { EmbedBuilder } from './builders/EmbedBuilder';
5
+ export { ButtonBuilder, ButtonStyle } from './builders/ButtonBuilder';
6
+ export { SelectMenuBuilder } from './builders/SelectMenuBuilder';
7
+ export { ModalBuilder } from './builders/ModalBuilder';
8
+ export { ActionRowBuilder } from './builders/ActionRowBuilder';
9
+ export { ContainerBuilder } from './builders/ContainerBuilder';
10
+ export { SeparatorBuilder } from './builders/SeparatorBuilder';
11
+ export { TextDisplayBuilder } from './builders/TextDisplayBuilder';
12
+ export { MediaGalleryBuilder, MediaGalleryItem } from './builders/MediaGalleryBuilder';
13
+ export { SectionBuilder } from './builders/SectionBuilder';
14
+ export { FileBuilder } from './builders/FileBuilder';
15
+ export { CommandContext } from './context/CommandContext';
16
+ export { ButtonContext } from './context/ButtonContext';
17
+ export { ModalContext } from './context/ModalContext';
18
+ export { SelectContext } from './context/SelectContext';
19
+ export * from './types/discord';
20
+ export * from './types/commands';
21
+ export * from './types/interactions';
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.SelectContext = exports.ModalContext = exports.ButtonContext = exports.CommandContext = exports.FileBuilder = exports.SectionBuilder = exports.MediaGalleryBuilder = exports.TextDisplayBuilder = exports.SeparatorBuilder = exports.ContainerBuilder = exports.ActionRowBuilder = exports.ModalBuilder = exports.SelectMenuBuilder = exports.ButtonStyle = exports.ButtonBuilder = exports.EmbedBuilder = exports.CommandBuilder = exports.Client = exports.Bot = void 0;
18
+ // Main exports
19
+ var Bot_1 = require("./Bot");
20
+ Object.defineProperty(exports, "Bot", { enumerable: true, get: function () { return Bot_1.Bot; } });
21
+ var Client_1 = require("./Client");
22
+ Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return Client_1.Client; } });
23
+ // Builders
24
+ var CommandBuilder_1 = require("./builders/CommandBuilder");
25
+ Object.defineProperty(exports, "CommandBuilder", { enumerable: true, get: function () { return CommandBuilder_1.CommandBuilder; } });
26
+ var EmbedBuilder_1 = require("./builders/EmbedBuilder");
27
+ Object.defineProperty(exports, "EmbedBuilder", { enumerable: true, get: function () { return EmbedBuilder_1.EmbedBuilder; } });
28
+ var ButtonBuilder_1 = require("./builders/ButtonBuilder");
29
+ Object.defineProperty(exports, "ButtonBuilder", { enumerable: true, get: function () { return ButtonBuilder_1.ButtonBuilder; } });
30
+ Object.defineProperty(exports, "ButtonStyle", { enumerable: true, get: function () { return ButtonBuilder_1.ButtonStyle; } });
31
+ var SelectMenuBuilder_1 = require("./builders/SelectMenuBuilder");
32
+ Object.defineProperty(exports, "SelectMenuBuilder", { enumerable: true, get: function () { return SelectMenuBuilder_1.SelectMenuBuilder; } });
33
+ var ModalBuilder_1 = require("./builders/ModalBuilder");
34
+ Object.defineProperty(exports, "ModalBuilder", { enumerable: true, get: function () { return ModalBuilder_1.ModalBuilder; } });
35
+ var ActionRowBuilder_1 = require("./builders/ActionRowBuilder");
36
+ Object.defineProperty(exports, "ActionRowBuilder", { enumerable: true, get: function () { return ActionRowBuilder_1.ActionRowBuilder; } });
37
+ // Components V2 Builders
38
+ var ContainerBuilder_1 = require("./builders/ContainerBuilder");
39
+ Object.defineProperty(exports, "ContainerBuilder", { enumerable: true, get: function () { return ContainerBuilder_1.ContainerBuilder; } });
40
+ var SeparatorBuilder_1 = require("./builders/SeparatorBuilder");
41
+ Object.defineProperty(exports, "SeparatorBuilder", { enumerable: true, get: function () { return SeparatorBuilder_1.SeparatorBuilder; } });
42
+ var TextDisplayBuilder_1 = require("./builders/TextDisplayBuilder");
43
+ Object.defineProperty(exports, "TextDisplayBuilder", { enumerable: true, get: function () { return TextDisplayBuilder_1.TextDisplayBuilder; } });
44
+ var MediaGalleryBuilder_1 = require("./builders/MediaGalleryBuilder");
45
+ Object.defineProperty(exports, "MediaGalleryBuilder", { enumerable: true, get: function () { return MediaGalleryBuilder_1.MediaGalleryBuilder; } });
46
+ var SectionBuilder_1 = require("./builders/SectionBuilder");
47
+ Object.defineProperty(exports, "SectionBuilder", { enumerable: true, get: function () { return SectionBuilder_1.SectionBuilder; } });
48
+ var FileBuilder_1 = require("./builders/FileBuilder");
49
+ Object.defineProperty(exports, "FileBuilder", { enumerable: true, get: function () { return FileBuilder_1.FileBuilder; } });
50
+ // Context
51
+ var CommandContext_1 = require("./context/CommandContext");
52
+ Object.defineProperty(exports, "CommandContext", { enumerable: true, get: function () { return CommandContext_1.CommandContext; } });
53
+ var ButtonContext_1 = require("./context/ButtonContext");
54
+ Object.defineProperty(exports, "ButtonContext", { enumerable: true, get: function () { return ButtonContext_1.ButtonContext; } });
55
+ var ModalContext_1 = require("./context/ModalContext");
56
+ Object.defineProperty(exports, "ModalContext", { enumerable: true, get: function () { return ModalContext_1.ModalContext; } });
57
+ var SelectContext_1 = require("./context/SelectContext");
58
+ Object.defineProperty(exports, "SelectContext", { enumerable: true, get: function () { return SelectContext_1.SelectContext; } });
59
+ // Types
60
+ __exportStar(require("./types/discord"), exports);
61
+ __exportStar(require("./types/commands"), exports);
62
+ __exportStar(require("./types/interactions"), exports);
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,6BAAwC;AAA/B,0FAAA,GAAG,OAAA;AACZ,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,WAAW;AACX,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,0DAAsE;AAA7D,8GAAA,aAAa,OAAA;AAAE,4GAAA,WAAW,OAAA;AACnC,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAC1B,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,gEAA+D;AAAtD,oHAAA,gBAAgB,OAAA;AAEzB,yBAAyB;AACzB,gEAA+D;AAAtD,oHAAA,gBAAgB,OAAA;AACzB,gEAA+D;AAAtD,oHAAA,gBAAgB,OAAA;AACzB,oEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAC3B,sEAAuF;AAA9E,0HAAA,mBAAmB,OAAA;AAC5B,4DAA2D;AAAlD,gHAAA,cAAc,OAAA;AACvB,sDAAqD;AAA5C,0GAAA,WAAW,OAAA;AAEpB,UAAU;AACV,2DAA0D;AAAjD,gHAAA,cAAc,OAAA;AACvB,yDAAwD;AAA/C,8GAAA,aAAa,OAAA;AACtB,uDAAsD;AAA7C,4GAAA,YAAY,OAAA;AACrB,yDAAwD;AAA/C,8GAAA,aAAa,OAAA;AAEtB,QAAQ;AACR,kDAAgC;AAChC,mDAAiC;AACjC,uDAAqC"}
@@ -0,0 +1,42 @@
1
+ export interface CommandOption {
2
+ type: CommandOptionType;
3
+ name: string;
4
+ description: string;
5
+ required?: boolean;
6
+ choices?: CommandChoice[];
7
+ options?: CommandOption[];
8
+ min_value?: number;
9
+ max_value?: number;
10
+ min_length?: number;
11
+ max_length?: number;
12
+ autocomplete?: boolean;
13
+ }
14
+ export interface CommandChoice {
15
+ name: string;
16
+ value: string | number;
17
+ }
18
+ export declare enum CommandOptionType {
19
+ SUB_COMMAND = 1,
20
+ SUB_COMMAND_GROUP = 2,
21
+ STRING = 3,
22
+ INTEGER = 4,
23
+ BOOLEAN = 5,
24
+ USER = 6,
25
+ CHANNEL = 7,
26
+ ROLE = 8,
27
+ MENTIONABLE = 9,
28
+ NUMBER = 10,
29
+ ATTACHMENT = 11
30
+ }
31
+ export declare enum CommandType {
32
+ CHAT_INPUT = 1,
33
+ USER = 2,
34
+ MESSAGE = 3
35
+ }
36
+ export interface Command {
37
+ name: string;
38
+ description: string;
39
+ type?: CommandType;
40
+ options?: CommandOption[];
41
+ }
42
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED,oBAAY,iBAAiB;IACzB,WAAW,IAAI;IACf,iBAAiB,IAAI;IACrB,MAAM,IAAI;IACV,OAAO,IAAI;IACX,OAAO,IAAI;IACX,IAAI,IAAI;IACR,OAAO,IAAI;IACX,IAAI,IAAI;IACR,WAAW,IAAI;IACf,MAAM,KAAK;IACX,UAAU,KAAK;CAClB;AAED,oBAAY,WAAW;IACnB,UAAU,IAAI;IACd,IAAI,IAAI;IACR,OAAO,IAAI;CACd;AAED,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7B"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ // Command Types
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CommandType = exports.CommandOptionType = void 0;
5
+ var CommandOptionType;
6
+ (function (CommandOptionType) {
7
+ CommandOptionType[CommandOptionType["SUB_COMMAND"] = 1] = "SUB_COMMAND";
8
+ CommandOptionType[CommandOptionType["SUB_COMMAND_GROUP"] = 2] = "SUB_COMMAND_GROUP";
9
+ CommandOptionType[CommandOptionType["STRING"] = 3] = "STRING";
10
+ CommandOptionType[CommandOptionType["INTEGER"] = 4] = "INTEGER";
11
+ CommandOptionType[CommandOptionType["BOOLEAN"] = 5] = "BOOLEAN";
12
+ CommandOptionType[CommandOptionType["USER"] = 6] = "USER";
13
+ CommandOptionType[CommandOptionType["CHANNEL"] = 7] = "CHANNEL";
14
+ CommandOptionType[CommandOptionType["ROLE"] = 8] = "ROLE";
15
+ CommandOptionType[CommandOptionType["MENTIONABLE"] = 9] = "MENTIONABLE";
16
+ CommandOptionType[CommandOptionType["NUMBER"] = 10] = "NUMBER";
17
+ CommandOptionType[CommandOptionType["ATTACHMENT"] = 11] = "ATTACHMENT";
18
+ })(CommandOptionType || (exports.CommandOptionType = CommandOptionType = {}));
19
+ var CommandType;
20
+ (function (CommandType) {
21
+ CommandType[CommandType["CHAT_INPUT"] = 1] = "CHAT_INPUT";
22
+ CommandType[CommandType["USER"] = 2] = "USER";
23
+ CommandType[CommandType["MESSAGE"] = 3] = "MESSAGE";
24
+ })(CommandType || (exports.CommandType = CommandType = {}));
25
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":";AAAA,gBAAgB;;;AAqBhB,IAAY,iBAYX;AAZD,WAAY,iBAAiB;IACzB,uEAAe,CAAA;IACf,mFAAqB,CAAA;IACrB,6DAAU,CAAA;IACV,+DAAW,CAAA;IACX,+DAAW,CAAA;IACX,yDAAQ,CAAA;IACR,+DAAW,CAAA;IACX,yDAAQ,CAAA;IACR,uEAAe,CAAA;IACf,8DAAW,CAAA;IACX,sEAAe,CAAA;AACnB,CAAC,EAZW,iBAAiB,iCAAjB,iBAAiB,QAY5B;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,yDAAc,CAAA;IACd,6CAAQ,CAAA;IACR,mDAAW,CAAA;AACf,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}