@mostfeatured/dbi 0.2.17 → 0.2.18

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 (77) hide show
  1. package/dist/src/types/Event.d.ts +21 -13
  2. package/dist/src/types/Event.d.ts.map +1 -1
  3. package/dist/src/types/Event.js.map +1 -1
  4. package/dist/test/index.js +1 -1
  5. package/dist/test/index.js.map +1 -1
  6. package/generated/namespaceData.d.ts +3 -1
  7. package/package.json +6 -2
  8. package/.gitattributes +0 -2
  9. package/.hintrc +0 -8
  10. package/.vscode/settings.json +0 -3
  11. package/docs/ADVANCED_FEATURES.md +0 -840
  12. package/docs/API_REFERENCE.md +0 -929
  13. package/docs/CHAT_INPUT.md +0 -811
  14. package/docs/COMPONENTS.md +0 -1039
  15. package/docs/EVENTS.md +0 -568
  16. package/docs/GETTING_STARTED.md +0 -398
  17. package/docs/LOCALIZATION.md +0 -777
  18. package/docs/README.md +0 -345
  19. package/docs/SVELTE_COMPONENTS.md +0 -1111
  20. package/docs/llm/ADVANCED_FEATURES.txt +0 -521
  21. package/docs/llm/API_REFERENCE.txt +0 -659
  22. package/docs/llm/CHAT_INPUT.txt +0 -514
  23. package/docs/llm/COMPONENTS.txt +0 -595
  24. package/docs/llm/EVENTS.txt +0 -449
  25. package/docs/llm/GETTING_STARTED.txt +0 -296
  26. package/docs/llm/LOCALIZATION.txt +0 -501
  27. package/docs/llm/README.txt +0 -193
  28. package/docs/llm/SVELTE_COMPONENTS.txt +0 -566
  29. package/src/DBI.ts +0 -1007
  30. package/src/Events.ts +0 -189
  31. package/src/data/eventMap.json +0 -248
  32. package/src/index.ts +0 -23
  33. package/src/methods/handleMessageCommands.ts +0 -482
  34. package/src/methods/hookEventListeners.ts +0 -119
  35. package/src/methods/hookInteractionListeners.ts +0 -314
  36. package/src/methods/publishInteractions.ts +0 -256
  37. package/src/types/ApplicationRoleConnectionMetadata.ts +0 -19
  38. package/src/types/Builders/ButtonBuilder.ts +0 -53
  39. package/src/types/Builders/ChannelSelectMenuBuilder.ts +0 -53
  40. package/src/types/Builders/MentionableSelectMenuBuilder.ts +0 -53
  41. package/src/types/Builders/ModalBuilder.ts +0 -53
  42. package/src/types/Builders/RoleSelectMenuBuilder.ts +0 -53
  43. package/src/types/Builders/StringSelectMenuBuilder.ts +0 -53
  44. package/src/types/Builders/UserSelectMenuBuilder.ts +0 -53
  45. package/src/types/ChatInput/ChatInput.ts +0 -28
  46. package/src/types/ChatInput/ChatInputOptions.ts +0 -388
  47. package/src/types/Components/Button.ts +0 -39
  48. package/src/types/Components/ChannelSelectMenu.ts +0 -43
  49. package/src/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.ts +0 -78
  50. package/src/types/Components/HTMLComponentsV2/index.ts +0 -800
  51. package/src/types/Components/HTMLComponentsV2/parser.ts +0 -649
  52. package/src/types/Components/HTMLComponentsV2/svelteParser.ts +0 -1503
  53. package/src/types/Components/HTMLComponentsV2/svelteRenderer.ts +0 -416
  54. package/src/types/Components/MentionableSelectMenu.ts +0 -43
  55. package/src/types/Components/Modal.ts +0 -46
  56. package/src/types/Components/RoleSelectMenu.ts +0 -43
  57. package/src/types/Components/StringSelectMenu.ts +0 -43
  58. package/src/types/Components/UserSelectMenu.ts +0 -43
  59. package/src/types/Event.ts +0 -145
  60. package/src/types/Interaction.ts +0 -100
  61. package/src/types/other/CustomEvent.ts +0 -19
  62. package/src/types/other/FakeMessageInteraction.ts +0 -408
  63. package/src/types/other/InteractionLocale.ts +0 -34
  64. package/src/types/other/Locale.ts +0 -70
  65. package/src/types/other/MessageContextMenu.ts +0 -27
  66. package/src/types/other/UserContextMenu.ts +0 -25
  67. package/src/utils/MemoryStore.ts +0 -28
  68. package/src/utils/UtilTypes.ts +0 -11
  69. package/src/utils/customId.ts +0 -49
  70. package/src/utils/permissions.ts +0 -5
  71. package/src/utils/recursiveImport.ts +0 -35
  72. package/src/utils/recursiveUnload.ts +0 -25
  73. package/src/utils/unloadModule.ts +0 -7
  74. package/test/index.ts +0 -176
  75. package/test/product-showcase.svelte +0 -558
  76. package/test/test.ts +0 -3
  77. package/tsconfig.json +0 -51
@@ -1,659 +0,0 @@
1
- ================================================================================
2
- DBI - API REFERENCE - LLM REFERENCE DOCUMENT
3
- ================================================================================
4
-
5
- DOCUMENT TYPE: Complete API Documentation
6
- PACKAGE: @mostfeatured/dbi
7
-
8
- ================================================================================
9
- SECTION 1: createDBI FUNCTION
10
- ================================================================================
11
-
12
- SIGNATURE:
13
- ----------
14
- function createDBI<TNamespace, TOtherType>(
15
- namespace: TNamespace,
16
- config: DBIConfigConstructor<TNamespace, TOtherType>
17
- ): DBI<TNamespace, TOtherType>
18
-
19
- PARAMETERS:
20
- -----------
21
- PARAMETER | TYPE | DESCRIPTION
22
- ----------|----------------------|---------------------------
23
- namespace | string | Unique identifier for bot
24
- config | DBIConfigConstructor | Configuration object
25
-
26
- ================================================================================
27
- SECTION 2: CONFIG OPTIONS
28
- ================================================================================
29
-
30
- interface DBIConfigConstructor {
31
- discord: {
32
- token: string;
33
- options: Discord.ClientOptions;
34
- } | Array<{
35
- namespace: string;
36
- token: string;
37
- options: Discord.ClientOptions;
38
- }>;
39
-
40
- defaults?: {
41
- locale?: {
42
- name?: string;
43
- invalidPath?: string | ((ctx) => string);
44
- };
45
- directMessages?: boolean;
46
- defaultMemberPermissions?: Discord.PermissionsString[];
47
- messageCommands?: {
48
- deferReplyContent?: string | ((ctx) => string | Promise<string>);
49
- };
50
- };
51
-
52
- sharding?: "hybrid" | "default" | "off";
53
- store?: DBIStore;
54
-
55
- references?: {
56
- autoClear?: {
57
- check: number;
58
- ttl: number;
59
- };
60
- };
61
-
62
- inlineListeners?: {
63
- autoClear?: {
64
- check: number;
65
- ttl: number;
66
- };
67
- };
68
-
69
- data?: {
70
- other?: Record<string, any>;
71
- refs?: Map<string, { at: number; value: any; ttl?: number }>;
72
- };
73
-
74
- strict?: boolean;
75
-
76
- messageCommands?: {
77
- prefixes: string[] | ((ctx) => string[] | Promise<string[]>);
78
- typeAliases?: {
79
- booleans?: Record<string, boolean>;
80
- };
81
- };
82
- }
83
-
84
- ================================================================================
85
- SECTION 3: DBI CLASS PROPERTIES
86
- ================================================================================
87
-
88
- PROPERTY | TYPE | DESCRIPTION
89
- -----------------|----------------------|---------------------------
90
- namespace | string | Bot namespace
91
- config | DBIConfig | Configuration object
92
- data | DBIData | Data storage
93
- events | Events | Event system
94
- cluster | ClusterClient? | Hybrid sharding cluster
95
- loaded | boolean | Whether DBI is loaded
96
-
97
- DATA OBJECT:
98
- ------------
99
- interface DBIData {
100
- interactions: Discord.Collection<string, TDBIInteractions>;
101
- events: Discord.Collection<string, DBIEvent>;
102
- locales: Discord.Collection<string, DBILocale>;
103
- interactionLocales: Discord.Collection<string, DBIInteractionLocale>;
104
- other: Record<string, any>;
105
- eventMap: Record<string, string[]>;
106
- customEventNames: Set<string>;
107
- unloaders: Set<() => void>;
108
- registers: Set<Function>;
109
- registerUnloaders: Set<Function>;
110
- refs: Map<string, { at: number; value: any; ttl?: number }>;
111
- clients: ClientsArray;
112
- }
113
-
114
- ================================================================================
115
- SECTION 4: DBI CLASS METHODS
116
- ================================================================================
117
-
118
- register(callback):
119
- -------------------
120
- async register(
121
- callback: (api: DBIRegisterAPI) => void | Promise<void>
122
- ): Promise<void>
123
-
124
- load(...flags):
125
- ---------------
126
- async load(...flags: string[]): Promise<boolean>
127
-
128
- unload():
129
- ---------
130
- async unload(): Promise<boolean>
131
-
132
- login():
133
- --------
134
- async login(): Promise<void>
135
-
136
- publish(type, guildId?, clear?):
137
- --------------------------------
138
- async publish(type: "Global", clear?: boolean): Promise<void>
139
- async publish(type: "Guild", guildId: string, clear?: boolean): Promise<void>
140
-
141
- interaction(name):
142
- ------------------
143
- interaction<T>(name: T): TDBIInteractions
144
-
145
- event(name):
146
- ------------
147
- event(name: string): DBIEvent
148
-
149
- locale(name):
150
- -------------
151
- locale(name: string): DBILocale
152
-
153
- client(namespace?):
154
- -------------------
155
- client(namespace?: string): TDBIClientData
156
-
157
- emit(name, args):
158
- -----------------
159
- emit(name: string, args: object): void
160
-
161
- get(key, defaultValue?):
162
- ------------------------
163
- get<K>(key: K, defaultValue?: any): any
164
-
165
- set(key, value):
166
- ----------------
167
- set<K>(key: K, value: any): void
168
-
169
- has(key):
170
- ---------
171
- has(key: string): boolean
172
-
173
- delete(key):
174
- ------------
175
- delete(key: string): boolean
176
-
177
- ================================================================================
178
- SECTION 5: REGISTER API - CHATINPUT
179
- ================================================================================
180
-
181
- ChatInput(config: {
182
- name: string;
183
- description: string;
184
- options?: any[];
185
- directMessages?: boolean;
186
- defaultMemberPermissions?: Discord.PermissionsString[];
187
- rateLimits?: DBIRateLimit[];
188
- flag?: string;
189
- publish?: string;
190
- other?: {
191
- messageCommand?: {
192
- aliases?: string[];
193
- ignore?: boolean;
194
- };
195
- };
196
- onExecute: (ctx: IDBIChatInputExecuteCtx) => void | Promise<void>;
197
- }): DBIChatInput
198
-
199
- ================================================================================
200
- SECTION 6: REGISTER API - CHATINPUTOPTIONS
201
- ================================================================================
202
-
203
- class ChatInputOptions {
204
- string(config): ApplicationCommandOption
205
- stringChoices(config): ApplicationCommandOption
206
- stringAutocomplete(config): ApplicationCommandOption
207
- integer(config): ApplicationCommandOption
208
- integerChoices(config): ApplicationCommandOption
209
- integerAutocomplete(config): ApplicationCommandOption
210
- number(config): ApplicationCommandOption
211
- numberChoices(config): ApplicationCommandOption
212
- numberAutocomplete(config): ApplicationCommandOption
213
- boolean(config): ApplicationCommandOption
214
- user(config): ApplicationCommandOption
215
- channel(config): ApplicationCommandOption
216
- role(config): ApplicationCommandOption
217
- mentionable(config): ApplicationCommandOption
218
- attachment(config): ApplicationCommandOption
219
- }
220
-
221
- ================================================================================
222
- SECTION 7: REGISTER API - BUTTON
223
- ================================================================================
224
-
225
- Button(config: {
226
- name: string;
227
- options?: {
228
- style: Discord.ButtonStyle;
229
- label?: string;
230
- emoji?: string;
231
- disabled?: boolean;
232
- url?: string;
233
- };
234
- rateLimits?: DBIRateLimit[];
235
- flag?: string;
236
- ttl?: number;
237
- onExecute: (ctx: IDBIButtonExecuteCtx) => void | Promise<void>;
238
- }): DBIButton
239
-
240
- ================================================================================
241
- SECTION 8: REGISTER API - SELECT MENUS
242
- ================================================================================
243
-
244
- StringSelectMenu(config: {
245
- name: string;
246
- options?: {
247
- placeholder?: string;
248
- minValues?: number;
249
- maxValues?: number;
250
- disabled?: boolean;
251
- options: Array<{
252
- label: string;
253
- value: string;
254
- description?: string;
255
- emoji?: string;
256
- default?: boolean;
257
- }>;
258
- };
259
- rateLimits?: DBIRateLimit[];
260
- flag?: string;
261
- ttl?: number;
262
- onExecute: (ctx) => void | Promise<void>;
263
- }): DBIStringSelectMenu
264
-
265
- UserSelectMenu, RoleSelectMenu, ChannelSelectMenu, MentionableSelectMenu:
266
- Similar to StringSelectMenu but for user/role/channel/mentionable selection.
267
-
268
- ================================================================================
269
- SECTION 9: REGISTER API - MODAL
270
- ================================================================================
271
-
272
- Modal(config: {
273
- name: string;
274
- options?: {
275
- title: string;
276
- components: Discord.ActionRowData<Discord.ModalActionRowComponentData>[];
277
- };
278
- rateLimits?: DBIRateLimit[];
279
- flag?: string;
280
- ttl?: number;
281
- onExecute: (ctx: IDBIModalExecuteCtx) => void | Promise<void>;
282
- }): DBIModal
283
-
284
- ================================================================================
285
- SECTION 10: REGISTER API - CONTEXT MENUS
286
- ================================================================================
287
-
288
- MessageContextMenu(config: {
289
- name: string;
290
- directMessages?: boolean;
291
- defaultMemberPermissions?: Discord.PermissionsString[];
292
- rateLimits?: DBIRateLimit[];
293
- flag?: string;
294
- publish?: string;
295
- onExecute: (ctx) => void | Promise<void>;
296
- }): DBIMessageContextMenu
297
-
298
- UserContextMenu(config: {
299
- name: string;
300
- directMessages?: boolean;
301
- defaultMemberPermissions?: Discord.PermissionsString[];
302
- rateLimits?: DBIRateLimit[];
303
- flag?: string;
304
- publish?: string;
305
- onExecute: (ctx) => void | Promise<void>;
306
- }): DBIUserContextMenu
307
-
308
- ================================================================================
309
- SECTION 11: REGISTER API - EVENT
310
- ================================================================================
311
-
312
- Event(config: {
313
- name: keyof ClientEvents;
314
- id?: string;
315
- disabled?: boolean;
316
- triggerType?: "OneByOne" | "OneByOneGlobal" | "Random" | "First";
317
- ordered?: {
318
- await?: boolean;
319
- delayBefore?: number;
320
- delayAfter?: number;
321
- };
322
- flag?: string;
323
- ttl?: number;
324
- onExecute: (ctx) => void | Promise<void>;
325
- }): DBIEvent
326
-
327
- ================================================================================
328
- SECTION 12: REGISTER API - LOCALE
329
- ================================================================================
330
-
331
- Locale(config: {
332
- name: TDBILocaleString;
333
- data: Record<string, any>;
334
- flag?: string;
335
- }): DBILocale
336
-
337
- InteractionLocale(config: {
338
- name: string;
339
- data: Record<string, {
340
- name: string;
341
- description: string;
342
- options?: Record<string, {
343
- name: string;
344
- description: string;
345
- choices?: Record<string, string>;
346
- }>;
347
- }>;
348
- flag?: string;
349
- }): DBIInteractionLocale
350
-
351
- ================================================================================
352
- SECTION 13: REGISTER API - CUSTOM EVENT
353
- ================================================================================
354
-
355
- CustomEvent(config: {
356
- name: string;
357
- map: Record<string, string>;
358
- }): DBICustomEvent
359
-
360
- ================================================================================
361
- SECTION 14: REGISTER API - HTMLCOMPONENTSV2
362
- ================================================================================
363
-
364
- HTMLComponentsV2(config: {
365
- name: string;
366
- mode?: "svelte" | "eta";
367
- template?: string;
368
- file?: string;
369
- handlers?: any[];
370
- rateLimits?: DBIRateLimit[];
371
- flag?: string;
372
- onExecute?: (ctx) => void;
373
- }): DBIHTMLComponentsV2
374
-
375
- ================================================================================
376
- SECTION 15: INLINE CREATORS
377
- ================================================================================
378
-
379
- createInlineButton(config): DBIButton
380
- createInlineStringSelectMenu(config): DBIStringSelectMenu
381
- createInlineUserSelectMenu(config): DBIUserSelectMenu
382
- createInlineRoleSelectMenu(config): DBIRoleSelectMenu
383
- createInlineChannelSelectMenu(config): DBIChannelSelectMenu
384
- createInlineMentionableSelectMenu(config): DBIMentionableSelectMenu
385
- createInlineModal(config): DBIModal
386
- createInlineEvent(config): DBIEvent
387
-
388
- ================================================================================
389
- SECTION 16: onUnload
390
- ================================================================================
391
-
392
- onUnload(callback: () => void | Promise<void>): void
393
-
394
- ================================================================================
395
- SECTION 17: INTERACTION CLASSES
396
- ================================================================================
397
-
398
- class DBIBaseInteraction {
399
- dbi: DBI;
400
- name: string;
401
- description: string;
402
- type: TDBIInteractionTypes;
403
- options?: any;
404
- other?: Record<string, any>;
405
- rateLimits?: DBIRateLimit[];
406
- flag?: string;
407
- publish?: string;
408
- ttl?: number;
409
- at?: number;
410
-
411
- toJSON(args?: IDBIToJSONArgs): any;
412
- onExecute(ctx: IDBIBaseExecuteCtx): void | Promise<void>;
413
- }
414
-
415
- toJSON OPTIONS:
416
- ---------------
417
- interface IDBIToJSONArgs {
418
- overrides?: Record<string, any>;
419
- reference?: {
420
- data?: any[];
421
- ttl?: number;
422
- };
423
- }
424
-
425
- EXECUTION CONTEXT:
426
- ------------------
427
- interface IDBIBaseExecuteCtx {
428
- interaction: Discord.Interaction;
429
- locale: {
430
- user: DBILocale;
431
- guild?: DBILocale;
432
- };
433
- dbi: DBI;
434
- dbiInteraction: TDBIInteractions;
435
- setRateLimit: (type: TDBIRateLimitTypes, duration: number) => Promise<void>;
436
- other: Record<string, any>;
437
- clientNamespace: string;
438
- v2: boolean;
439
- }
440
-
441
- BUILDER METHODS:
442
- ----------------
443
- const builder = dbi.interaction("my-btn").createBuilder();
444
- builder.setLabel("Label")
445
- .setEmoji("🎉")
446
- .setStyle(Discord.ButtonStyle.Primary)
447
- .setReference(["data"])
448
- .setTTL(60000)
449
- .toJSON();
450
-
451
- const selectBuilder = dbi.interaction("my-select").createBuilder();
452
- selectBuilder.setPlaceholder("Select...")
453
- .setMinValues(1)
454
- .setMaxValues(3)
455
- .setOptions([...])
456
- .toJSON();
457
-
458
- ================================================================================
459
- SECTION 18: EVENT CLASSES
460
- ================================================================================
461
-
462
- class DBIEvent {
463
- type: "Event";
464
- id?: string;
465
- name: string;
466
- other?: Record<string, any>;
467
- triggerType?: "OneByOne" | "OneByOneGlobal" | "Random" | "First";
468
- ordered?: TDBIEventOrder;
469
- dbi: DBI;
470
- disabled: boolean;
471
- flag?: string;
472
- ttl?: number;
473
- at?: number;
474
-
475
- toggle(disabled?: boolean): this;
476
- onExecute(ctx): void | Promise<void>;
477
- }
478
-
479
- EVENTS CLASS:
480
- -------------
481
- class Events {
482
- on(
483
- eventName: TDBIEventNames,
484
- handler: (data: any) => boolean | Promise<boolean>,
485
- options?: { once: boolean }
486
- ): () => void; // Returns unsubscribe function
487
-
488
- trigger(
489
- name: TDBIEventNames,
490
- data?: any,
491
- ignoreResponse?: boolean
492
- ): Promise<boolean>;
493
- }
494
-
495
- DBI EVENT NAMES:
496
- ----------------
497
- "beforeInteraction" | "afterInteraction" | "interactionRateLimit"
498
- "beforeEvent" | "afterEvent" | "interactionError" | "eventError"
499
- "messageCommandArgumentError" | "messageCommandDirectMessageUsageError"
500
- "messageCommandDefaultMemberPermissionsError" | "clientsReady"
501
-
502
- ================================================================================
503
- SECTION 19: LOCALE CLASSES
504
- ================================================================================
505
-
506
- class DBILocale {
507
- name: TDBILocaleString;
508
- data: InfinitePathProxy; // Auto-callable nested object
509
- _data: Record<string, any>; // Raw data
510
- dbi: DBI;
511
- flag?: string;
512
-
513
- mergeLocale(locale: DBILocale): DBILocale;
514
- get(path: string): string | null;
515
- format(path: string, ...args: any[]): string;
516
- }
517
-
518
- USAGE:
519
- ------
520
- locale.data.greeting(); // "Hello!"
521
- locale.data.welcome("John"); // "Welcome, John!"
522
- locale.data.nested.path("a", "b"); // "a and b"
523
- locale.get("greeting"); // "Hello!"
524
- locale.format("welcome", "John"); // "Welcome, John!"
525
-
526
- ================================================================================
527
- SECTION 20: UTILITY FUNCTIONS
528
- ================================================================================
529
-
530
- const { Utils } = require("@mostfeatured/dbi");
531
-
532
- await Utils.recursiveImport(path: string): Promise<void>
533
- Utils.parseCustomId(dbi, customId: string): { name, data, v2 }
534
- Utils.buildCustomId(dbi, name, data, ttl?, v2?): string
535
- Utils.unloadModule(path: string): void
536
- Utils.recursiveUnload(path: string): void
537
-
538
- MEMORYSTORE:
539
- ------------
540
- class MemoryStore {
541
- async get(key: string, defaultValue?: any): Promise<any>
542
- async set(key: string, value: any): Promise<void>
543
- async delete(key: string): Promise<void>
544
- async has(key: string): Promise<boolean>
545
- }
546
-
547
- ================================================================================
548
- SECTION 21: TYPES
549
- ================================================================================
550
-
551
- RATE LIMIT TYPES:
552
- -----------------
553
- type TDBIRateLimitTypes = "User" | "Channel" | "Guild" | "Member" | "Message";
554
-
555
- interface DBIRateLimit {
556
- type: TDBIRateLimitTypes;
557
- duration: number;
558
- }
559
-
560
- INTERACTION TYPES:
561
- ------------------
562
- type TDBIInteractionTypes =
563
- | "ChatInput" | "UserContextMenu" | "MessageContextMenu"
564
- | "Modal" | "Autocomplete" | "StringSelectMenu" | "UserSelectMenu"
565
- | "ChannelSelectMenu" | "MentionableSelectMenu" | "RoleSelectMenu"
566
- | "Button" | "HTMLComponentsV2";
567
-
568
- LOCALE STRINGS:
569
- ---------------
570
- type TDBILocaleString =
571
- | "en" | "bg" | "zh" | "hr" | "cs" | "da" | "nl"
572
- | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it"
573
- | "ja" | "ko" | "no" | "pl" | "pt" | "ro" | "ru"
574
- | "es" | "sv" | "th" | "tr" | "uk" | "vi";
575
-
576
- STORE INTERFACE:
577
- ----------------
578
- interface DBIStore {
579
- get(key: string, defaultValue?: any): Promise<any>;
580
- set(key: string, value: any): Promise<void>;
581
- delete(key: string): Promise<void>;
582
- has(key: string): Promise<boolean>;
583
- }
584
-
585
- CLIENT DATA:
586
- ------------
587
- interface TDBIClientData {
588
- namespace: string;
589
- token: string;
590
- options: Discord.ClientOptions;
591
- client: Discord.Client<true>;
592
- }
593
-
594
- interface ClientsArray extends Array<TDBIClientData> {
595
- next(key?: string): TDBIClientData;
596
- random(): TDBIClientData;
597
- random(size: number): TDBIClientData[];
598
- first(): TDBIClientData;
599
- get(namespace: string): TDBIClientData;
600
- indexes: Record<string, number>;
601
- }
602
-
603
- REFERENCED DATA:
604
- ----------------
605
- type TDBIReferencedData =
606
- | string
607
- | number
608
- | {
609
- [key: string]: any;
610
- $ref: string;
611
- $unRef(): boolean;
612
- };
613
-
614
- ================================================================================
615
- SECTION 22: HTMLCOMPONENTSV2 (SVELTE) METHODS
616
- ================================================================================
617
-
618
- class DBIHTMLComponentsV2 {
619
- async send(
620
- target: Discord.Interaction | Discord.TextChannel,
621
- options?: {
622
- data?: Record<string, any>;
623
- flags?: string[];
624
- content?: string;
625
- ephemeral?: boolean;
626
- reply?: boolean;
627
- followUp?: boolean;
628
- }
629
- ): Promise<void>
630
-
631
- destroy(refId: string): void
632
- destroyAll(): void
633
- toJSON(args?: { data?: Record<string, any> }): object
634
- }
635
-
636
- SVELTE GLOBALS:
637
- ---------------
638
- let { prop1, prop2 } = $props();
639
- const data: Record<string, any>;
640
-
641
- function render(): void;
642
- function update(): Promise<void>;
643
- function rerender(): Promise<void>;
644
- function noRender(): void;
645
- function setThrottle(ms: number): void;
646
-
647
- function onMount(callback: () => void | (() => void)): void;
648
- function onDestroy(callback: () => void): void;
649
- function destroy(): void;
650
-
651
- interface HandlerContext {
652
- interaction: Discord.ButtonInteraction | Discord.SelectMenuInteraction;
653
- dbi: DBI;
654
- locale: { user: DBILocale; guild?: DBILocale };
655
- }
656
-
657
- ================================================================================
658
- END OF DOCUMENT
659
- ================================================================================