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
package/dist/Client.js ADDED
@@ -0,0 +1,533 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Client = void 0;
7
+ const eventsource_1 = __importDefault(require("eventsource"));
8
+ class Client {
9
+ constructor(options) {
10
+ this.eventSource = null;
11
+ this.connected = false;
12
+ this.token = options.token;
13
+ this.baseUrl = options.baseUrl || 'https://gatewayloop.discloud.app';
14
+ }
15
+ get headers() {
16
+ return {
17
+ 'Authorization': `Bearer ${this.token}`,
18
+ 'Content-Type': 'application/json',
19
+ };
20
+ }
21
+ /**
22
+ * Make an HTTP request to the API
23
+ */
24
+ async request(method, endpoint, body) {
25
+ const url = `${this.baseUrl}/api${endpoint}`;
26
+ const response = await fetch(url, {
27
+ method,
28
+ headers: this.headers,
29
+ body: body ? JSON.stringify(body) : undefined,
30
+ });
31
+ if (!response.ok) {
32
+ const error = await response.text();
33
+ throw new Error(`API error ${response.status}: ${error}`);
34
+ }
35
+ if (response.status === 204) {
36
+ return {};
37
+ }
38
+ return response.json();
39
+ }
40
+ /**
41
+ * Connect to the API and deploy commands
42
+ */
43
+ async connect(commands) {
44
+ const result = await this.request('POST', '/sdk/connect', { commands });
45
+ this.connected = true;
46
+ return { applicationId: result.applicationId };
47
+ }
48
+ /**
49
+ * Connect to SSE for receiving interactions
50
+ */
51
+ connectSSE(onInteraction) {
52
+ if (this.eventSource) {
53
+ this.eventSource.close();
54
+ }
55
+ const url = `${this.baseUrl}/api/sdk/events`;
56
+ this.eventSource = new eventsource_1.default(url, {
57
+ headers: this.headers,
58
+ });
59
+ this.eventSource.addEventListener('connected', (event) => {
60
+ console.log('[Loop SDK] SSE connected');
61
+ });
62
+ this.eventSource.addEventListener('interaction', (event) => {
63
+ try {
64
+ const interaction = JSON.parse(event.data);
65
+ onInteraction(interaction);
66
+ }
67
+ catch (error) {
68
+ console.error('[Loop SDK] Failed to parse interaction:', error);
69
+ }
70
+ });
71
+ this.eventSource.addEventListener('ping', () => {
72
+ // Heartbeat received
73
+ });
74
+ this.eventSource.onerror = (error) => {
75
+ console.error('[Loop SDK] SSE error:', error);
76
+ // Auto-reconnect is handled by EventSource
77
+ };
78
+ }
79
+ /**
80
+ * Disconnect SSE
81
+ */
82
+ disconnectSSE() {
83
+ if (this.eventSource) {
84
+ this.eventSource.close();
85
+ this.eventSource = null;
86
+ }
87
+ }
88
+ /**
89
+ * Send interaction response
90
+ */
91
+ async respond(interactionId, response) {
92
+ await this.request('POST', '/sdk/respond', {
93
+ interactionId,
94
+ response,
95
+ });
96
+ }
97
+ /**
98
+ * Send follow-up message
99
+ */
100
+ async followUp(applicationId, interactionToken, data) {
101
+ return this.request('POST', '/sdk/followup', {
102
+ applicationId,
103
+ interactionToken,
104
+ data,
105
+ });
106
+ }
107
+ /**
108
+ * Edit original response
109
+ */
110
+ async editOriginal(applicationId, interactionToken, data) {
111
+ await this.request('POST', '/sdk/edit', {
112
+ applicationId,
113
+ interactionToken,
114
+ data,
115
+ });
116
+ }
117
+ /**
118
+ * Disconnect from API
119
+ */
120
+ async disconnect() {
121
+ this.disconnectSSE();
122
+ if (this.connected) {
123
+ try {
124
+ await this.request('POST', '/sdk/disconnect', {});
125
+ }
126
+ catch {
127
+ // Ignore disconnect errors
128
+ }
129
+ this.connected = false;
130
+ }
131
+ }
132
+ isConnected() {
133
+ return this.connected;
134
+ }
135
+ // ==================== MESSAGING ====================
136
+ /**
137
+ * Send a message to a channel
138
+ */
139
+ async sendMessage(applicationId, channelId, data) {
140
+ const result = await this.request('POST', '/sdk/messages/send', { applicationId, channelId, ...data });
141
+ return result.message;
142
+ }
143
+ /**
144
+ * Edit a message
145
+ */
146
+ async editMessage(applicationId, channelId, messageId, data) {
147
+ const result = await this.request('POST', '/sdk/messages/edit', { applicationId, channelId, messageId, ...data });
148
+ return result.message;
149
+ }
150
+ /**
151
+ * Delete a message
152
+ */
153
+ async deleteMessage(applicationId, channelId, messageId) {
154
+ await this.request('POST', '/sdk/messages/delete', {
155
+ applicationId,
156
+ channelId,
157
+ messageId,
158
+ });
159
+ }
160
+ /**
161
+ * Get messages from a channel
162
+ */
163
+ async getMessages(applicationId, channelId, options) {
164
+ let endpoint = `/sdk/messages/${applicationId}/${channelId}`;
165
+ const params = [];
166
+ if (options?.limit)
167
+ params.push(`limit=${options.limit}`);
168
+ if (options?.before)
169
+ params.push(`before=${options.before}`);
170
+ if (options?.after)
171
+ params.push(`after=${options.after}`);
172
+ if (params.length > 0)
173
+ endpoint += `?${params.join('&')}`;
174
+ const result = await this.request('GET', endpoint);
175
+ return result.messages;
176
+ }
177
+ /**
178
+ * Get a single message
179
+ */
180
+ async getMessage(applicationId, channelId, messageId) {
181
+ const result = await this.request('GET', `/sdk/messages/${applicationId}/${channelId}/${messageId}`);
182
+ return result.message;
183
+ }
184
+ // ==================== CHANNELS ====================
185
+ /**
186
+ * Get a channel
187
+ */
188
+ async getChannel(applicationId, channelId) {
189
+ const result = await this.request('GET', `/sdk/channels/${applicationId}/${channelId}`);
190
+ return result.channel;
191
+ }
192
+ /**
193
+ * Create a channel in a guild
194
+ */
195
+ async createChannel(applicationId, guildId, data) {
196
+ const result = await this.request('POST', '/sdk/channels/create', { applicationId, guildId, ...data });
197
+ return result.channel;
198
+ }
199
+ /**
200
+ * Modify a channel
201
+ */
202
+ async modifyChannel(applicationId, channelId, data) {
203
+ const result = await this.request('POST', '/sdk/channels/modify', { applicationId, channelId, ...data });
204
+ return result.channel;
205
+ }
206
+ /**
207
+ * Delete a channel
208
+ */
209
+ async deleteChannel(applicationId, channelId) {
210
+ await this.request('POST', '/sdk/channels/delete', {
211
+ applicationId,
212
+ channelId,
213
+ });
214
+ }
215
+ // ==================== GUILDS ====================
216
+ /**
217
+ * Get guild info
218
+ */
219
+ async getGuild(applicationId, guildId) {
220
+ const result = await this.request('GET', `/sdk/guilds/${applicationId}/${guildId}`);
221
+ return result.guild;
222
+ }
223
+ /**
224
+ * Get guild channels
225
+ */
226
+ async getGuildChannels(applicationId, guildId) {
227
+ const result = await this.request('GET', `/sdk/guilds/${applicationId}/${guildId}/channels`);
228
+ return result.channels;
229
+ }
230
+ /**
231
+ * Get guild roles
232
+ */
233
+ async getGuildRoles(applicationId, guildId) {
234
+ const result = await this.request('GET', `/sdk/guilds/${applicationId}/${guildId}/roles`);
235
+ return result.roles;
236
+ }
237
+ // ==================== MEMBERS ====================
238
+ /**
239
+ * Get a guild member
240
+ */
241
+ async getGuildMember(applicationId, guildId, userId) {
242
+ const result = await this.request('GET', `/sdk/members/${applicationId}/${guildId}/${userId}`);
243
+ return result.member;
244
+ }
245
+ /**
246
+ * List guild members
247
+ */
248
+ async listGuildMembers(applicationId, guildId, options) {
249
+ let endpoint = `/sdk/members/${applicationId}/${guildId}`;
250
+ const params = [];
251
+ if (options?.limit)
252
+ params.push(`limit=${options.limit}`);
253
+ if (options?.after)
254
+ params.push(`after=${options.after}`);
255
+ if (params.length > 0)
256
+ endpoint += `?${params.join('&')}`;
257
+ const result = await this.request('GET', endpoint);
258
+ return result.members;
259
+ }
260
+ /**
261
+ * Add role to member
262
+ */
263
+ async addMemberRole(applicationId, guildId, userId, roleId) {
264
+ await this.request('POST', '/sdk/members/roles/add', {
265
+ applicationId,
266
+ guildId,
267
+ userId,
268
+ roleId,
269
+ });
270
+ }
271
+ /**
272
+ * Remove role from member
273
+ */
274
+ async removeMemberRole(applicationId, guildId, userId, roleId) {
275
+ await this.request('POST', '/sdk/members/roles/remove', {
276
+ applicationId,
277
+ guildId,
278
+ userId,
279
+ roleId,
280
+ });
281
+ }
282
+ /**
283
+ * Kick member
284
+ */
285
+ async kickMember(applicationId, guildId, userId) {
286
+ await this.request('POST', '/sdk/members/kick', {
287
+ applicationId,
288
+ guildId,
289
+ userId,
290
+ });
291
+ }
292
+ /**
293
+ * Ban member
294
+ */
295
+ async banMember(applicationId, guildId, userId, deleteMessageSeconds) {
296
+ await this.request('POST', '/sdk/members/ban', {
297
+ applicationId,
298
+ guildId,
299
+ userId,
300
+ deleteMessageSeconds,
301
+ });
302
+ }
303
+ /**
304
+ * Unban member
305
+ */
306
+ async unbanMember(applicationId, guildId, userId) {
307
+ await this.request('POST', '/sdk/members/unban', {
308
+ applicationId,
309
+ guildId,
310
+ userId,
311
+ });
312
+ }
313
+ // ==================== REACTIONS ====================
314
+ /**
315
+ * Add reaction to message
316
+ */
317
+ async addReaction(applicationId, channelId, messageId, emoji) {
318
+ await this.request('POST', '/sdk/reactions/add', {
319
+ applicationId,
320
+ channelId,
321
+ messageId,
322
+ emoji,
323
+ });
324
+ }
325
+ /**
326
+ * Remove reaction from message
327
+ */
328
+ async removeReaction(applicationId, channelId, messageId, emoji) {
329
+ await this.request('POST', '/sdk/reactions/remove', {
330
+ applicationId,
331
+ channelId,
332
+ messageId,
333
+ emoji,
334
+ });
335
+ }
336
+ // ==================== PINS ====================
337
+ /**
338
+ * Pin a message
339
+ */
340
+ async pinMessage(applicationId, channelId, messageId) {
341
+ await this.request('POST', '/sdk/pins/add', {
342
+ applicationId,
343
+ channelId,
344
+ messageId,
345
+ });
346
+ }
347
+ /**
348
+ * Unpin a message
349
+ */
350
+ async unpinMessage(applicationId, channelId, messageId) {
351
+ await this.request('POST', '/sdk/pins/remove', {
352
+ applicationId,
353
+ channelId,
354
+ messageId,
355
+ });
356
+ }
357
+ /**
358
+ * Get pinned messages
359
+ */
360
+ async getPinnedMessages(applicationId, channelId) {
361
+ const result = await this.request('GET', `/sdk/pins/${applicationId}/${channelId}`);
362
+ return result.messages;
363
+ }
364
+ // ==================== USERS ====================
365
+ /**
366
+ * Get user info
367
+ */
368
+ async getUser(applicationId, userId) {
369
+ const result = await this.request('GET', `/sdk/users/${applicationId}/${userId}`);
370
+ return result.user;
371
+ }
372
+ // ==================== THREADS ====================
373
+ /**
374
+ * Create a thread
375
+ */
376
+ async createThread(applicationId, channelId, data) {
377
+ const result = await this.request('POST', '/sdk/threads/create', { applicationId, channelId, ...data });
378
+ return result.thread;
379
+ }
380
+ // ==================== FORUM CHANNELS ====================
381
+ /**
382
+ * Create forum post
383
+ */
384
+ async createForumPost(applicationId, channelId, data) {
385
+ const result = await this.request('POST', '/sdk/forum/post', { applicationId, channelId, ...data });
386
+ return result.post;
387
+ }
388
+ /**
389
+ * Get forum tags
390
+ */
391
+ async getForumTags(applicationId, channelId) {
392
+ const result = await this.request('GET', `/sdk/forum/${applicationId}/${channelId}/tags`);
393
+ return result.tags;
394
+ }
395
+ /**
396
+ * Modify forum tags
397
+ */
398
+ async modifyForumTags(applicationId, channelId, tags) {
399
+ const result = await this.request('POST', '/sdk/forum/tags/modify', { applicationId, channelId, tags });
400
+ return result.channel;
401
+ }
402
+ /**
403
+ * Archive thread/post
404
+ */
405
+ async archiveThread(applicationId, threadId, archived = true) {
406
+ const result = await this.request('POST', '/sdk/forum/archive', { applicationId, threadId, archived });
407
+ return result.thread;
408
+ }
409
+ /**
410
+ * Lock thread/post
411
+ */
412
+ async lockThread(applicationId, threadId, locked = true) {
413
+ const result = await this.request('POST', '/sdk/forum/lock', { applicationId, threadId, locked });
414
+ return result.thread;
415
+ }
416
+ /**
417
+ * Add tags to forum post
418
+ */
419
+ async addForumPostTags(applicationId, threadId, tagIds) {
420
+ const result = await this.request('POST', '/sdk/forum/tags/add', { applicationId, threadId, tagIds });
421
+ return result.thread;
422
+ }
423
+ // ==================== ROLES ====================
424
+ /**
425
+ * Get roles
426
+ */
427
+ async getRoles(applicationId, guildId) {
428
+ const result = await this.request('GET', `/sdk/roles/${applicationId}/${guildId}`);
429
+ return result.roles;
430
+ }
431
+ /**
432
+ * Create role
433
+ */
434
+ async createRole(applicationId, guildId, data) {
435
+ const result = await this.request('POST', '/sdk/roles/create', { applicationId, guildId, ...data });
436
+ return result.role;
437
+ }
438
+ /**
439
+ * Modify role
440
+ */
441
+ async modifyRole(applicationId, guildId, roleId, data) {
442
+ const result = await this.request('POST', '/sdk/roles/modify', { applicationId, guildId, roleId, ...data });
443
+ return result.role;
444
+ }
445
+ /**
446
+ * Delete role
447
+ */
448
+ async deleteRole(applicationId, guildId, roleId) {
449
+ await this.request('POST', '/sdk/roles/delete', {
450
+ applicationId,
451
+ guildId,
452
+ roleId,
453
+ });
454
+ }
455
+ /**
456
+ * Reorder roles
457
+ */
458
+ async reorderRoles(applicationId, guildId, positions) {
459
+ const result = await this.request('POST', '/sdk/roles/reorder', { applicationId, guildId, positions });
460
+ return result.roles;
461
+ }
462
+ // ==================== WEBHOOKS ====================
463
+ /**
464
+ * Create webhook
465
+ */
466
+ async createWebhook(applicationId, channelId, data) {
467
+ const result = await this.request('POST', '/sdk/webhooks/create', { applicationId, channelId, ...data });
468
+ return result.webhook;
469
+ }
470
+ /**
471
+ * Get channel webhooks
472
+ */
473
+ async getChannelWebhooks(applicationId, channelId) {
474
+ const result = await this.request('GET', `/sdk/webhooks/channel/${applicationId}/${channelId}`);
475
+ return result.webhooks;
476
+ }
477
+ /**
478
+ * Get guild webhooks
479
+ */
480
+ async getGuildWebhooks(applicationId, guildId) {
481
+ const result = await this.request('GET', `/sdk/webhooks/guild/${applicationId}/${guildId}`);
482
+ return result.webhooks;
483
+ }
484
+ /**
485
+ * Get webhook
486
+ */
487
+ async getWebhook(applicationId, webhookId) {
488
+ const result = await this.request('GET', `/sdk/webhooks/${applicationId}/${webhookId}`);
489
+ return result.webhook;
490
+ }
491
+ /**
492
+ * Modify webhook
493
+ */
494
+ async modifyWebhook(applicationId, webhookId, data) {
495
+ const result = await this.request('POST', '/sdk/webhooks/modify', { applicationId, webhookId, ...data });
496
+ return result.webhook;
497
+ }
498
+ /**
499
+ * Delete webhook
500
+ */
501
+ async deleteWebhook(applicationId, webhookId) {
502
+ await this.request('POST', '/sdk/webhooks/delete', {
503
+ applicationId,
504
+ webhookId,
505
+ });
506
+ }
507
+ /**
508
+ * Execute webhook (send message)
509
+ */
510
+ async executeWebhook(webhookId, webhookToken, data, wait = false) {
511
+ const result = await this.request('POST', '/sdk/webhooks/execute', { webhookId, webhookToken, ...data, wait });
512
+ return result.message;
513
+ }
514
+ /**
515
+ * Edit webhook message
516
+ */
517
+ async editWebhookMessage(webhookId, webhookToken, messageId, data) {
518
+ const result = await this.request('POST', '/sdk/webhooks/message/edit', { webhookId, webhookToken, messageId, ...data });
519
+ return result.message;
520
+ }
521
+ /**
522
+ * Delete webhook message
523
+ */
524
+ async deleteWebhookMessage(webhookId, webhookToken, messageId) {
525
+ await this.request('POST', '/sdk/webhooks/message/delete', {
526
+ webhookId,
527
+ webhookToken,
528
+ messageId,
529
+ });
530
+ }
531
+ }
532
+ exports.Client = Client;
533
+ //# sourceMappingURL=Client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { DiscordComponent } from '../types/discord';
2
+ import { ButtonBuilder } from './ButtonBuilder';
3
+ import { SelectMenuBuilder } from './SelectMenuBuilder';
4
+ export declare class ActionRowBuilder {
5
+ private components;
6
+ addButton(button: ButtonBuilder): this;
7
+ addSelectMenu(select: SelectMenuBuilder): this;
8
+ addComponent(component: DiscordComponent): this;
9
+ toJSON(): DiscordComponent;
10
+ }
11
+ //# sourceMappingURL=ActionRowBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionRowBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/ActionRowBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,gBAAgB;IACzB,OAAO,CAAC,UAAU,CAA0B;IAE5C,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAKtC,aAAa,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAK9C,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAK/C,MAAM,IAAI,gBAAgB;CAM7B"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionRowBuilder = void 0;
4
+ class ActionRowBuilder {
5
+ constructor() {
6
+ this.components = [];
7
+ }
8
+ addButton(button) {
9
+ this.components.push(button.toJSON());
10
+ return this;
11
+ }
12
+ addSelectMenu(select) {
13
+ this.components.push(select.toJSON());
14
+ return this;
15
+ }
16
+ addComponent(component) {
17
+ this.components.push(component);
18
+ return this;
19
+ }
20
+ toJSON() {
21
+ return {
22
+ type: 1,
23
+ components: this.components,
24
+ };
25
+ }
26
+ }
27
+ exports.ActionRowBuilder = ActionRowBuilder;
28
+ //# sourceMappingURL=ActionRowBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionRowBuilder.js","sourceRoot":"","sources":["../../src/builders/ActionRowBuilder.ts"],"names":[],"mappings":";;;AAIA,MAAa,gBAAgB;IAA7B;QACY,eAAU,GAAuB,EAAE,CAAC;IAuBhD,CAAC;IArBG,SAAS,CAAC,MAAqB;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,MAAyB;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,SAA2B;QACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,CAAC;YACP,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC;IACN,CAAC;CACJ;AAxBD,4CAwBC"}
@@ -0,0 +1,19 @@
1
+ import { DiscordComponent } from '../types/discord';
2
+ export declare enum ButtonStyle {
3
+ PRIMARY = 1,
4
+ SECONDARY = 2,
5
+ SUCCESS = 3,
6
+ DANGER = 4,
7
+ LINK = 5
8
+ }
9
+ export declare class ButtonBuilder {
10
+ private button;
11
+ setCustomId(customId: string): this;
12
+ setLabel(label: string): this;
13
+ setStyle(style: ButtonStyle): this;
14
+ setEmoji(name: string, id?: string): this;
15
+ setURL(url: string): this;
16
+ setDisabled(disabled?: boolean): this;
17
+ toJSON(): DiscordComponent;
18
+ }
19
+ //# sourceMappingURL=ButtonBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/ButtonBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,oBAAY,WAAW;IACnB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,OAAO,IAAI;IACX,MAAM,IAAI;IACV,IAAI,IAAI;CACX;AAED,qBAAa,aAAa;IACtB,OAAO,CAAC,MAAM,CAAiC;IAE/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAKlC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAKzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMzB,WAAW,CAAC,QAAQ,GAAE,OAAc,GAAG,IAAI;IAK3C,MAAM,IAAI,gBAAgB;CAG7B"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonBuilder = exports.ButtonStyle = void 0;
4
+ var ButtonStyle;
5
+ (function (ButtonStyle) {
6
+ ButtonStyle[ButtonStyle["PRIMARY"] = 1] = "PRIMARY";
7
+ ButtonStyle[ButtonStyle["SECONDARY"] = 2] = "SECONDARY";
8
+ ButtonStyle[ButtonStyle["SUCCESS"] = 3] = "SUCCESS";
9
+ ButtonStyle[ButtonStyle["DANGER"] = 4] = "DANGER";
10
+ ButtonStyle[ButtonStyle["LINK"] = 5] = "LINK";
11
+ })(ButtonStyle || (exports.ButtonStyle = ButtonStyle = {}));
12
+ class ButtonBuilder {
13
+ constructor() {
14
+ this.button = { type: 2 };
15
+ }
16
+ setCustomId(customId) {
17
+ this.button.custom_id = customId;
18
+ return this;
19
+ }
20
+ setLabel(label) {
21
+ this.button.label = label;
22
+ return this;
23
+ }
24
+ setStyle(style) {
25
+ this.button.style = style;
26
+ return this;
27
+ }
28
+ setEmoji(name, id) {
29
+ this.button.emoji = { name, id };
30
+ return this;
31
+ }
32
+ setURL(url) {
33
+ this.button.url = url;
34
+ this.button.style = ButtonStyle.LINK;
35
+ return this;
36
+ }
37
+ setDisabled(disabled = true) {
38
+ this.button.disabled = disabled;
39
+ return this;
40
+ }
41
+ toJSON() {
42
+ return this.button;
43
+ }
44
+ }
45
+ exports.ButtonBuilder = ButtonBuilder;
46
+ //# sourceMappingURL=ButtonBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonBuilder.js","sourceRoot":"","sources":["../../src/builders/ButtonBuilder.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAMX;AAND,WAAY,WAAW;IACnB,mDAAW,CAAA;IACX,uDAAa,CAAA;IACb,mDAAW,CAAA;IACX,iDAAU,CAAA;IACV,6CAAQ,CAAA;AACZ,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAED,MAAa,aAAa;IAA1B;QACY,WAAM,GAAqB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAoCnD,CAAC;IAlCG,WAAW,CAAC,QAAgB;QACxB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,KAAa;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,KAAkB;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,EAAW;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,WAAoB,IAAI;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AArCD,sCAqCC"}