@stoatx/client 0.8.0 → 0.9.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
@@ -1,11 +1,12 @@
1
1
  import { EventEmitter } from 'events';
2
- import { APIRoutes, File, User as User$1, Member as Member$1, Channel, Message as Message$1, Role as Role$1, Invite, ServerBan as ServerBan$1, Server as Server$1, Emoji as Emoji$1, Category, Embed } from 'stoat-api';
2
+ import { APIRoutes, File, User as User$1, FieldsUser, Member as Member$1, Channel, FieldsChannel, Message as Message$1, Role as Role$1, FieldsRole, Invite, ServerBan as ServerBan$1, Server as Server$1, Emoji as Emoji$1, AuditLogEntryAction, AuditLogEntry as AuditLogEntry$1, Category, FieldsServer, FieldsMember, Embed } from 'stoat-api';
3
3
  import * as stoatApi from 'stoat-api';
4
4
  export { stoatApi as API };
5
5
  import * as util from 'node:util';
6
6
  import util__default from 'node:util';
7
7
  import { Readable } from 'node:stream';
8
8
  import { EventEmitter as EventEmitter$1 } from 'node:events';
9
+ export { decodeTime } from 'ulid';
9
10
 
10
11
  declare class GatewayManager {
11
12
  private client;
@@ -186,8 +187,11 @@ declare class User extends Base {
186
187
  flags?: number;
187
188
  privileged?: boolean;
188
189
  status?: UserStatus | null;
190
+ createdAt: Date;
191
+ createdTimestamp: number;
192
+ pronouns?: string | null;
189
193
  constructor(client: Client, data: User$1);
190
- _patch(data: User$1, clear?: string[]): void;
194
+ _patch(data: User$1, clear?: FieldsUser[]): void;
191
195
  /**
192
196
  * Convenience getter to return the user's tag (username#discriminator)
193
197
  */
@@ -243,8 +247,9 @@ declare class Collection<K, V> extends Map<K, V> {
243
247
  /**
244
248
  * @template K The type of the cache keys (usually string)
245
249
  * @template Holds The type of the Structure this manager holds
250
+ * @template RawData The raw API/gateway payload shape used to construct/patch `Holds`
246
251
  */
247
- declare abstract class BaseManager<K, Holds> {
252
+ declare abstract class BaseManager<K, Holds, RawData = unknown> {
248
253
  cache: Collection<K, Holds>;
249
254
  client: Client;
250
255
  protected constructor(client: Client, limit?: number);
@@ -252,17 +257,18 @@ declare abstract class BaseManager<K, Holds> {
252
257
  * Defines how to extract the unique ID from a raw API payload.
253
258
  * @internal
254
259
  */
255
- protected abstract extractId(data: any): K;
260
+ protected abstract extractId(data: RawData): K;
256
261
  /**
257
262
  * Defines how to construct a new instance of the Structure.
258
263
  * @internal
259
264
  */
260
- protected abstract construct(data: any): Holds;
265
+ protected abstract construct(data: RawData): Holds;
261
266
  /**
262
267
  * Transforms raw data into a Structure, patches if existing, and saves to cache.
263
268
  * @internal
264
269
  */
265
- _add(data: any): Holds;
270
+ _add(data: RawData): Holds;
271
+ private isPatchable;
266
272
  }
267
273
 
268
274
  type MemberResolvable = Member | User | string;
@@ -280,7 +286,7 @@ interface FetchMembersOptions {
280
286
  /** Whether to exclude offline users from the fetch */
281
287
  excludeOffline?: boolean;
282
288
  }
283
- declare class MemberManager extends BaseManager<string, Member> {
289
+ declare class MemberManager extends BaseManager<string, Member, Member$1> {
284
290
  server: Server;
285
291
  constructor(client: Client, server: Server, limit?: number);
286
292
  /**
@@ -581,8 +587,10 @@ declare class GroupChannel extends BaseChannel {
581
587
  icon: Attachment | null;
582
588
  lastMessageId?: string | null;
583
589
  nsfw: boolean;
590
+ createdAt: Date;
591
+ createdTimestamp: number;
584
592
  constructor(client: Client, data: RawGroupChannel);
585
- _patch(data: RawGroupChannel, clear?: string[]): void;
593
+ _patch(data: RawGroupChannel, clear?: FieldsChannel[]): void;
586
594
  /** Gets the User object of the person who owns this group */
587
595
  get owner(): User | undefined;
588
596
  /** Resolves the recipient IDs into an array of cached User objects */
@@ -608,7 +616,7 @@ interface UserEditOptions {
608
616
  profile?: UserProfile;
609
617
  status?: UserStatus;
610
618
  }
611
- declare class UserManager extends BaseManager<string, User> {
619
+ declare class UserManager extends BaseManager<string, User, User$1> {
612
620
  constructor(client: Client, limit?: number);
613
621
  /**
614
622
  * Tell BaseManager how to find the ID for Users
@@ -711,7 +719,7 @@ interface MessageFetchOptions {
711
719
  nearby?: string;
712
720
  includeUsers?: boolean;
713
721
  }
714
- declare class MessageManager extends BaseManager<string, Message> {
722
+ declare class MessageManager extends BaseManager<string, Message, Message$1> {
715
723
  channel: BaseChannel;
716
724
  constructor(client: Client, channel: BaseChannel, limit?: number);
717
725
  /**
@@ -821,7 +829,7 @@ interface ChannelRolePermissionOptions {
821
829
  allow?: PermissionResolvable;
822
830
  deny?: PermissionResolvable;
823
831
  }
824
- declare class ChannelManager extends BaseManager<string, BaseChannel> {
832
+ declare class ChannelManager extends BaseManager<string, BaseChannel, Channel> {
825
833
  /**
826
834
  * Manages API methods and caching for all channels globally.
827
835
  * @param client The active Client instance.
@@ -949,8 +957,10 @@ declare class TextChannel extends BaseChannel {
949
957
  nsfw?: boolean;
950
958
  slowmode?: number;
951
959
  voice?: any;
960
+ createdAt: Date;
961
+ createdTimestamp: number;
952
962
  constructor(client: Client, data: RawTextChannel);
953
- _patch(data: RawTextChannel, clear?: string[]): void;
963
+ _patch(data: RawTextChannel, clear?: FieldsChannel[]): void;
954
964
  /**
955
965
  * Updates the permission overrides for the channel.
956
966
  * @param roleId The raw string ID of the role to update.
@@ -1352,12 +1362,14 @@ declare class Role extends Base {
1352
1362
  rank: number;
1353
1363
  icon: Attachment | null;
1354
1364
  private _permissions;
1365
+ createdAt: Date;
1366
+ createdTimestamp: number;
1355
1367
  constructor(client: Client, data: Role$1, serverId: string);
1356
1368
  /**
1357
1369
  * Updates the role instance with new data without losing the object reference.
1358
1370
  * @internal
1359
1371
  */
1360
- _patch(data: Role$1): void;
1372
+ _patch(data: Role$1, clear?: FieldsRole[]): void;
1361
1373
  /**
1362
1374
  * The server this role belongs to.
1363
1375
  * Pulls dynamically from the cache to prevent massive memory duplication.
@@ -1507,7 +1519,7 @@ interface RolePermissionOptions {
1507
1519
  deny?: PermissionResolvable;
1508
1520
  }
1509
1521
  type RoleResolvable = Role | string;
1510
- declare class RoleManager extends BaseManager<string, Role> {
1522
+ declare class RoleManager extends BaseManager<string, Role, Role$1> {
1511
1523
  server: Server;
1512
1524
  /**
1513
1525
  * Manages API methods and caching for server roles.
@@ -1647,7 +1659,7 @@ declare class ServerInvite {
1647
1659
  _patch(data: Invite): void;
1648
1660
  }
1649
1661
 
1650
- declare class ServerInviteManager extends BaseManager<string, ServerInvite> {
1662
+ declare class ServerInviteManager extends BaseManager<string, ServerInvite, Invite> {
1651
1663
  server: Server;
1652
1664
  constructor(client: Client, server: Server, limit?: number);
1653
1665
  protected extractId(data: Invite): string;
@@ -1665,11 +1677,11 @@ declare class ServerBan {
1665
1677
  _patch(data: ServerBan$1): void;
1666
1678
  }
1667
1679
 
1668
- declare class ServerBanManager extends BaseManager<string, ServerBan> {
1680
+ declare class ServerBanManager extends BaseManager<string, ServerBan, ServerBan$1> {
1669
1681
  server: Server;
1670
1682
  constructor(client: Client, server: Server, limit?: number);
1671
- protected extractId(data: any): string;
1672
- protected construct(data: any): ServerBan;
1683
+ protected extractId(data: ServerBan$1): string;
1684
+ protected construct(data: ServerBan$1): ServerBan;
1673
1685
  /**
1674
1686
  * Fetches all bans in this server.
1675
1687
  * Automatically caches the associated User objects globally!
@@ -1702,7 +1714,7 @@ interface ServerEditOptions {
1702
1714
  analytics?: boolean;
1703
1715
  owner?: string;
1704
1716
  }
1705
- declare class ServerManager extends BaseManager<string, Server> {
1717
+ declare class ServerManager extends BaseManager<string, Server, Server$1> {
1706
1718
  constructor(client: Client, limit?: number);
1707
1719
  /**
1708
1720
  * Tell BaseManager how to find the ID for Servers
@@ -1732,6 +1744,8 @@ declare class Emoji extends Base {
1732
1744
  creatorId: string;
1733
1745
  name: string;
1734
1746
  parent: EmojiParent;
1747
+ createdAt: Date;
1748
+ createdTimestamp: number;
1735
1749
  animated: boolean;
1736
1750
  nsfw: boolean;
1737
1751
  constructor(client: Client, data: Emoji$1);
@@ -1776,7 +1790,7 @@ interface EmojiEditOptions {
1776
1790
  name: string;
1777
1791
  }
1778
1792
  type EmojiResolvable = string | Emoji;
1779
- declare class EmojiManager extends BaseManager<string, Emoji> {
1793
+ declare class EmojiManager extends BaseManager<string, Emoji, Emoji$1> {
1780
1794
  server?: Server | undefined;
1781
1795
  constructor(client: Client, server?: Server | undefined, limit?: number);
1782
1796
  /**
@@ -1842,6 +1856,40 @@ declare class EmojiManager extends BaseManager<string, Emoji> {
1842
1856
  [util.inspect.custom](): Collection<string, Emoji>;
1843
1857
  }
1844
1858
 
1859
+ declare class AuditLogEntry extends Base {
1860
+ serverId: string;
1861
+ userId: string;
1862
+ targetId: string | null;
1863
+ reason: string | null;
1864
+ action: AuditLogEntryAction;
1865
+ constructor(client: Client, data: AuditLogEntry$1);
1866
+ /** The action tag, e.g. "ChannelEdit" — narrow `entry.action` on this. */
1867
+ get type(): AuditLogEntryAction["type"];
1868
+ get server(): Server | undefined;
1869
+ /** The user who performed this action, if cached. */
1870
+ get executor(): User | undefined;
1871
+ /**
1872
+ * Best-effort resolve of `targetId` into the actual entity, picked by
1873
+ * `action.type` since a bare id alone doesn't say whether it's a member,
1874
+ * a role, a channel, etc.
1875
+ */
1876
+ get target(): User | Member | unknown | undefined;
1877
+ /**
1878
+ * Customizer for Node.js `console.log` and `util.inspect`.
1879
+ * Hides the cyclic client reference for a cleaner output.
1880
+ * @internal
1881
+ */
1882
+ [util.inspect.custom](): string;
1883
+ }
1884
+
1885
+ interface FetchAuditLogsOptions {
1886
+ user?: string;
1887
+ target?: string;
1888
+ type?: string[];
1889
+ before?: string;
1890
+ after?: string;
1891
+ limit?: number;
1892
+ }
1845
1893
  declare class Server extends Base {
1846
1894
  channelIds: string[];
1847
1895
  defaultPermissions: bigint;
@@ -1861,11 +1909,13 @@ declare class Server extends Base {
1861
1909
  bans: ServerBanManager;
1862
1910
  invites: ServerInviteManager;
1863
1911
  emojis: EmojiManager;
1912
+ createdAt: Date;
1913
+ createdTimestamp: number;
1864
1914
  constructor(client: Client, data: Server$1);
1865
1915
  /**
1866
1916
  * Updates the server instance with new data without losing the object reference.
1867
1917
  */
1868
- _patch(data: Server$1, clear?: string[]): void;
1918
+ _patch(data: Server$1, clear?: FieldsServer[]): void;
1869
1919
  /**
1870
1920
  * Edits this server.
1871
1921
  * @param options The fields to update.
@@ -1875,6 +1925,11 @@ declare class Server extends Base {
1875
1925
  * Leaves the server
1876
1926
  */
1877
1927
  leave(): Promise<never>;
1928
+ /**
1929
+ * Fetch audit logs for this server
1930
+ * @param options Query params
1931
+ */
1932
+ fetchAuditLogs(options?: FetchAuditLogsOptions): Promise<Collection<string, AuditLogEntry>>;
1878
1933
  /**
1879
1934
  * Fetches multiple members from this server.
1880
1935
  * @param options Filter options for the fetch request.
@@ -1928,12 +1983,14 @@ declare class Member extends Base {
1928
1983
  /** @internal */
1929
1984
  private _roles;
1930
1985
  joinedAt: Date;
1986
+ joinedTimestamp: number;
1931
1987
  timeout: Date | null;
1932
1988
  canPublish: boolean;
1933
1989
  canRecieve: boolean;
1934
1990
  roles: MemberRoleManager;
1991
+ pronouns?: string | null;
1935
1992
  constructor(client: Client, data: Member$1, serverId?: string);
1936
- _patch(data: Member$1): void;
1993
+ _patch(data: Member$1, clear?: FieldsMember[]): void;
1937
1994
  /**
1938
1995
  * Get member role IDs
1939
1996
  */
@@ -2135,7 +2192,8 @@ declare class Message extends Base {
2135
2192
  embeds: Embed[] | null;
2136
2193
  attachments: Attachment[];
2137
2194
  editedAt: Date | null;
2138
- createdAt: Date | null;
2195
+ createdAt: Date;
2196
+ createdTimestamp: number;
2139
2197
  flags: number;
2140
2198
  interactions: Interaction | null;
2141
2199
  masquerade: Masquerade | null;
@@ -2339,4 +2397,4 @@ declare class UnknownChannel extends BaseChannel {
2339
2397
  constructor(client: Client, data: Channel);
2340
2398
  }
2341
2399
 
2342
- export { Attachment, AttachmentBuilder, type AttachmentMetadata, AudioPlayer, type AudioPlayerEvents, type AudioPlayerStatus, AudioResource, type AudioResourceOptions, type AudioSource, Base, BaseChannel, BitField, type BitFieldResolvable, type BotInformation, type CDNTag, type ChannelCreateOptions, type ChannelEditOptions, ChannelManager, type ChannelResolvable, type ChannelRolePermissionOptions, type ChannelType, Client, type ClientEvents, type ClientOptions, ClientUser, Collection, Collector, type CollectorOptions, DMChannel, EmbedBuilder, Emoji, type EmojiCreateOptions, type EmojiEditOptions, EmojiManager, type EmojiParent, type EmojiResolvable, type FetchMembersOptions, GatewayManager, GroupChannel, type Interaction, type Masquerade, Member, type MemberBanOptions, type MemberEditOptions, MemberManager, type MemberResolvable, Message, MessageCollector, type MessageCollectorOptions, type MessageFetchOptions, MessageManager, type MessageOptions, MessageReaction, type MessageResolvable, PermissionFlags, type PermissionResolvable, type PermissionString, Permissions, RESTManager, type RawDMChannel, type RawGroupChannel, type RawTextChannel, ReactionCollector, type ReactionCollectorOptions, type ReplyIntent, Role, type RoleCreateOptions, type RoleEditOptions, RoleManager, type RolePermissionOptions, type RoleResolvable, Server, ServerChannelManager, type ServerEditOptions, ServerManager, StoatAPIError, SweeperManager, type SweeperOptions, TextChannel, type TextEmbedData, UnknownChannel, User, type UserEditOptions, UserManager, type UserPresence, type UserProfile, type UserRelationShip, type UserResolvable, type UserStatus, VoiceConnection, type VoiceConnectionEvents, type VoiceConnectionStatus, VoiceManager };
2400
+ export { Attachment, AttachmentBuilder, type AttachmentMetadata, AudioPlayer, type AudioPlayerEvents, type AudioPlayerStatus, AudioResource, type AudioResourceOptions, type AudioSource, Base, BaseChannel, BitField, type BitFieldResolvable, type BotInformation, type CDNTag, type ChannelCreateOptions, type ChannelEditOptions, ChannelManager, type ChannelResolvable, type ChannelRolePermissionOptions, type ChannelType, Client, type ClientEvents, type ClientOptions, ClientUser, Collection, Collector, type CollectorOptions, DMChannel, EmbedBuilder, Emoji, type EmojiCreateOptions, type EmojiEditOptions, EmojiManager, type EmojiParent, type EmojiResolvable, type FetchAuditLogsOptions, type FetchMembersOptions, GatewayManager, GroupChannel, type Interaction, type Masquerade, Member, type MemberBanOptions, type MemberEditOptions, MemberManager, type MemberResolvable, Message, MessageCollector, type MessageCollectorOptions, type MessageFetchOptions, MessageManager, type MessageOptions, MessageReaction, type MessageResolvable, PermissionFlags, type PermissionResolvable, type PermissionString, Permissions, RESTManager, type RawDMChannel, type RawGroupChannel, type RawTextChannel, ReactionCollector, type ReactionCollectorOptions, type ReplyIntent, Role, type RoleCreateOptions, type RoleEditOptions, RoleManager, type RolePermissionOptions, type RoleResolvable, Server, ServerChannelManager, type ServerEditOptions, ServerManager, StoatAPIError, SweeperManager, type SweeperOptions, TextChannel, type TextEmbedData, UnknownChannel, User, type UserEditOptions, UserManager, type UserPresence, type UserProfile, type UserRelationShip, type UserResolvable, type UserStatus, VoiceConnection, type VoiceConnectionEvents, type VoiceConnectionStatus, VoiceManager };
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { EventEmitter } from 'events';
2
- import { APIRoutes, File, User as User$1, Member as Member$1, Channel, Message as Message$1, Role as Role$1, Invite, ServerBan as ServerBan$1, Server as Server$1, Emoji as Emoji$1, Category, Embed } from 'stoat-api';
2
+ import { APIRoutes, File, User as User$1, FieldsUser, Member as Member$1, Channel, FieldsChannel, Message as Message$1, Role as Role$1, FieldsRole, Invite, ServerBan as ServerBan$1, Server as Server$1, Emoji as Emoji$1, AuditLogEntryAction, AuditLogEntry as AuditLogEntry$1, Category, FieldsServer, FieldsMember, Embed } from 'stoat-api';
3
3
  import * as stoatApi from 'stoat-api';
4
4
  export { stoatApi as API };
5
5
  import * as util from 'node:util';
6
6
  import util__default from 'node:util';
7
7
  import { Readable } from 'node:stream';
8
8
  import { EventEmitter as EventEmitter$1 } from 'node:events';
9
+ export { decodeTime } from 'ulid';
9
10
 
10
11
  declare class GatewayManager {
11
12
  private client;
@@ -186,8 +187,11 @@ declare class User extends Base {
186
187
  flags?: number;
187
188
  privileged?: boolean;
188
189
  status?: UserStatus | null;
190
+ createdAt: Date;
191
+ createdTimestamp: number;
192
+ pronouns?: string | null;
189
193
  constructor(client: Client, data: User$1);
190
- _patch(data: User$1, clear?: string[]): void;
194
+ _patch(data: User$1, clear?: FieldsUser[]): void;
191
195
  /**
192
196
  * Convenience getter to return the user's tag (username#discriminator)
193
197
  */
@@ -243,8 +247,9 @@ declare class Collection<K, V> extends Map<K, V> {
243
247
  /**
244
248
  * @template K The type of the cache keys (usually string)
245
249
  * @template Holds The type of the Structure this manager holds
250
+ * @template RawData The raw API/gateway payload shape used to construct/patch `Holds`
246
251
  */
247
- declare abstract class BaseManager<K, Holds> {
252
+ declare abstract class BaseManager<K, Holds, RawData = unknown> {
248
253
  cache: Collection<K, Holds>;
249
254
  client: Client;
250
255
  protected constructor(client: Client, limit?: number);
@@ -252,17 +257,18 @@ declare abstract class BaseManager<K, Holds> {
252
257
  * Defines how to extract the unique ID from a raw API payload.
253
258
  * @internal
254
259
  */
255
- protected abstract extractId(data: any): K;
260
+ protected abstract extractId(data: RawData): K;
256
261
  /**
257
262
  * Defines how to construct a new instance of the Structure.
258
263
  * @internal
259
264
  */
260
- protected abstract construct(data: any): Holds;
265
+ protected abstract construct(data: RawData): Holds;
261
266
  /**
262
267
  * Transforms raw data into a Structure, patches if existing, and saves to cache.
263
268
  * @internal
264
269
  */
265
- _add(data: any): Holds;
270
+ _add(data: RawData): Holds;
271
+ private isPatchable;
266
272
  }
267
273
 
268
274
  type MemberResolvable = Member | User | string;
@@ -280,7 +286,7 @@ interface FetchMembersOptions {
280
286
  /** Whether to exclude offline users from the fetch */
281
287
  excludeOffline?: boolean;
282
288
  }
283
- declare class MemberManager extends BaseManager<string, Member> {
289
+ declare class MemberManager extends BaseManager<string, Member, Member$1> {
284
290
  server: Server;
285
291
  constructor(client: Client, server: Server, limit?: number);
286
292
  /**
@@ -581,8 +587,10 @@ declare class GroupChannel extends BaseChannel {
581
587
  icon: Attachment | null;
582
588
  lastMessageId?: string | null;
583
589
  nsfw: boolean;
590
+ createdAt: Date;
591
+ createdTimestamp: number;
584
592
  constructor(client: Client, data: RawGroupChannel);
585
- _patch(data: RawGroupChannel, clear?: string[]): void;
593
+ _patch(data: RawGroupChannel, clear?: FieldsChannel[]): void;
586
594
  /** Gets the User object of the person who owns this group */
587
595
  get owner(): User | undefined;
588
596
  /** Resolves the recipient IDs into an array of cached User objects */
@@ -608,7 +616,7 @@ interface UserEditOptions {
608
616
  profile?: UserProfile;
609
617
  status?: UserStatus;
610
618
  }
611
- declare class UserManager extends BaseManager<string, User> {
619
+ declare class UserManager extends BaseManager<string, User, User$1> {
612
620
  constructor(client: Client, limit?: number);
613
621
  /**
614
622
  * Tell BaseManager how to find the ID for Users
@@ -711,7 +719,7 @@ interface MessageFetchOptions {
711
719
  nearby?: string;
712
720
  includeUsers?: boolean;
713
721
  }
714
- declare class MessageManager extends BaseManager<string, Message> {
722
+ declare class MessageManager extends BaseManager<string, Message, Message$1> {
715
723
  channel: BaseChannel;
716
724
  constructor(client: Client, channel: BaseChannel, limit?: number);
717
725
  /**
@@ -821,7 +829,7 @@ interface ChannelRolePermissionOptions {
821
829
  allow?: PermissionResolvable;
822
830
  deny?: PermissionResolvable;
823
831
  }
824
- declare class ChannelManager extends BaseManager<string, BaseChannel> {
832
+ declare class ChannelManager extends BaseManager<string, BaseChannel, Channel> {
825
833
  /**
826
834
  * Manages API methods and caching for all channels globally.
827
835
  * @param client The active Client instance.
@@ -949,8 +957,10 @@ declare class TextChannel extends BaseChannel {
949
957
  nsfw?: boolean;
950
958
  slowmode?: number;
951
959
  voice?: any;
960
+ createdAt: Date;
961
+ createdTimestamp: number;
952
962
  constructor(client: Client, data: RawTextChannel);
953
- _patch(data: RawTextChannel, clear?: string[]): void;
963
+ _patch(data: RawTextChannel, clear?: FieldsChannel[]): void;
954
964
  /**
955
965
  * Updates the permission overrides for the channel.
956
966
  * @param roleId The raw string ID of the role to update.
@@ -1352,12 +1362,14 @@ declare class Role extends Base {
1352
1362
  rank: number;
1353
1363
  icon: Attachment | null;
1354
1364
  private _permissions;
1365
+ createdAt: Date;
1366
+ createdTimestamp: number;
1355
1367
  constructor(client: Client, data: Role$1, serverId: string);
1356
1368
  /**
1357
1369
  * Updates the role instance with new data without losing the object reference.
1358
1370
  * @internal
1359
1371
  */
1360
- _patch(data: Role$1): void;
1372
+ _patch(data: Role$1, clear?: FieldsRole[]): void;
1361
1373
  /**
1362
1374
  * The server this role belongs to.
1363
1375
  * Pulls dynamically from the cache to prevent massive memory duplication.
@@ -1507,7 +1519,7 @@ interface RolePermissionOptions {
1507
1519
  deny?: PermissionResolvable;
1508
1520
  }
1509
1521
  type RoleResolvable = Role | string;
1510
- declare class RoleManager extends BaseManager<string, Role> {
1522
+ declare class RoleManager extends BaseManager<string, Role, Role$1> {
1511
1523
  server: Server;
1512
1524
  /**
1513
1525
  * Manages API methods and caching for server roles.
@@ -1647,7 +1659,7 @@ declare class ServerInvite {
1647
1659
  _patch(data: Invite): void;
1648
1660
  }
1649
1661
 
1650
- declare class ServerInviteManager extends BaseManager<string, ServerInvite> {
1662
+ declare class ServerInviteManager extends BaseManager<string, ServerInvite, Invite> {
1651
1663
  server: Server;
1652
1664
  constructor(client: Client, server: Server, limit?: number);
1653
1665
  protected extractId(data: Invite): string;
@@ -1665,11 +1677,11 @@ declare class ServerBan {
1665
1677
  _patch(data: ServerBan$1): void;
1666
1678
  }
1667
1679
 
1668
- declare class ServerBanManager extends BaseManager<string, ServerBan> {
1680
+ declare class ServerBanManager extends BaseManager<string, ServerBan, ServerBan$1> {
1669
1681
  server: Server;
1670
1682
  constructor(client: Client, server: Server, limit?: number);
1671
- protected extractId(data: any): string;
1672
- protected construct(data: any): ServerBan;
1683
+ protected extractId(data: ServerBan$1): string;
1684
+ protected construct(data: ServerBan$1): ServerBan;
1673
1685
  /**
1674
1686
  * Fetches all bans in this server.
1675
1687
  * Automatically caches the associated User objects globally!
@@ -1702,7 +1714,7 @@ interface ServerEditOptions {
1702
1714
  analytics?: boolean;
1703
1715
  owner?: string;
1704
1716
  }
1705
- declare class ServerManager extends BaseManager<string, Server> {
1717
+ declare class ServerManager extends BaseManager<string, Server, Server$1> {
1706
1718
  constructor(client: Client, limit?: number);
1707
1719
  /**
1708
1720
  * Tell BaseManager how to find the ID for Servers
@@ -1732,6 +1744,8 @@ declare class Emoji extends Base {
1732
1744
  creatorId: string;
1733
1745
  name: string;
1734
1746
  parent: EmojiParent;
1747
+ createdAt: Date;
1748
+ createdTimestamp: number;
1735
1749
  animated: boolean;
1736
1750
  nsfw: boolean;
1737
1751
  constructor(client: Client, data: Emoji$1);
@@ -1776,7 +1790,7 @@ interface EmojiEditOptions {
1776
1790
  name: string;
1777
1791
  }
1778
1792
  type EmojiResolvable = string | Emoji;
1779
- declare class EmojiManager extends BaseManager<string, Emoji> {
1793
+ declare class EmojiManager extends BaseManager<string, Emoji, Emoji$1> {
1780
1794
  server?: Server | undefined;
1781
1795
  constructor(client: Client, server?: Server | undefined, limit?: number);
1782
1796
  /**
@@ -1842,6 +1856,40 @@ declare class EmojiManager extends BaseManager<string, Emoji> {
1842
1856
  [util.inspect.custom](): Collection<string, Emoji>;
1843
1857
  }
1844
1858
 
1859
+ declare class AuditLogEntry extends Base {
1860
+ serverId: string;
1861
+ userId: string;
1862
+ targetId: string | null;
1863
+ reason: string | null;
1864
+ action: AuditLogEntryAction;
1865
+ constructor(client: Client, data: AuditLogEntry$1);
1866
+ /** The action tag, e.g. "ChannelEdit" — narrow `entry.action` on this. */
1867
+ get type(): AuditLogEntryAction["type"];
1868
+ get server(): Server | undefined;
1869
+ /** The user who performed this action, if cached. */
1870
+ get executor(): User | undefined;
1871
+ /**
1872
+ * Best-effort resolve of `targetId` into the actual entity, picked by
1873
+ * `action.type` since a bare id alone doesn't say whether it's a member,
1874
+ * a role, a channel, etc.
1875
+ */
1876
+ get target(): User | Member | unknown | undefined;
1877
+ /**
1878
+ * Customizer for Node.js `console.log` and `util.inspect`.
1879
+ * Hides the cyclic client reference for a cleaner output.
1880
+ * @internal
1881
+ */
1882
+ [util.inspect.custom](): string;
1883
+ }
1884
+
1885
+ interface FetchAuditLogsOptions {
1886
+ user?: string;
1887
+ target?: string;
1888
+ type?: string[];
1889
+ before?: string;
1890
+ after?: string;
1891
+ limit?: number;
1892
+ }
1845
1893
  declare class Server extends Base {
1846
1894
  channelIds: string[];
1847
1895
  defaultPermissions: bigint;
@@ -1861,11 +1909,13 @@ declare class Server extends Base {
1861
1909
  bans: ServerBanManager;
1862
1910
  invites: ServerInviteManager;
1863
1911
  emojis: EmojiManager;
1912
+ createdAt: Date;
1913
+ createdTimestamp: number;
1864
1914
  constructor(client: Client, data: Server$1);
1865
1915
  /**
1866
1916
  * Updates the server instance with new data without losing the object reference.
1867
1917
  */
1868
- _patch(data: Server$1, clear?: string[]): void;
1918
+ _patch(data: Server$1, clear?: FieldsServer[]): void;
1869
1919
  /**
1870
1920
  * Edits this server.
1871
1921
  * @param options The fields to update.
@@ -1875,6 +1925,11 @@ declare class Server extends Base {
1875
1925
  * Leaves the server
1876
1926
  */
1877
1927
  leave(): Promise<never>;
1928
+ /**
1929
+ * Fetch audit logs for this server
1930
+ * @param options Query params
1931
+ */
1932
+ fetchAuditLogs(options?: FetchAuditLogsOptions): Promise<Collection<string, AuditLogEntry>>;
1878
1933
  /**
1879
1934
  * Fetches multiple members from this server.
1880
1935
  * @param options Filter options for the fetch request.
@@ -1928,12 +1983,14 @@ declare class Member extends Base {
1928
1983
  /** @internal */
1929
1984
  private _roles;
1930
1985
  joinedAt: Date;
1986
+ joinedTimestamp: number;
1931
1987
  timeout: Date | null;
1932
1988
  canPublish: boolean;
1933
1989
  canRecieve: boolean;
1934
1990
  roles: MemberRoleManager;
1991
+ pronouns?: string | null;
1935
1992
  constructor(client: Client, data: Member$1, serverId?: string);
1936
- _patch(data: Member$1): void;
1993
+ _patch(data: Member$1, clear?: FieldsMember[]): void;
1937
1994
  /**
1938
1995
  * Get member role IDs
1939
1996
  */
@@ -2135,7 +2192,8 @@ declare class Message extends Base {
2135
2192
  embeds: Embed[] | null;
2136
2193
  attachments: Attachment[];
2137
2194
  editedAt: Date | null;
2138
- createdAt: Date | null;
2195
+ createdAt: Date;
2196
+ createdTimestamp: number;
2139
2197
  flags: number;
2140
2198
  interactions: Interaction | null;
2141
2199
  masquerade: Masquerade | null;
@@ -2339,4 +2397,4 @@ declare class UnknownChannel extends BaseChannel {
2339
2397
  constructor(client: Client, data: Channel);
2340
2398
  }
2341
2399
 
2342
- export { Attachment, AttachmentBuilder, type AttachmentMetadata, AudioPlayer, type AudioPlayerEvents, type AudioPlayerStatus, AudioResource, type AudioResourceOptions, type AudioSource, Base, BaseChannel, BitField, type BitFieldResolvable, type BotInformation, type CDNTag, type ChannelCreateOptions, type ChannelEditOptions, ChannelManager, type ChannelResolvable, type ChannelRolePermissionOptions, type ChannelType, Client, type ClientEvents, type ClientOptions, ClientUser, Collection, Collector, type CollectorOptions, DMChannel, EmbedBuilder, Emoji, type EmojiCreateOptions, type EmojiEditOptions, EmojiManager, type EmojiParent, type EmojiResolvable, type FetchMembersOptions, GatewayManager, GroupChannel, type Interaction, type Masquerade, Member, type MemberBanOptions, type MemberEditOptions, MemberManager, type MemberResolvable, Message, MessageCollector, type MessageCollectorOptions, type MessageFetchOptions, MessageManager, type MessageOptions, MessageReaction, type MessageResolvable, PermissionFlags, type PermissionResolvable, type PermissionString, Permissions, RESTManager, type RawDMChannel, type RawGroupChannel, type RawTextChannel, ReactionCollector, type ReactionCollectorOptions, type ReplyIntent, Role, type RoleCreateOptions, type RoleEditOptions, RoleManager, type RolePermissionOptions, type RoleResolvable, Server, ServerChannelManager, type ServerEditOptions, ServerManager, StoatAPIError, SweeperManager, type SweeperOptions, TextChannel, type TextEmbedData, UnknownChannel, User, type UserEditOptions, UserManager, type UserPresence, type UserProfile, type UserRelationShip, type UserResolvable, type UserStatus, VoiceConnection, type VoiceConnectionEvents, type VoiceConnectionStatus, VoiceManager };
2400
+ export { Attachment, AttachmentBuilder, type AttachmentMetadata, AudioPlayer, type AudioPlayerEvents, type AudioPlayerStatus, AudioResource, type AudioResourceOptions, type AudioSource, Base, BaseChannel, BitField, type BitFieldResolvable, type BotInformation, type CDNTag, type ChannelCreateOptions, type ChannelEditOptions, ChannelManager, type ChannelResolvable, type ChannelRolePermissionOptions, type ChannelType, Client, type ClientEvents, type ClientOptions, ClientUser, Collection, Collector, type CollectorOptions, DMChannel, EmbedBuilder, Emoji, type EmojiCreateOptions, type EmojiEditOptions, EmojiManager, type EmojiParent, type EmojiResolvable, type FetchAuditLogsOptions, type FetchMembersOptions, GatewayManager, GroupChannel, type Interaction, type Masquerade, Member, type MemberBanOptions, type MemberEditOptions, MemberManager, type MemberResolvable, Message, MessageCollector, type MessageCollectorOptions, type MessageFetchOptions, MessageManager, type MessageOptions, MessageReaction, type MessageResolvable, PermissionFlags, type PermissionResolvable, type PermissionString, Permissions, RESTManager, type RawDMChannel, type RawGroupChannel, type RawTextChannel, ReactionCollector, type ReactionCollectorOptions, type ReplyIntent, Role, type RoleCreateOptions, type RoleEditOptions, RoleManager, type RolePermissionOptions, type RoleResolvable, Server, ServerChannelManager, type ServerEditOptions, ServerManager, StoatAPIError, SweeperManager, type SweeperOptions, TextChannel, type TextEmbedData, UnknownChannel, User, type UserEditOptions, UserManager, type UserPresence, type UserProfile, type UserRelationShip, type UserResolvable, type UserStatus, VoiceConnection, type VoiceConnectionEvents, type VoiceConnectionStatus, VoiceManager };