bakit 3.0.1 → 3.1.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/dist/index.d.cts CHANGED
@@ -2,19 +2,36 @@ import { Cluster, ClusterEvents, ClusterOptions, Shard, ShardEvents, ShardOption
2
2
  import { BaseRESTEvents, DEFAULT_REST_OPTIONS, DiscordHTTPError, DiscordHTTPErrorRequest, DiscordHTTPFlattenedError, DiscordHTTPValidationError, REST, RESTAdapter, RESTAdapterEvents, RESTEndpoint, RESTEvents, RESTLike, RESTLike as RESTLike$1, RESTMethod, RESTOptions, RESTProxyOptions, RESTRequestFn, RESTRequestOptions, createREST, createRESTAdapter } from "@bakit/rest";
3
3
  import { RPCHandler, Service, ServiceClientRuntime, ServiceDriver, ServiceOptions, ServiceProcess, ServiceProcessEvents, ServiceServerRuntime, ServiceState, TransportClient, TransportClientEvents, TransportServer, TransportServerEvents, createService, createTransportClient, createTransportServer } from "@bakit/service";
4
4
  import * as _bakit_utils0 from "@bakit/utils";
5
- import { AbstractConstructor, Awaitable, Constructor, FunctionLike, Promisify, PromisifyValue, RejectFn, ResolveFn, capitalize, instanceToObject, isCommonJS, isESM, isPlainObject, isPromiseLike, promisify, sleep } from "@bakit/utils";
5
+ import { AbstractConstructor, Awaitable, Awaitable as Awaitable$1, Constructor, FunctionLike, Promisify, PromisifyValue, RejectFn, ResolveFn, capitalize, instanceToObject, isCommonJS, isESM, isPlainObject, isPromiseLike, promisify, sleep } from "@bakit/utils";
6
6
  import EventEmitter from "node:events";
7
- import { Collection } from "@discordjs/collection";
8
7
  import * as discord_api_types_v100 from "discord-api-types/v10";
9
- import { APIAllowedMentions, APIChannel, APIChannelBase, APIEmbed, APIGuild, APIGuildVoiceChannel, APIMessage, APIMessageReference, APITextBasedChannel, APIUser, ChannelType, GatewayChannelCreateDispatchData, GatewayChannelUpdateDispatchData, GatewayDispatchPayload, GatewayGuildCreateDispatchData, GatewayGuildUpdateDispatchData, GatewayIntentBits, GatewayIntentBits as Intent, GatewayMessageCreateDispatchData, GatewayMessageUpdateDispatchData, GatewayReadyDispatchData, GatewayReceivePayload } from "discord-api-types/v10";
8
+ import { APIAllowedMentions, APIChannel, APIChannelBase, APIDMChannel, APIEmbed, APIGuild, APIGuildVoiceChannel, APIMessage, APIMessageReference, APITextBasedChannel, APIUser, ChannelType, GatewayChannelCreateDispatchData, GatewayChannelUpdateDispatchData, GatewayDispatchPayload, GatewayGuildCreateDispatchData, GatewayGuildUpdateDispatchData, GatewayIntentBits, GatewayIntentBits as Intent, GatewayMessageCreateDispatchData, GatewayMessageUpdateDispatchData, GatewayReadyDispatchData, GatewayReceivePayload } from "discord-api-types/v10";
9
+ import { Collection } from "@discordjs/collection";
10
10
 
11
11
  //#region src/lib/structures/BaseStructure.d.ts
12
12
  declare class BaseStructure {
13
- client: Client;
14
- constructor(client: Client);
13
+ client: Client<true>;
14
+ constructor(client: Client<true>);
15
15
  toJSON(): {};
16
16
  }
17
17
  //#endregion
18
+ //#region src/lib/structures/Guild.d.ts
19
+ type GuildPayload = APIGuild | GatewayGuildUpdateDispatchData | GatewayGuildCreateDispatchData;
20
+ declare class Guild extends BaseStructure {
21
+ #private;
22
+ data: GuildPayload;
23
+ readonly channels: Collection<string, Channel>;
24
+ constructor(client: Client, data: GuildPayload);
25
+ get id(): string;
26
+ get name(): string;
27
+ get icon(): string | null;
28
+ get banner(): string | null;
29
+ get owner(): string;
30
+ get mfaLevel(): discord_api_types_v100.GuildMFALevel;
31
+ get verificationLevel(): discord_api_types_v100.GuildVerificationLevel;
32
+ _patch(data: Partial<GuildPayload>): void;
33
+ }
34
+ //#endregion
18
35
  //#region src/lib/structures/channel/GuildTextChannel.d.ts
19
36
  declare const GuildTextChannel_base: (abstract new (client: Client, data: APITextBasedChannel<ChannelType.GuildText>) => BaseChannel<APITextBasedChannel<ChannelType.GuildText>>) & (abstract new (...args: any[]) => {
20
37
  get guildId(): string;
@@ -26,11 +43,13 @@ declare const GuildTextChannel_base: (abstract new (client: Client, data: APITex
26
43
  toJSON(): discord_api_types_v100.APIGuildChannel<discord_api_types_v100.GuildChannelType>;
27
44
  isTextBased(): this is TextBasedChannel;
28
45
  isVoiceBased(): this is VoiceBasedChannel;
46
+ isDM(): this is DMChannel;
29
47
  inGuild(): this is GuildChannel;
48
+ fetch(): Promise< /*elided*/any>;
30
49
  _patch(data: Partial<discord_api_types_v100.APIGuildChannel<discord_api_types_v100.GuildChannelType>>): void;
31
- client: Client;
50
+ client: Client<true>;
32
51
  }) & _bakit_utils0.AbstractConstructor<BaseChannel<discord_api_types_v100.APIGuildChannel<discord_api_types_v100.GuildChannelType>>> & (abstract new (...args: any[]) => {
33
- send(options: MessageCreateOptions): Promise<discord_api_types_v100.APIMessage>;
52
+ send(options: MessageCreateOptions | string): Promise<Message<boolean>>;
34
53
  data: APITextBasedChannel<ChannelType>;
35
54
  get id(): string;
36
55
  get type(): ChannelType;
@@ -38,9 +57,11 @@ declare const GuildTextChannel_base: (abstract new (client: Client, data: APITex
38
57
  toJSON(): APITextBasedChannel<ChannelType>;
39
58
  isTextBased(): this is TextBasedChannel;
40
59
  isVoiceBased(): this is VoiceBasedChannel;
60
+ isDM(): this is DMChannel;
41
61
  inGuild(): this is GuildChannel;
62
+ fetch(): Promise< /*elided*/any>;
42
63
  _patch(data: Partial<APITextBasedChannel<ChannelType>>): void;
43
- client: Client;
64
+ client: Client<true>;
44
65
  }) & _bakit_utils0.AbstractConstructor<BaseChannel<APITextBasedChannel<ChannelType>>>;
45
66
  declare class GuildTextChannel extends GuildTextChannel_base {}
46
67
  //#endregion
@@ -55,11 +76,13 @@ declare const GuildVoiceChannel_base: (abstract new (client: Client, data: APIGu
55
76
  toJSON(): discord_api_types_v100.APIGuildChannel<discord_api_types_v100.GuildChannelType>;
56
77
  isTextBased(): this is TextBasedChannel;
57
78
  isVoiceBased(): this is VoiceBasedChannel;
79
+ isDM(): this is DMChannel;
58
80
  inGuild(): this is GuildChannel;
81
+ fetch(): Promise< /*elided*/any>;
59
82
  _patch(data: Partial<discord_api_types_v100.APIGuildChannel<discord_api_types_v100.GuildChannelType>>): void;
60
- client: Client;
83
+ client: Client<true>;
61
84
  }) & _bakit_utils0.AbstractConstructor<BaseChannel<discord_api_types_v100.APIGuildChannel<discord_api_types_v100.GuildChannelType>>> & (abstract new (...args: any[]) => {
62
- send(options: MessageCreateOptions): Promise<discord_api_types_v100.APIMessage>;
85
+ send(options: MessageCreateOptions | string): Promise<Message<boolean>>;
63
86
  data: discord_api_types_v100.APITextBasedChannel<discord_api_types_v100.ChannelType>;
64
87
  get id(): string;
65
88
  get type(): discord_api_types_v100.ChannelType;
@@ -67,9 +90,11 @@ declare const GuildVoiceChannel_base: (abstract new (client: Client, data: APIGu
67
90
  toJSON(): discord_api_types_v100.APITextBasedChannel<discord_api_types_v100.ChannelType>;
68
91
  isTextBased(): this is TextBasedChannel;
69
92
  isVoiceBased(): this is VoiceBasedChannel;
93
+ isDM(): this is DMChannel;
70
94
  inGuild(): this is GuildChannel;
95
+ fetch(): Promise< /*elided*/any>;
71
96
  _patch(data: Partial<discord_api_types_v100.APITextBasedChannel<discord_api_types_v100.ChannelType>>): void;
72
- client: Client;
97
+ client: Client<true>;
73
98
  }) & _bakit_utils0.AbstractConstructor<BaseChannel<discord_api_types_v100.APITextBasedChannel<discord_api_types_v100.ChannelType>>> & (abstract new (...args: any[]) => {
74
99
  data: discord_api_types_v100.APIVoiceChannelBase<discord_api_types_v100.GuildChannelType>;
75
100
  get id(): string;
@@ -78,18 +103,20 @@ declare const GuildVoiceChannel_base: (abstract new (client: Client, data: APIGu
78
103
  toJSON(): discord_api_types_v100.APIVoiceChannelBase<discord_api_types_v100.GuildChannelType>;
79
104
  isTextBased(): this is TextBasedChannel;
80
105
  isVoiceBased(): this is VoiceBasedChannel;
106
+ isDM(): this is DMChannel;
81
107
  inGuild(): this is GuildChannel;
108
+ fetch(): Promise< /*elided*/any>;
82
109
  _patch(data: Partial<discord_api_types_v100.APIVoiceChannelBase<discord_api_types_v100.GuildChannelType>>): void;
83
- client: Client;
110
+ client: Client<true>;
84
111
  }) & _bakit_utils0.AbstractConstructor<BaseChannel<discord_api_types_v100.APIVoiceChannelBase<discord_api_types_v100.GuildChannelType>>>;
85
112
  declare class GuildVoiceChannel extends GuildVoiceChannel_base {}
86
113
  //#endregion
87
114
  //#region src/lib/structures/channel/BaseChannel.d.ts
88
115
  type BaseChannelPayload = APIChannelBase<ChannelType> | GatewayChannelCreateDispatchData | GatewayChannelUpdateDispatchData | APIChannel;
89
- type TextBasedChannel = GuildTextChannel | GuildVoiceChannel;
116
+ type TextBasedChannel = GuildTextChannel | GuildVoiceChannel | DMChannel;
90
117
  type VoiceBasedChannel = GuildVoiceChannel;
91
118
  type GuildChannel = GuildTextChannel | GuildVoiceChannel;
92
- type Channel = TextBasedChannel | VoiceBasedChannel | GuildChannel;
119
+ type Channel = TextBasedChannel | VoiceBasedChannel | GuildChannel | BaseChannel<BaseChannelPayload>;
93
120
  declare abstract class BaseChannel<D extends BaseChannelPayload> extends BaseStructure {
94
121
  data: D;
95
122
  constructor(client: Client, data: D);
@@ -99,25 +126,71 @@ declare abstract class BaseChannel<D extends BaseChannelPayload> extends BaseStr
99
126
  toJSON(): D;
100
127
  isTextBased(): this is TextBasedChannel;
101
128
  isVoiceBased(): this is VoiceBasedChannel;
129
+ isDM(): this is DMChannel;
102
130
  inGuild(): this is GuildChannel;
131
+ fetch(): Promise<this>;
103
132
  _patch(data: Partial<D>): void;
104
133
  }
105
134
  //#endregion
106
- //#region src/lib/structures/Guild.d.ts
107
- type GuildPayload = APIGuild | GatewayGuildUpdateDispatchData | GatewayGuildCreateDispatchData;
108
- declare class Guild extends BaseStructure {
109
- data: GuildPayload;
110
- private cachedChannels;
111
- constructor(client: Client, data: GuildPayload);
135
+ //#region src/lib/client/ClientHelper.d.ts
136
+ interface MessageCreateOptions {
137
+ content?: string;
138
+ tts?: boolean;
139
+ embeds?: APIEmbed[];
140
+ allowedMentions?: APIAllowedMentions;
141
+ messageReference?: APIMessageReference;
142
+ flags?: number;
143
+ }
144
+ type MessageReplyOptions = Omit<MessageCreateOptions, "messageReference">;
145
+ type MessageEditOptions = Omit<MessageCreateOptions, "messageReference">;
146
+ declare class ClientHelper {
147
+ readonly client: Client;
148
+ constructor(client: Client);
149
+ fetchUser(userId: string, force?: boolean): Promise<User>;
150
+ createDM(userId: string, force?: boolean): Promise<DMChannel>;
151
+ fetchMessage(channelId: string, messageId: string, force?: boolean): Promise<Message<boolean>>;
152
+ deleteMessage(channelId: string, messageId: string): Promise<void>;
153
+ createMessage(channelId: string, options: MessageCreateOptions | string): Promise<Message<boolean>>;
154
+ editMessage(channelId: string, messageId: string, options: MessageEditOptions | string): Promise<Message<boolean>>;
155
+ replyMessage(channelId: string, messageId: string, options: MessageReplyOptions): Promise<Message<boolean>>;
156
+ fetchGuild(guildId: string, force?: boolean): Promise<Guild>;
157
+ fetchChannel<C extends Channel>(channelId: string, force?: boolean): Promise<C>;
158
+ static toAPICreateMessagePayload(options: MessageCreateOptions): {
159
+ content: string | undefined;
160
+ tts: boolean | undefined;
161
+ embeds: APIEmbed[] | undefined;
162
+ allowed_mentions: APIAllowedMentions | undefined;
163
+ message_reference: APIMessageReference | undefined;
164
+ flags: number | undefined;
165
+ };
166
+ }
167
+ //#endregion
168
+ //#region src/lib/structures/channel/DMChannel.d.ts
169
+ declare const DMChannel_base: (abstract new (client: Client, data: APIDMChannel) => BaseChannel<APIDMChannel>) & (abstract new (...args: any[]) => {
170
+ send(options: MessageCreateOptions | string): Promise<Message<boolean>>;
171
+ data: discord_api_types_v100.APITextBasedChannel<discord_api_types_v100.ChannelType>;
112
172
  get id(): string;
113
- get name(): string;
114
- get icon(): string | null;
115
- get banner(): string | null;
116
- get owner(): string;
117
- get mfaLevel(): discord_api_types_v100.GuildMFALevel;
118
- get verificationLevel(): discord_api_types_v100.GuildVerificationLevel;
119
- get channels(): Collection<string, Channel>;
120
- _patch(data: Partial<GuildPayload>): void;
173
+ get type(): discord_api_types_v100.ChannelType;
174
+ toString(): string;
175
+ toJSON(): discord_api_types_v100.APITextBasedChannel<discord_api_types_v100.ChannelType>;
176
+ isTextBased(): this is TextBasedChannel;
177
+ isVoiceBased(): this is VoiceBasedChannel;
178
+ isDM(): this is DMChannel;
179
+ inGuild(): this is GuildChannel;
180
+ fetch(): Promise< /*elided*/any>;
181
+ _patch(data: Partial<discord_api_types_v100.APITextBasedChannel<discord_api_types_v100.ChannelType>>): void;
182
+ client: Client<true>;
183
+ }) & _bakit_utils0.AbstractConstructor<BaseChannel<discord_api_types_v100.APITextBasedChannel<discord_api_types_v100.ChannelType>>>;
184
+ declare class DMChannel extends DMChannel_base {
185
+ #private;
186
+ constructor(client: Client, data: APIDMChannel);
187
+ get recipients(): Collection<string, User>;
188
+ get recipientId(): string;
189
+ get recipient(): User;
190
+ fetch(): Promise<this>;
191
+ send(options: MessageCreateOptions | string): Promise<Message<false>>;
192
+ fetchRecipients(force?: boolean): Promise<Collection<string, User> | undefined>;
193
+ _patch(data: Partial<APIDMChannel>): void;
121
194
  }
122
195
  //#endregion
123
196
  //#region src/lib/structures/User.d.ts
@@ -156,60 +229,55 @@ declare class User extends BaseStructure {
156
229
  extension?: "png" | "jpg" | "webp" | "gif";
157
230
  }): string;
158
231
  equals(other: User | string): boolean;
232
+ createDM(force?: boolean): Promise<DMChannel>;
233
+ send(options: MessageCreateOptions | string): Promise<Message<false>>;
234
+ _patch(data: Partial<UserPayload>): void;
159
235
  toJSON(): APIUser;
160
236
  toString(): string;
161
237
  }
162
238
  //#endregion
163
- //#region src/lib/client/ClientHelper.d.ts
164
- interface MessageCreateOptions {
165
- content?: string;
166
- tts?: boolean;
167
- embeds?: APIEmbed[];
168
- allowedMentions?: APIAllowedMentions;
169
- messageReference?: APIMessageReference;
170
- flags?: number;
171
- }
172
- type MessageReplyOptions = Omit<MessageCreateOptions, "messageReference">;
173
- declare class ClientHelper {
174
- readonly client: Client;
175
- constructor(client: Client);
176
- fetchMessage(channelId: string, messageId: string): Promise<Message>;
177
- deleteMessage(channelId: string, messageId: string): Promise<unknown>;
178
- createMessage(channelId: string, options: MessageCreateOptions): Promise<APIMessage>;
179
- replyMessage(channelId: string, messageId: string, options: MessageReplyOptions): Promise<APIMessage>;
180
- fetchGuild(guildId: string): Promise<Guild>;
181
- static toAPICreateMessagePayload(options: MessageCreateOptions): {
182
- content: string | undefined;
183
- tts: boolean | undefined;
184
- embeds: APIEmbed[] | undefined;
185
- allowed_mentions: APIAllowedMentions | undefined;
186
- message_reference: APIMessageReference | undefined;
187
- flags: number | undefined;
188
- };
189
- }
190
- //#endregion
191
239
  //#region src/lib/structures/Message.d.ts
192
240
  type MessagePayload = APIMessage | GatewayMessageCreateDispatchData | GatewayMessageUpdateDispatchData;
193
- declare class Message extends BaseStructure {
241
+ declare class Message<InGuild extends boolean = boolean> extends BaseStructure {
242
+ #private;
194
243
  data: MessagePayload;
195
- protected cachedAuthor?: User;
196
244
  constructor(client: Client, data: MessagePayload);
197
245
  get partial(): boolean;
198
246
  get content(): string;
199
247
  get id(): string;
200
248
  get channelId(): string;
201
- get channel(): TextBasedChannel;
202
- get guildId(): string | undefined;
203
- get guild(): Guild | undefined;
249
+ get channel(): InGuild extends true ? TextBasedChannel & GuildChannel : TextBasedChannel;
250
+ get guildId(): InGuild extends true ? string : undefined;
251
+ get guild(): InGuild extends true ? Guild : undefined;
252
+ /**
253
+ * The author of this message.
254
+ *
255
+ * **Note:** This property returns the cached `User` synchronously.
256
+ * It may be stale if the users cache has short lifetime or uses an asynchronous remote store.
257
+ * To ensure the author is up-to-date, use the `fetchAuthor()` method instead.
258
+ */
204
259
  get author(): User;
205
260
  get createdAt(): Date;
206
261
  get editedAt(): Date | undefined;
207
262
  get createdTimestamp(): number;
208
263
  get editedTimestamp(): number | undefined;
209
264
  get url(): string;
265
+ inGuild(): this is Message<true>;
210
266
  fetch(): Promise<Message>;
211
- reply(options: MessageReplyOptions): Promise<APIMessage>;
212
- sendToChannel(options: MessageReplyOptions): Promise<APIMessage>;
267
+ /**
268
+ * Fetches the author of this message from cache or Discord API.
269
+ *
270
+ * **Note:** It is recommended to use this method instead of the `author` property
271
+ * if the users cache has short lifetime or is backed by an asynchronous remote cache.
272
+ *
273
+ * @param force - Whether to bypass the cache and force a request to the API.
274
+ * @returns A promise that resolves to the `User` who authored this message.
275
+ */
276
+ fetchAuthor(force?: boolean): Promise<User>;
277
+ reply(options: MessageReplyOptions): Promise<Message<boolean>>;
278
+ sendToChannel(options: MessageReplyOptions): Promise<Message<boolean>>;
279
+ edit(options: MessageEditOptions | string): Promise<Message<boolean>>;
280
+ _patch(data: Partial<MessagePayload>): Promise<void>;
213
281
  toJSON(): MessagePayload;
214
282
  toString(): string;
215
283
  }
@@ -233,12 +301,83 @@ declare class IntentsBitField {
233
301
  toString(): string;
234
302
  }
235
303
  //#endregion
304
+ //#region src/lib/utils/cache/adapters/BaseCacheAdapter.d.ts
305
+ declare abstract class BaseCacheAdapter<Key, Value> {
306
+ abstract get(key: Key): Awaitable$1<Value | undefined>;
307
+ abstract set(key: Key, value: Value, ttl?: number): Awaitable$1<void>;
308
+ abstract delete(key: Key): Awaitable$1<void>;
309
+ abstract clear(): Awaitable$1<void>;
310
+ abstract has(key: Key): Awaitable$1<boolean>;
311
+ abstract sweep(filter: (data: Value) => boolean): Awaitable$1<void>;
312
+ }
313
+ //#endregion
314
+ //#region src/lib/utils/cache/adapters/LocalCacheAdapter.d.ts
315
+ interface LocalCacheTTLEntry<Value> {
316
+ value: Value;
317
+ expiresAt?: number;
318
+ }
319
+ declare class LocalCacheAdapter<Key, Value> extends BaseCacheAdapter<Key, Value> {
320
+ #private;
321
+ collection: Collection<Key, LocalCacheTTLEntry<Value>>;
322
+ get(key: Key): Value | undefined;
323
+ set(key: Key, value: Value, ttl?: number): void;
324
+ delete(key: Key): void;
325
+ clear(): void;
326
+ has(key: Key): boolean;
327
+ find(filter: (data: Value) => boolean): Value | undefined;
328
+ sweep(filter: (data: Value) => boolean): void;
329
+ sweepTTL(): void;
330
+ }
331
+ //#endregion
332
+ //#region src/lib/utils/cache/HybridCache.d.ts
333
+ declare class HybridCache<Key, Value> {
334
+ remote?: BaseCacheAdapter<Key, Value> | undefined;
335
+ defaultTTL?: number | undefined;
336
+ local: LocalCacheAdapter<Key, Value>;
337
+ constructor(remote?: BaseCacheAdapter<Key, Value> | undefined, defaultTTL?: number | undefined);
338
+ get(key: Key): Promise<Value | undefined>;
339
+ sweep(filter: (data: Value) => boolean): Promise<void>;
340
+ set(key: Key, value: Value, ttl?: number | undefined): Promise<void>;
341
+ delete(key: Key): Promise<void>;
342
+ clear(): Promise<void>;
343
+ has(key: Key): Promise<boolean>;
344
+ }
345
+ //#endregion
346
+ //#region src/lib/client/ClientCacheManager.d.ts
347
+ interface ClientCacheManagerOptions {
348
+ users?: ClientModuleCacheOptions<User> | boolean;
349
+ messages?: ClientModuleCacheOptions<Message> | boolean;
350
+ }
351
+ interface ClientModuleCacheOptions<Value> {
352
+ enabled: boolean;
353
+ adapter?: BaseCacheAdapter<string, Value>;
354
+ ttl?: number;
355
+ sweeper?: ClientModuleCacheSweeperOptions<Value>;
356
+ }
357
+ interface ClientModuleCacheSweeperOptions<Value> {
358
+ interval: number;
359
+ filter: (data: Value) => boolean;
360
+ }
361
+ declare class ClientCacheManager {
362
+ #private;
363
+ options: ClientCacheManagerOptions;
364
+ channels: LocalCacheAdapter<string, Channel>;
365
+ guilds: LocalCacheAdapter<string, Guild>;
366
+ constructor(options: ClientCacheManagerOptions);
367
+ get users(): HybridCache<string, User>;
368
+ get messages(): HybridCache<string, Message<boolean>>;
369
+ isModuleEnabled(module: keyof ClientCacheManagerOptions): boolean;
370
+ resolve<Value>(cache: HybridCache<string, Value> | LocalCacheAdapter<string, Value>, id: string, factory: () => Value, patch?: (value: Value) => void): Promise<Value>;
371
+ resolveLocal<Value>(cache: LocalCacheAdapter<string, Value>, id: string, factory: () => Value, patch?: (value: Value) => void): Value;
372
+ }
373
+ //#endregion
236
374
  //#region src/lib/client/Client.d.ts
237
375
  interface ClientOptions {
238
376
  token: string;
239
377
  intents: IntentResolvable | IntentsBitField;
240
378
  sharding?: ClientShardingOptions;
241
379
  partials?: Partial$1[];
380
+ cache?: ClientCacheManagerOptions;
242
381
  }
243
382
  type ClientShardingOptions = Omit<ShardingManagerOptions$1, "token" | "intents">;
244
383
  interface ClientEvents {
@@ -248,11 +387,7 @@ interface ClientEvents {
248
387
  raw: [shardId: number, payload: GatewayReceivePayload];
249
388
  messageCreate: [message: Message];
250
389
  messageUpdate: [message: Message];
251
- messageDelete: [message: {
252
- id: string;
253
- channelId: string;
254
- guildId?: string;
255
- }];
390
+ messageDelete: [message: Message];
256
391
  userUpdate: [user: User];
257
392
  guildCreate: [guild: Guild];
258
393
  guildAvailable: [guild: Guild];
@@ -262,7 +397,7 @@ interface ClientEvents {
262
397
  channelUpdate: [channel: Channel];
263
398
  channelDelete: [channel: Channel];
264
399
  }
265
- declare class Client extends EventEmitter<ClientEvents> {
400
+ declare class Client<Ready extends boolean = boolean> extends EventEmitter<ClientEvents> {
266
401
  #private;
267
402
  readonly options: Omit<Required<ClientOptions>, "partials" | "intents"> & {
268
403
  partials: Set<Partial$1>;
@@ -271,12 +406,12 @@ declare class Client extends EventEmitter<ClientEvents> {
271
406
  readonly shards: ShardingManager$1;
272
407
  readonly rest: RESTLike$1;
273
408
  readonly helper: ClientHelper;
274
- readonly guilds: Collection<string, Guild>;
409
+ readonly cache: ClientCacheManager;
275
410
  constructor(options: ClientOptions, rest?: RESTLike$1);
276
- get user(): User | undefined;
411
+ get user(): Ready extends true ? User : User | undefined;
277
412
  login(): Promise<void>;
278
413
  }
279
- declare function createClient(options: ClientOptions): Client;
414
+ declare function createClient(options: ClientOptions): Client<boolean>;
280
415
  //#endregion
281
- export { type AbstractConstructor, type Awaitable, BaseChannel, BaseChannelPayload, type BaseRESTEvents, Channel, Client, ClientEvents, ClientHelper, ClientOptions, ClientShardingOptions, Cluster, type ClusterEvents, type ClusterOptions, type Constructor, DEFAULT_REST_OPTIONS, discord_api_types_v100 as DiscordAPIV10, DiscordHTTPError, type DiscordHTTPErrorRequest, type DiscordHTTPFlattenedError, type DiscordHTTPValidationError, type FunctionLike, Guild, GuildChannel, GuildPayload, GuildTextChannel, GuildVoiceChannel, Intent, IntentResolvable, IntentsBitField, Message, MessageCreateOptions, MessagePayload, MessageReplyOptions, Partial$1 as Partial, type Promisify, type PromisifyValue, REST, RESTAdapter, type RESTAdapterEvents, type RESTEndpoint, type RESTEvents, type RESTLike, RESTMethod, type RESTOptions, type RESTProxyOptions, type RESTRequestFn, type RESTRequestOptions, type RPCHandler, type RejectFn, type ResolveFn, Service, type ServiceClientRuntime, ServiceDriver, type ServiceOptions, ServiceProcess, type ServiceProcessEvents, type ServiceServerRuntime, ServiceState, Shard, type ShardEvents, type ShardOptions, ShardState, ShardStrategy, ShardingManager, type ShardingManagerEvents, type ShardingManagerOptions, TextBasedChannel, TransportClient, type TransportClientEvents, TransportServer, type TransportServerEvents, User, UserPayload, VoiceBasedChannel, capitalize, createClient, createREST, createRESTAdapter, createService, createTransportClient, createTransportServer, instanceToObject, isCommonJS, isESM, isPlainObject, isPromiseLike, promisify, sleep };
416
+ export { type AbstractConstructor, type Awaitable, BaseCacheAdapter, BaseChannel, BaseChannelPayload, type BaseRESTEvents, Channel, Client, ClientEvents, ClientHelper, ClientOptions, ClientShardingOptions, Cluster, type ClusterEvents, type ClusterOptions, type Constructor, DEFAULT_REST_OPTIONS, discord_api_types_v100 as DiscordAPIV10, DiscordHTTPError, type DiscordHTTPErrorRequest, type DiscordHTTPFlattenedError, type DiscordHTTPValidationError, type FunctionLike, Guild, GuildChannel, GuildPayload, GuildTextChannel, GuildVoiceChannel, HybridCache, Intent, IntentResolvable, IntentsBitField, LocalCacheAdapter, LocalCacheTTLEntry, Message, MessageCreateOptions, MessageEditOptions, MessagePayload, MessageReplyOptions, Partial$1 as Partial, type Promisify, type PromisifyValue, REST, RESTAdapter, type RESTAdapterEvents, type RESTEndpoint, type RESTEvents, type RESTLike, RESTMethod, type RESTOptions, type RESTProxyOptions, type RESTRequestFn, type RESTRequestOptions, type RPCHandler, type RejectFn, type ResolveFn, Service, type ServiceClientRuntime, ServiceDriver, type ServiceOptions, ServiceProcess, type ServiceProcessEvents, type ServiceServerRuntime, ServiceState, Shard, type ShardEvents, type ShardOptions, ShardState, ShardStrategy, ShardingManager, type ShardingManagerEvents, type ShardingManagerOptions, TextBasedChannel, TransportClient, type TransportClientEvents, TransportServer, type TransportServerEvents, User, UserPayload, VoiceBasedChannel, capitalize, createClient, createREST, createRESTAdapter, createService, createTransportClient, createTransportServer, instanceToObject, isCommonJS, isESM, isPlainObject, isPromiseLike, promisify, sleep };
282
417
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/lib/structures/BaseStructure.ts","../src/lib/structures/channel/GuildTextChannel.ts","../src/lib/structures/channel/GuildVoiceChannel.ts","../src/lib/structures/channel/BaseChannel.ts","../src/lib/structures/Guild.ts","../src/lib/structures/User.ts","../src/lib/client/ClientHelper.ts","../src/lib/structures/Message.ts","../src/lib/client/Partial.ts","../src/lib/utils/IntentsBitField.ts","../src/lib/client/Client.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/lib/structures/BaseStructure.ts","../src/lib/structures/Guild.ts","../src/lib/structures/channel/GuildTextChannel.ts","../src/lib/structures/channel/GuildVoiceChannel.ts","../src/lib/structures/channel/BaseChannel.ts","../src/lib/client/ClientHelper.ts","../src/lib/structures/channel/DMChannel.ts","../src/lib/structures/User.ts","../src/lib/structures/Message.ts","../src/lib/client/Partial.ts","../src/lib/utils/IntentsBitField.ts","../src/lib/utils/cache/adapters/BaseCacheAdapter.ts","../src/lib/utils/cache/adapters/LocalCacheAdapter.ts","../src/lib/utils/cache/HybridCache.ts","../src/lib/client/ClientCacheManager.ts","../src/lib/client/Client.ts"],"mappings":"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"}