@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.js CHANGED
@@ -449,7 +449,7 @@ var MessageMentions = class _MessageMentions {
449
449
  static parseChannelIds(content) {
450
450
  return [...content.matchAll(/<#([A-Z0-9]+)>/g)].flatMap((m) => m[1] ? [m[1]] : []);
451
451
  }
452
- [util2.inspect.custom](depth, options, inspect12) {
452
+ [util2.inspect.custom](depth, options, inspect13) {
453
453
  const { client, message, ...props } = this;
454
454
  const data = {
455
455
  ...props,
@@ -458,7 +458,7 @@ var MessageMentions = class _MessageMentions {
458
458
  users: this.users,
459
459
  roles: this.roles
460
460
  };
461
- return `${this.constructor.name} ${inspect12(data, { ...options, depth: depth ?? options.depth })}`;
461
+ return `${this.constructor.name} ${inspect13(data, { ...options, depth: depth ?? options.depth })}`;
462
462
  }
463
463
  };
464
464
 
@@ -470,7 +470,8 @@ var Message = class extends Base {
470
470
  embeds = [];
471
471
  attachments = [];
472
472
  editedAt = null;
473
- createdAt = null;
473
+ createdAt;
474
+ createdTimestamp;
474
475
  flags = 0;
475
476
  interactions = null;
476
477
  masquerade = null;
@@ -482,10 +483,9 @@ var Message = class extends Base {
482
483
  super(client, data);
483
484
  this.authorId = data.author;
484
485
  this.channelId = data.channel;
485
- const timestamp = decodeTime(this.id);
486
- if (timestamp) {
487
- this.createdAt = new Date(timestamp);
488
- }
486
+ const timestamp = decodeTime(data._id);
487
+ this.createdAt = new Date(timestamp);
488
+ this.createdTimestamp = timestamp;
489
489
  if (data.attachments) {
490
490
  this.attachments = data.attachments.map((fileData) => new Attachment(this.client, fileData));
491
491
  }
@@ -666,7 +666,7 @@ var Message = class extends Base {
666
666
  }
667
667
  }
668
668
  // This tells Node.js exactly how to print this object in console.log()
669
- [util3.inspect.custom](depth, options, inspect12) {
669
+ [util3.inspect.custom](depth, options, inspect13) {
670
670
  const { client, authorId, channelId, ...props } = this;
671
671
  const data = {
672
672
  ...props,
@@ -675,11 +675,12 @@ var Message = class extends Base {
675
675
  server: this.server,
676
676
  member: this.member
677
677
  };
678
- return `${this.constructor.name} ${inspect12(data, { ...options, depth: depth ?? options.depth })}`;
678
+ return `${this.constructor.name} ${inspect13(data, { ...options, depth: depth ?? options.depth })}`;
679
679
  }
680
680
  };
681
681
 
682
682
  // src/structures/User.ts
683
+ import { decodeTime as decodeTime2 } from "ulid";
683
684
  var User = class extends Base {
684
685
  discriminator;
685
686
  online;
@@ -692,11 +693,17 @@ var User = class extends Base {
692
693
  flags;
693
694
  privileged;
694
695
  status;
696
+ createdAt;
697
+ createdTimestamp;
698
+ pronouns = null;
695
699
  constructor(client, data) {
696
700
  super(client, data);
697
701
  this.bot = false;
698
702
  this.privileged = false;
699
703
  this.flags = 0;
704
+ const timestamp = decodeTime2(data._id);
705
+ this.createdAt = new Date(timestamp);
706
+ this.createdTimestamp = timestamp;
700
707
  this._patch(data);
701
708
  }
702
709
  _patch(data, clear) {
@@ -704,6 +711,7 @@ var User = class extends Base {
704
711
  if (data.discriminator !== void 0) this.discriminator = data.discriminator;
705
712
  if (data.online !== void 0) this.online = data.online;
706
713
  if (data.relationship !== void 0) this.relationship = data.relationship;
714
+ if (data.pronouns !== void 0) this.pronouns = data.pronouns;
707
715
  if (data.display_name !== void 0) this.displayName = data.display_name;
708
716
  if (data.badges !== void 0) this.badges = data.badges;
709
717
  if (data.flags !== void 0) this.flags = data.flags;
@@ -717,9 +725,23 @@ var User = class extends Base {
717
725
  }
718
726
  if (clear && Array.isArray(clear)) {
719
727
  for (const field of clear) {
720
- if (field === "Avatar") this.avatar = null;
721
- if (field === "StatusText" && this.status) this.status.text = null;
722
- if (field === "DisplayName") this.displayName = null;
728
+ switch (field) {
729
+ case "Avatar":
730
+ this.avatar = null;
731
+ break;
732
+ case "DisplayName":
733
+ this.displayName = null;
734
+ break;
735
+ case "Pronouns":
736
+ this.pronouns = null;
737
+ break;
738
+ case "StatusText":
739
+ this.status.text = null;
740
+ break;
741
+ case "StatusPresence":
742
+ this.status.presence = null;
743
+ break;
744
+ }
723
745
  }
724
746
  }
725
747
  }
@@ -835,11 +857,10 @@ var GatewayManager = class {
835
857
  }
836
858
  if (payload.emojis) {
837
859
  for (const rawEmoji of payload.emojis) {
838
- const emoji = this.client.emojis._add(rawEmoji);
839
860
  if (rawEmoji.parent && rawEmoji.parent.type === "Server") {
840
861
  const server = this.client.servers.cache.get(rawEmoji.parent.id);
841
862
  if (server) {
842
- server.emojis._add(emoji);
863
+ server.emojis._add(rawEmoji);
843
864
  }
844
865
  }
845
866
  }
@@ -1017,7 +1038,7 @@ var GatewayManager = class {
1017
1038
  case "ServerMemberJoin": {
1018
1039
  const server = this.client.servers.cache.get(payload.id);
1019
1040
  if (server) {
1020
- const member = server.members._add({ user: payload.user });
1041
+ const member = server.members._add(payload.member);
1021
1042
  this.client.emit("serverMemberJoin", member);
1022
1043
  }
1023
1044
  break;
@@ -1035,7 +1056,7 @@ var GatewayManager = class {
1035
1056
  if (payload.reason === "Ban") {
1036
1057
  if (server) {
1037
1058
  const dummyBanPayload = {
1038
- id: payload.user,
1059
+ _id: payload.user,
1039
1060
  reason: null
1040
1061
  };
1041
1062
  server.bans._add(dummyBanPayload);
@@ -1049,11 +1070,10 @@ var GatewayManager = class {
1049
1070
  break;
1050
1071
  }
1051
1072
  case "EmojiCreate": {
1052
- const emoji = this.client.emojis._add(payload);
1053
1073
  if (payload.parent?.type === "Server") {
1054
1074
  const server = this.client.servers.cache.get(payload.parent.id);
1055
1075
  if (server) {
1056
- server.emojis._add(emoji);
1076
+ server.emojis._add(payload);
1057
1077
  }
1058
1078
  }
1059
1079
  break;
@@ -1453,7 +1473,7 @@ var BaseManager = class {
1453
1473
  _add(data) {
1454
1474
  const id = this.extractId(data);
1455
1475
  const existing = this.cache.get(id);
1456
- if (existing && typeof existing._patch === "function") {
1476
+ if (existing && this.isPatchable(existing)) {
1457
1477
  existing._patch(data);
1458
1478
  return existing;
1459
1479
  }
@@ -1461,6 +1481,9 @@ var BaseManager = class {
1461
1481
  this.cache.set(id, structure);
1462
1482
  return structure;
1463
1483
  }
1484
+ isPatchable(value) {
1485
+ return typeof value._patch === "function";
1486
+ }
1464
1487
  };
1465
1488
 
1466
1489
  // src/builders/AttachmentBuilder.ts
@@ -1904,6 +1927,7 @@ var BaseChannel = class extends Base {
1904
1927
  };
1905
1928
 
1906
1929
  // src/structures/TextChannel.ts
1930
+ import { decodeTime as decodeTime3 } from "ulid";
1907
1931
  var TextChannel = class extends BaseChannel {
1908
1932
  name;
1909
1933
  serverId;
@@ -1914,9 +1938,14 @@ var TextChannel = class extends BaseChannel {
1914
1938
  nsfw;
1915
1939
  slowmode;
1916
1940
  voice;
1941
+ createdAt;
1942
+ createdTimestamp;
1917
1943
  constructor(client, data) {
1918
1944
  super(client, data);
1919
1945
  this.serverId = data.server;
1946
+ const timestamp = decodeTime3(data._id);
1947
+ this.createdTimestamp = timestamp;
1948
+ this.createdAt = new Date(timestamp);
1920
1949
  this.defaultPermissions = data.default_permissions;
1921
1950
  this.description = data.description;
1922
1951
  if (data.icon !== void 0) {
@@ -1941,10 +1970,10 @@ var TextChannel = class extends BaseChannel {
1941
1970
  this.icon = null;
1942
1971
  break;
1943
1972
  case "DefaultPermissions":
1944
- this.defaultPermissions = data.default_permissions;
1973
+ this.defaultPermissions = null;
1945
1974
  break;
1946
1975
  case "Voice":
1947
- this.voice = data.voice;
1976
+ this.voice = null;
1948
1977
  break;
1949
1978
  }
1950
1979
  }
@@ -2139,6 +2168,7 @@ var DMChannel = class extends BaseChannel {
2139
2168
 
2140
2169
  // src/structures/GroupChannel.ts
2141
2170
  import * as util5 from "util";
2171
+ import { decodeTime as decodeTime4 } from "ulid";
2142
2172
  var GroupChannel = class extends BaseChannel {
2143
2173
  name;
2144
2174
  ownerId;
@@ -2147,8 +2177,13 @@ var GroupChannel = class extends BaseChannel {
2147
2177
  icon = null;
2148
2178
  lastMessageId = null;
2149
2179
  nsfw = false;
2180
+ createdAt;
2181
+ createdTimestamp;
2150
2182
  constructor(client, data) {
2151
2183
  super(client, data);
2184
+ const timestamp = decodeTime4(data._id);
2185
+ this.createdAt = new Date(timestamp);
2186
+ this.createdTimestamp = timestamp;
2152
2187
  this._patch(data);
2153
2188
  }
2154
2189
  _patch(data, clear) {
@@ -2164,9 +2199,6 @@ var GroupChannel = class extends BaseChannel {
2164
2199
  if (clear && Array.isArray(clear)) {
2165
2200
  for (const field of clear) {
2166
2201
  switch (field) {
2167
- case "Name":
2168
- this.name = "";
2169
- break;
2170
2202
  case "Description":
2171
2203
  this.description = null;
2172
2204
  break;
@@ -2198,9 +2230,9 @@ var GroupChannel = class extends BaseChannel {
2198
2230
  async setDefaultPermissions(permissions) {
2199
2231
  return await this.client.channels.setDefaultPermissions(this.id, permissions);
2200
2232
  }
2201
- [util5.inspect.custom](_depth, options, inspect12) {
2233
+ [util5.inspect.custom](_depth, options, inspect13) {
2202
2234
  const { client, ...props } = this;
2203
- return `${this.constructor.name} ${inspect12(
2235
+ return `${this.constructor.name} ${inspect13(
2204
2236
  {
2205
2237
  ...props,
2206
2238
  owner: this.owner,
@@ -2847,6 +2879,8 @@ var Member = class extends Base {
2847
2879
  _roles = [];
2848
2880
  // The date the member joined the server
2849
2881
  joinedAt;
2882
+ // The timestamp the member joined the server
2883
+ joinedTimestamp;
2850
2884
  // The date the member's timeout expires, or null if not timed out
2851
2885
  timeout = null;
2852
2886
  // Whatever the user can talk in Voice Chat
@@ -2855,20 +2889,53 @@ var Member = class extends Base {
2855
2889
  canRecieve = false;
2856
2890
  // Member roles manager
2857
2891
  roles;
2892
+ // Member pronouns
2893
+ pronouns = null;
2858
2894
  constructor(client, data, serverId) {
2859
2895
  super(client, { _id: data._id?.user });
2860
2896
  this.serverId = data._id?.server ?? serverId;
2861
- this.joinedAt = new Date(data.joined_at);
2897
+ const timestamp = new Date(data.joined_at);
2898
+ this.joinedAt = timestamp;
2899
+ this.joinedTimestamp = timestamp.getTime();
2862
2900
  this.roles = new MemberRoleManager(this);
2863
2901
  this._patch(data);
2864
2902
  }
2865
- _patch(data) {
2903
+ _patch(data, clear) {
2866
2904
  if (data.nickname !== void 0) this.nickname = data.nickname;
2867
2905
  if (data.avatar !== void 0) this.avatar = data.avatar ? new Attachment(this.client, data.avatar) : null;
2868
2906
  if (data.roles !== void 0) this._roles = data.roles;
2869
2907
  if (data.timeout !== void 0) this.timeout = data.timeout ? new Date(data.timeout) : null;
2870
2908
  if (data.can_publish !== void 0) this.canPublish = data.can_publish;
2871
2909
  if (data.can_receive !== void 0) this.canRecieve = data.can_receive;
2910
+ if (data.pronouns !== void 0) this.pronouns = data.pronouns;
2911
+ if (clear && Array.isArray(clear)) {
2912
+ for (const field of clear) {
2913
+ switch (field) {
2914
+ case "Avatar":
2915
+ this.avatar = null;
2916
+ break;
2917
+ case "Nickname":
2918
+ this.nickname = null;
2919
+ break;
2920
+ case "Pronouns":
2921
+ this.pronouns = null;
2922
+ break;
2923
+ case "CanPublish":
2924
+ this.canPublish = false;
2925
+ break;
2926
+ case "Timeout":
2927
+ this.timeout = null;
2928
+ break;
2929
+ case "Roles":
2930
+ this._roles = [];
2931
+ this.roles = new MemberRoleManager(this);
2932
+ break;
2933
+ case "CanReceive":
2934
+ this.canRecieve = false;
2935
+ break;
2936
+ }
2937
+ }
2938
+ }
2872
2939
  }
2873
2940
  /**
2874
2941
  * Get member role IDs
@@ -2988,9 +3055,9 @@ var Member = class extends Base {
2988
3055
  await server.members.kick(this.id);
2989
3056
  }
2990
3057
  /** @internal */
2991
- [util6.inspect.custom](depth, options, inspect12) {
3058
+ [util6.inspect.custom](depth, options, inspect13) {
2992
3059
  const { client, serverId, ...props } = this;
2993
- return `${this.constructor.name} ${inspect12(
3060
+ return `${this.constructor.name} ${inspect13(
2994
3061
  {
2995
3062
  ...props,
2996
3063
  user: this.user,
@@ -3221,6 +3288,7 @@ var ServerChannelManager = class {
3221
3288
 
3222
3289
  // src/structures/Role.ts
3223
3290
  import * as util9 from "util";
3291
+ import { decodeTime as decodeTime5 } from "ulid";
3224
3292
  var Role = class extends Base {
3225
3293
  serverId;
3226
3294
  name;
@@ -3229,16 +3297,21 @@ var Role = class extends Base {
3229
3297
  rank = 0;
3230
3298
  icon = null;
3231
3299
  _permissions = 0n;
3300
+ createdAt;
3301
+ createdTimestamp;
3232
3302
  constructor(client, data, serverId) {
3233
3303
  super(client, data);
3234
3304
  this.serverId = serverId;
3305
+ const timestamp = decodeTime5(data._id);
3306
+ this.createdAt = new Date(timestamp);
3307
+ this.createdTimestamp = timestamp;
3235
3308
  this._patch(data);
3236
3309
  }
3237
3310
  /**
3238
3311
  * Updates the role instance with new data without losing the object reference.
3239
3312
  * @internal
3240
3313
  */
3241
- _patch(data) {
3314
+ _patch(data, clear) {
3242
3315
  if (data.name !== void 0) this.name = data.name;
3243
3316
  if (data.colour !== void 0) this.color = data.colour;
3244
3317
  if (data.hoist !== void 0) this.hoist = data.hoist;
@@ -3256,6 +3329,18 @@ var Role = class extends Base {
3256
3329
  this._permissions = 0n;
3257
3330
  }
3258
3331
  }
3332
+ if (clear && Array.isArray(clear)) {
3333
+ for (const field of clear) {
3334
+ switch (field) {
3335
+ case "Colour":
3336
+ this.color = null;
3337
+ break;
3338
+ case "Icon":
3339
+ this.icon = null;
3340
+ break;
3341
+ }
3342
+ }
3343
+ }
3259
3344
  }
3260
3345
  /**
3261
3346
  * The server this role belongs to.
@@ -3751,7 +3836,7 @@ var ServerBanManager = class extends BaseManager {
3751
3836
  this.server = server;
3752
3837
  }
3753
3838
  extractId(data) {
3754
- return data._id?.user ?? data.id;
3839
+ return data._id?.user;
3755
3840
  }
3756
3841
  construct(data) {
3757
3842
  return new ServerBan(data);
@@ -3763,11 +3848,6 @@ var ServerBanManager = class extends BaseManager {
3763
3848
  */
3764
3849
  async fetch() {
3765
3850
  const data = await this.client.rest.get(`/servers/${this.server.id}/bans`);
3766
- if (data.users && Array.isArray(data.users)) {
3767
- for (const userData of data.users) {
3768
- this.client.users._add(userData);
3769
- }
3770
- }
3771
3851
  const rawBans = data.bans || (Array.isArray(data) ? data : []);
3772
3852
  const fetched = new Collection();
3773
3853
  for (const rawBan of rawBans) {
@@ -3788,14 +3868,20 @@ var ServerBanManager = class extends BaseManager {
3788
3868
  };
3789
3869
 
3790
3870
  // src/structures/Emoji.ts
3871
+ import { decodeTime as decodeTime6 } from "ulid";
3791
3872
  var Emoji = class extends Base {
3792
3873
  creatorId;
3793
3874
  name;
3794
3875
  parent;
3876
+ createdAt;
3877
+ createdTimestamp;
3795
3878
  animated = false;
3796
3879
  nsfw = false;
3797
3880
  constructor(client, data) {
3798
3881
  super(client, data);
3882
+ const timestamp = decodeTime6(data._id);
3883
+ this.createdAt = new Date(timestamp);
3884
+ this.createdTimestamp = timestamp;
3799
3885
  this._patch(data);
3800
3886
  }
3801
3887
  _patch(data) {
@@ -3973,6 +4059,114 @@ var EmojiManager = class extends BaseManager {
3973
4059
  }
3974
4060
  };
3975
4061
 
4062
+ // src/structures/Server.ts
4063
+ import { decodeTime as decodeTime7 } from "ulid";
4064
+
4065
+ // src/structures/AuditLogEntry.ts
4066
+ import * as util12 from "util";
4067
+ function resolveTargetId(data) {
4068
+ if (data.target) return data.target;
4069
+ const action = data.action;
4070
+ switch (action.type) {
4071
+ case "ChannelCreate":
4072
+ case "ChannelEdit":
4073
+ case "ChannelDelete":
4074
+ case "ChannelRolePermissionsEdit":
4075
+ return action.channel;
4076
+ case "RoleCreate":
4077
+ case "RoleEdit":
4078
+ case "RoleDelete":
4079
+ return action.role;
4080
+ case "InviteCreate":
4081
+ case "InviteDelete":
4082
+ return action.invite;
4083
+ case "WebhookCreate":
4084
+ case "WebhookDelete":
4085
+ return action.webhook;
4086
+ case "EmojiCreate":
4087
+ case "EmojiUpdate":
4088
+ case "EmojiDelete":
4089
+ return action.emoji;
4090
+ case "MessageDelete":
4091
+ return action.channel;
4092
+ case "MessagePin":
4093
+ case "MessageUnpin":
4094
+ return action.message;
4095
+ case "MessageBulkDelete":
4096
+ return action.channel;
4097
+ default:
4098
+ return null;
4099
+ }
4100
+ }
4101
+ var AuditLogEntry = class extends Base {
4102
+ serverId;
4103
+ userId;
4104
+ targetId;
4105
+ reason;
4106
+ action;
4107
+ constructor(client, data) {
4108
+ super(client, data);
4109
+ this.serverId = data.server;
4110
+ this.userId = data.user;
4111
+ this.targetId = resolveTargetId(data);
4112
+ this.reason = data.reason ?? null;
4113
+ this.action = data.action;
4114
+ }
4115
+ /** The action tag, e.g. "ChannelEdit" — narrow `entry.action` on this. */
4116
+ get type() {
4117
+ return this.action.type;
4118
+ }
4119
+ get server() {
4120
+ return this.client.servers.cache.get(this.serverId);
4121
+ }
4122
+ /** The user who performed this action, if cached. */
4123
+ get executor() {
4124
+ return this.client.users.cache.get(this.userId);
4125
+ }
4126
+ /**
4127
+ * Best-effort resolve of `targetId` into the actual entity, picked by
4128
+ * `action.type` since a bare id alone doesn't say whether it's a member,
4129
+ * a role, a channel, etc.
4130
+ */
4131
+ get target() {
4132
+ if (!this.targetId) return void 0;
4133
+ const server = this.server;
4134
+ switch (this.action.type) {
4135
+ case "MemberEdit":
4136
+ case "MemberKick":
4137
+ return server?.members.cache.get(this.targetId);
4138
+ case "BanCreate":
4139
+ case "BanDelete":
4140
+ return this.client.users.cache.get(this.targetId);
4141
+ case "ChannelCreate":
4142
+ case "ChannelEdit":
4143
+ case "ChannelDelete":
4144
+ case "ChannelRolePermissionsEdit":
4145
+ return server?.channels.cache.get(this.targetId);
4146
+ case "RoleCreate":
4147
+ case "RoleEdit":
4148
+ case "RoleDelete":
4149
+ return server?.roles.cache.get(this.targetId);
4150
+ default:
4151
+ return this.targetId;
4152
+ }
4153
+ }
4154
+ /**
4155
+ * Customizer for Node.js `console.log` and `util.inspect`.
4156
+ * Hides the cyclic client reference for a cleaner output.
4157
+ * @internal
4158
+ */
4159
+ [util12.inspect.custom]() {
4160
+ const { client, ...props } = this;
4161
+ return `${this.constructor.name} ${util12.inspect({
4162
+ ...props,
4163
+ type: this.type,
4164
+ executor: this.executor,
4165
+ target: this.target
4166
+ })}`;
4167
+ }
4168
+ };
4169
+
3976
4170
  // src/structures/Server.ts
3977
4171
  var Server = class extends Base {
3978
4172
  channelIds = [];
@@ -3993,6 +4187,8 @@ var Server = class extends Base {
3993
4187
  bans;
3994
4188
  invites;
3995
4189
  emojis;
4190
+ createdAt;
4191
+ createdTimestamp;
3996
4192
  constructor(client, data) {
3997
4193
  super(client, data);
3998
4194
  this.channels = new ServerChannelManager(client, this);
@@ -4001,6 +4197,9 @@ var Server = class extends Base {
4001
4197
  this.bans = new ServerBanManager(this.client, this);
4002
4198
  this.invites = new ServerInviteManager(this.client, this);
4003
4199
  this.emojis = new EmojiManager(this.client, this);
4200
+ const timestamp = decodeTime7(data._id);
4201
+ this.createdAt = new Date(timestamp);
4202
+ this.createdTimestamp = timestamp;
4004
4203
  this._patch(data);
4005
4204
  }
4006
4205
  /**
@@ -4043,6 +4242,12 @@ var Server = class extends Base {
4043
4242
  case "Icon":
4044
4243
  this.icon = null;
4045
4244
  break;
4245
+ case "Banner":
4246
+ this.banner = null;
4247
+ break;
4248
+ case "Categories":
4249
+ this.categories = null;
4250
+ break;
4046
4251
  }
4047
4252
  }
4048
4253
  }
@@ -4061,6 +4266,27 @@ var Server = class extends Base {
4061
4266
  async leave() {
4062
4267
  return this.client.rest.delete(`/servers/${this.id}/leave`);
4063
4268
  }
4269
+ /**
4270
+ * Fetch audit logs for this server
4271
+ * @param options Query params
4272
+ */
4273
+ async fetchAuditLogs(options) {
4274
+ const query = {};
4275
+ if (options?.user) query.user = options.user;
4276
+ if (options?.target) query.target = options.target;
4277
+ if (options?.type) query.type = options.type;
4278
+ if (options?.before) query.before = options.before;
4279
+ if (options?.after) query.after = options.after;
4280
+ if (options?.limit) query.limit = options.limit;
4281
+ const data = await this.client.rest.get(`/servers/${this.id}/audit_logs`, query);
4282
+ for (const user of data.users) this.client.users._add(user);
4283
+ for (const member of data.members) this.members._add(member);
4284
+ const entries = new Collection();
4285
+ for (const raw of data.audit_logs) {
4286
+ entries.set(raw._id, new AuditLogEntry(this.client, raw));
4287
+ }
4288
+ return entries;
4289
+ }
4064
4290
  /**
4065
4291
  * Fetches multiple members from this server.
4066
4292
  * @param options Filter options for the fetch request.
@@ -4072,7 +4298,7 @@ var Server = class extends Base {
4072
4298
  };
4073
4299
 
4074
4300
  // src/managers/ServerManager.ts
4075
- import * as util12 from "util";
4301
+ import * as util13 from "util";
4076
4302
  var ServerManager = class extends BaseManager {
4077
4303
  constructor(client, limit = Infinity) {
4078
4304
  super(client, limit);
@@ -4143,7 +4369,7 @@ var ServerManager = class extends BaseManager {
4143
4369
  const data = await this.client.rest.patch(`/servers/${serverId}`, payload);
4144
4370
  return this._add(data);
4145
4371
  }
4146
- [util12.inspect.custom]() {
4372
+ [util13.inspect.custom]() {
4147
4373
  return this.cache;
4148
4374
  }
4149
4375
  };
@@ -4721,6 +4947,7 @@ var EmbedBuilder = class {
4721
4947
  };
4722
4948
 
4723
4949
  // src/index.ts
4950
+ import { decodeTime as decodeTime8 } from "ulid";
4724
4951
  import * as API from "stoat-api";
4725
4952
  export {
4726
4953
  API,
@@ -4764,6 +4991,7 @@ export {
4764
4991
  User,
4765
4992
  UserManager,
4766
4993
  VoiceConnection,
4767
- VoiceManager
4994
+ VoiceManager,
4995
+ decodeTime8 as decodeTime
4768
4996
  };
4769
4997
  //# sourceMappingURL=index.js.map