oceanic.js 1.7.1 → 1.7.2-dev.02fa4da

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 (92) hide show
  1. package/dist/lib/Client.d.ts +9 -8
  2. package/dist/lib/Client.js +18 -10
  3. package/dist/lib/Constants.d.ts +23 -16
  4. package/dist/lib/Constants.js +20 -16
  5. package/dist/lib/gateway/Shard.d.ts +1 -1
  6. package/dist/lib/gateway/Shard.js +35 -37
  7. package/dist/lib/index.d.ts +3 -0
  8. package/dist/lib/index.js +9 -3
  9. package/dist/lib/rest/RESTManager.d.ts +2 -2
  10. package/dist/lib/rest/RESTManager.js +3 -3
  11. package/dist/lib/rest/RequestHandler.js +7 -2
  12. package/dist/lib/routes/ApplicationCommands.d.ts +16 -1
  13. package/dist/lib/routes/ApplicationCommands.js +18 -3
  14. package/dist/lib/routes/Channels.d.ts +76 -6
  15. package/dist/lib/routes/Channels.js +80 -13
  16. package/dist/lib/routes/Guilds.d.ts +115 -10
  17. package/dist/lib/routes/Guilds.js +146 -44
  18. package/dist/lib/routes/Interactions.d.ts +10 -2
  19. package/dist/lib/routes/Interactions.js +10 -2
  20. package/dist/lib/routes/Miscellaneous.d.ts +8 -2
  21. package/dist/lib/routes/Miscellaneous.js +11 -5
  22. package/dist/lib/routes/OAuth.d.ts +17 -4
  23. package/dist/lib/routes/OAuth.js +17 -4
  24. package/dist/lib/routes/Users.d.ts +7 -5
  25. package/dist/lib/routes/Users.js +7 -5
  26. package/dist/lib/routes/Webhooks.d.ts +16 -2
  27. package/dist/lib/routes/Webhooks.js +16 -17
  28. package/dist/lib/structures/AnnouncementChannel.d.ts +5 -2
  29. package/dist/lib/structures/AnnouncementChannel.js +6 -6
  30. package/dist/lib/structures/Application.d.ts +1 -1
  31. package/dist/lib/structures/Application.js +2 -2
  32. package/dist/lib/structures/CategoryChannel.d.ts +5 -4
  33. package/dist/lib/structures/CategoryChannel.js +6 -4
  34. package/dist/lib/structures/Channel.js +5 -1
  35. package/dist/lib/structures/CommandInteraction.d.ts +2 -2
  36. package/dist/lib/structures/CommandInteraction.js +2 -2
  37. package/dist/lib/structures/ComponentInteraction.d.ts +2 -2
  38. package/dist/lib/structures/ComponentInteraction.js +2 -2
  39. package/dist/lib/structures/ForumChannel.d.ts +5 -94
  40. package/dist/lib/structures/ForumChannel.js +5 -223
  41. package/dist/lib/structures/GroupChannel.d.ts +1 -1
  42. package/dist/lib/structures/GroupChannel.js +7 -11
  43. package/dist/lib/structures/Guild.d.ts +17 -17
  44. package/dist/lib/structures/Guild.js +35 -31
  45. package/dist/lib/structures/MediaChannel.d.ts +11 -0
  46. package/dist/lib/structures/MediaChannel.js +19 -0
  47. package/dist/lib/structures/Member.d.ts +1 -1
  48. package/dist/lib/structures/Member.js +1 -1
  49. package/dist/lib/structures/Message.d.ts +4 -2
  50. package/dist/lib/structures/Message.js +20 -12
  51. package/dist/lib/structures/ModalSubmitInteraction.d.ts +2 -2
  52. package/dist/lib/structures/ModalSubmitInteraction.js +2 -2
  53. package/dist/lib/structures/PrivateChannel.d.ts +1 -1
  54. package/dist/lib/structures/PrivateChannel.js +1 -1
  55. package/dist/lib/structures/TextChannel.js +2 -3
  56. package/dist/lib/structures/TextableChannel.d.ts +2 -2
  57. package/dist/lib/structures/TextableChannel.js +1 -1
  58. package/dist/lib/structures/TextableVoiceChannel.d.ts +2 -2
  59. package/dist/lib/structures/TextableVoiceChannel.js +2 -2
  60. package/dist/lib/structures/ThreadChannel.d.ts +1 -1
  61. package/dist/lib/structures/ThreadChannel.js +1 -1
  62. package/dist/lib/structures/ThreadOnlyChannel.d.ts +99 -0
  63. package/dist/lib/structures/ThreadOnlyChannel.js +233 -0
  64. package/dist/lib/structures/ThreadableChannel.d.ts +5 -7
  65. package/dist/lib/structures/ThreadableChannel.js +7 -6
  66. package/dist/lib/structures/User.d.ts +9 -2
  67. package/dist/lib/structures/User.js +15 -6
  68. package/dist/lib/types/channels.d.ts +57 -32
  69. package/dist/lib/types/client.d.ts +20 -6
  70. package/dist/lib/types/events.d.ts +2 -2
  71. package/dist/lib/types/gateway.d.ts +1 -1
  72. package/dist/lib/types/guilds.d.ts +2 -0
  73. package/dist/lib/types/interactions.d.ts +46 -22
  74. package/dist/lib/types/json.d.ts +23 -16
  75. package/dist/lib/types/misc.d.ts +3 -0
  76. package/dist/lib/types/request-handler.d.ts +2 -0
  77. package/dist/lib/util/Errors.d.ts +1 -1
  78. package/dist/lib/util/Errors.js +2 -2
  79. package/dist/lib/util/InteractionOptionsWrapper.d.ts +3 -3
  80. package/dist/lib/util/InteractionOptionsWrapper.js +3 -4
  81. package/dist/lib/util/SelectMenuValuesWrapper.d.ts +3 -3
  82. package/dist/lib/util/SelectMenuValuesWrapper.js +5 -6
  83. package/dist/lib/util/SimpleCollection.d.ts +12 -0
  84. package/dist/lib/util/SimpleCollection.js +81 -0
  85. package/dist/lib/util/TypedCollection.d.ts +13 -5
  86. package/dist/lib/util/TypedCollection.js +19 -6
  87. package/dist/lib/util/Util.d.ts +4 -2
  88. package/dist/lib/util/Util.js +37 -18
  89. package/dist/package.json +22 -20
  90. package/esm.mjs +6 -0
  91. package/package.json +22 -20
  92. package/patches/typedoc-plugin-merge-modules@5.0.1.patch +26 -0
@@ -1,100 +1,11 @@
1
1
  /** @module ForumChannel */
2
- import GuildChannel from "./GuildChannel";
3
- import PermissionOverwrite from "./PermissionOverwrite";
4
- import PublicThreadChannel from "./PublicThreadChannel";
5
- import type Invite from "./Invite";
6
- import type Member from "./Member";
7
- import Permission from "./Permission";
8
- import type CategoryChannel from "./CategoryChannel";
9
- import type Webhook from "./Webhook";
2
+ import ThreadOnlyChannel from "./ThreadOnlyChannel";
10
3
  import type Client from "../Client";
11
- import type { ArchivedThreads, CreateInviteOptions, EditPermissionOptions, ForumEmoji, ForumTag, GetArchivedThreadsOptions, RawForumChannel, RawOverwrite, RawPublicThreadChannel, StartThreadInForumOptions } from "../types/channels";
12
- import type { JSONForumChannel } from "../types/json";
13
- import TypedCollection from "../util/TypedCollection";
14
- import { type SortOrderTypes, type ForumLayoutTypes, type ChannelTypes, type ThreadAutoArchiveDuration } from "../Constants";
15
- import type { CreateWebhookOptions } from "../types";
16
- /** Represents a forum channel. */
17
- export default class ForumChannel extends GuildChannel {
18
- /** The usable tags for threads. */
19
- availableTags: Array<ForumTag>;
20
- /** The default auto archive duration for threads. */
21
- defaultAutoArchiveDuration: ThreadAutoArchiveDuration;
22
- /** The default forum layout used to display threads. */
23
- defaultForumLayout: ForumLayoutTypes;
24
- /** The default reaction emoji for threads. */
25
- defaultReactionEmoji: ForumEmoji | null;
26
- /** The default sort order mode used to sort threads. */
27
- defaultSortOrder: SortOrderTypes | null;
28
- /** The default amount of seconds between non-moderators sending messages in threads. */
29
- defaultThreadRateLimitPerUser: number;
30
- /** The flags for this channel, see {@link Constants.ChannelFlags}. */
31
- flags: number;
32
- /** The most recently created thread. */
33
- lastThread?: PublicThreadChannel | null;
34
- /** The ID of most recently created thread. */
35
- lastThreadID: string | null;
36
- /** If this channel is age gated. */
37
- nsfw: boolean;
38
- /** The permission overwrites of this channel. */
39
- permissionOverwrites: TypedCollection<string, RawOverwrite, PermissionOverwrite>;
40
- /** The position of this channel on the sidebar. */
41
- position: number;
42
- /** The amount of seconds between non-moderators creating threads. */
43
- rateLimitPerUser: number;
44
- /** Undocumented property. */
45
- template: string;
46
- /** The threads in this channel. */
47
- threads: TypedCollection<string, RawPublicThreadChannel, PublicThreadChannel>;
48
- /** The `guidelines` of this forum channel. */
49
- topic: string | null;
4
+ import type { ChannelTypes } from "../Constants";
5
+ import type { JSONForumChannel, RawForumChannel } from "../types";
6
+ /** Represents a thread forum channel. */
7
+ export default class ForumChannel extends ThreadOnlyChannel {
50
8
  type: ChannelTypes.GUILD_FORUM;
51
9
  constructor(data: RawForumChannel, client: Client);
52
- protected update(data: Partial<RawForumChannel>): void;
53
- get parent(): CategoryChannel | null | undefined;
54
- /**
55
- * Create an invite for this channel. If the guild is not a `COMMUNITY` server, invites can only be made to last 30 days.
56
- * @param options The options for the invite.
57
- */
58
- createInvite(options: CreateInviteOptions): Promise<Invite<"withMetadata", this>>;
59
- /**
60
- * Create a webhook in this channel.
61
- * @param options The options to create the webhook with.
62
- */
63
- createWebhook(options: CreateWebhookOptions): Promise<Webhook>;
64
- /**
65
- * Delete a permission overwrite on this channel.
66
- * @param overwriteID The ID of the permission overwrite to delete.
67
- * @param reason The reason for deleting the permission overwrite.
68
- */
69
- deletePermission(overwriteID: string, reason?: string): Promise<void>;
70
- /**
71
- * Edit a permission overwrite on this channel.
72
- * @param overwriteID The ID of the permission overwrite to edit.
73
- * @param options The options for editing the permission overwrite.
74
- */
75
- editPermission(overwriteID: string, options: EditPermissionOptions): Promise<void>;
76
- /**
77
- * Get the invites of this channel.
78
- */
79
- getInvites(): Promise<Array<Invite<"withMetadata", this>>>;
80
- /**
81
- * Get the public archived threads in this channel.
82
- * @param options The options for getting the public archived threads.
83
- */
84
- getPublicArchivedThreads(options?: GetArchivedThreadsOptions): Promise<ArchivedThreads<PublicThreadChannel>>;
85
- /**
86
- * Get the webhooks in this channel.
87
- */
88
- getWebhooks(): Promise<Array<Webhook>>;
89
- /**
90
- * Get the permissions of a member. If providing an id, the member must be cached.
91
- * @param member The member to get the permissions of.
92
- */
93
- permissionsOf(member: string | Member): Permission;
94
- /**
95
- * Create a thread in a forum channel.
96
- * @param options The options for starting the thread.
97
- */
98
- startThread(options: StartThreadInForumOptions): Promise<PublicThreadChannel>;
99
10
  toJSON(): JSONForumChannel;
100
11
  }
@@ -2,236 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  /** @module ForumChannel */
5
- const GuildChannel_1 = tslib_1.__importDefault(require("./GuildChannel"));
6
- const PermissionOverwrite_1 = tslib_1.__importDefault(require("./PermissionOverwrite"));
7
- const PublicThreadChannel_1 = tslib_1.__importDefault(require("./PublicThreadChannel"));
8
- const Permission_1 = tslib_1.__importDefault(require("./Permission"));
9
- const TypedCollection_1 = tslib_1.__importDefault(require("../util/TypedCollection"));
10
- const Constants_1 = require("../Constants");
11
- const Errors_1 = require("../util/Errors");
12
- /** Represents a forum channel. */
13
- class ForumChannel extends GuildChannel_1.default {
14
- /** The usable tags for threads. */
15
- availableTags;
16
- /** The default auto archive duration for threads. */
17
- defaultAutoArchiveDuration;
18
- /** The default forum layout used to display threads. */
19
- defaultForumLayout;
20
- /** The default reaction emoji for threads. */
21
- defaultReactionEmoji;
22
- /** The default sort order mode used to sort threads. */
23
- defaultSortOrder;
24
- /** The default amount of seconds between non-moderators sending messages in threads. */
25
- defaultThreadRateLimitPerUser;
26
- /** The flags for this channel, see {@link Constants.ChannelFlags}. */
27
- flags;
28
- /** The most recently created thread. */
29
- lastThread;
30
- /** The ID of most recently created thread. */
31
- lastThreadID;
32
- /** If this channel is age gated. */
33
- nsfw;
34
- /** The permission overwrites of this channel. */
35
- permissionOverwrites;
36
- /** The position of this channel on the sidebar. */
37
- position;
38
- /** The amount of seconds between non-moderators creating threads. */
39
- rateLimitPerUser;
40
- /** Undocumented property. */
41
- template;
42
- /** The threads in this channel. */
43
- threads;
44
- /** The `guidelines` of this forum channel. */
45
- topic;
5
+ const ThreadOnlyChannel_1 = tslib_1.__importDefault(require("./ThreadOnlyChannel"));
6
+ /** Represents a thread forum channel. */
7
+ class ForumChannel extends ThreadOnlyChannel_1.default {
46
8
  constructor(data, client) {
47
9
  super(data, client);
48
- this.availableTags = [];
49
- this.defaultAutoArchiveDuration = data.default_auto_archive_duration;
50
- this.defaultForumLayout = data.default_forum_layout;
51
- this.defaultReactionEmoji = null;
52
- this.defaultSortOrder = null;
53
- this.defaultThreadRateLimitPerUser = data.default_thread_rate_limit_per_user;
54
- this.flags = data.flags;
55
- this.lastThreadID = data.last_message_id;
56
- this.nsfw = data.nsfw;
57
- this.permissionOverwrites = new TypedCollection_1.default(PermissionOverwrite_1.default, client);
58
- this.position = data.position;
59
- this.rateLimitPerUser = 0;
60
- this.template = data.template;
61
- this.threads = new TypedCollection_1.default(PublicThreadChannel_1.default, client, this.client.util._getLimit("channelThreads", this.id));
62
- this.topic = data.topic;
63
- this.update(data);
64
- }
65
- update(data) {
66
- super.update(data);
67
- if (data.available_tags !== undefined) {
68
- this.availableTags = data.available_tags.map(tag => ({
69
- emoji: tag.emoji_id === null && tag.emoji_name === null ? null : { id: tag.emoji_id, name: tag.emoji_name },
70
- id: tag.id,
71
- moderated: tag.moderated,
72
- name: tag.name
73
- }));
74
- }
75
- if (data.default_auto_archive_duration !== undefined) {
76
- this.defaultAutoArchiveDuration = data.default_auto_archive_duration;
77
- }
78
- if (data.default_forum_layout !== undefined) {
79
- this.defaultForumLayout = data.default_forum_layout;
80
- }
81
- if (data.default_reaction_emoji !== undefined) {
82
- this.defaultReactionEmoji = data.default_reaction_emoji === null || (data.default_reaction_emoji.emoji_id === null && data.default_reaction_emoji.emoji_name === null) ? null : { id: data.default_reaction_emoji.emoji_id, name: data.default_reaction_emoji.emoji_name };
83
- }
84
- if (data.default_sort_order !== undefined) {
85
- this.defaultSortOrder = data.default_sort_order;
86
- }
87
- if (data.default_thread_rate_limit_per_user !== undefined) {
88
- this.defaultThreadRateLimitPerUser = data.default_thread_rate_limit_per_user;
89
- }
90
- if (data.flags !== undefined) {
91
- this.flags = data.flags;
92
- }
93
- if (data.last_message_id !== undefined) {
94
- this.lastThread = data.last_message_id === null ? null : this.threads.get(data.last_message_id);
95
- this.lastThreadID = data.last_message_id;
96
- }
97
- if (data.nsfw !== undefined) {
98
- this.nsfw = data.nsfw;
99
- }
100
- if (data.permission_overwrites !== undefined) {
101
- for (const id of this.permissionOverwrites.keys()) {
102
- if (!data.permission_overwrites.some(overwrite => overwrite.id === id)) {
103
- this.permissionOverwrites.delete(id);
104
- }
105
- }
106
- for (const overwrite of data.permission_overwrites) {
107
- this.permissionOverwrites.update(overwrite);
108
- }
109
- }
110
- if (data.position !== undefined) {
111
- this.position = data.position;
112
- }
113
- if (data.rate_limit_per_user !== undefined) {
114
- this.rateLimitPerUser = data.rate_limit_per_user;
115
- }
116
- if (data.template !== undefined) {
117
- this.template = data.template;
118
- }
119
- if (data.topic !== undefined && data.topic !== null) {
120
- this.topic = data.topic;
121
- }
122
- }
123
- get parent() {
124
- return super.parent;
125
- }
126
- /**
127
- * Create an invite for this channel. If the guild is not a `COMMUNITY` server, invites can only be made to last 30 days.
128
- * @param options The options for the invite.
129
- */
130
- async createInvite(options) {
131
- return this.client.rest.channels.createInvite(this.id, options);
132
- }
133
- /**
134
- * Create a webhook in this channel.
135
- * @param options The options to create the webhook with.
136
- */
137
- async createWebhook(options) {
138
- return this.client.rest.webhooks.create(this.id, options);
139
- }
140
- /**
141
- * Delete a permission overwrite on this channel.
142
- * @param overwriteID The ID of the permission overwrite to delete.
143
- * @param reason The reason for deleting the permission overwrite.
144
- */
145
- async deletePermission(overwriteID, reason) {
146
- return this.client.rest.channels.deletePermission(this.id, overwriteID, reason);
147
- }
148
- /**
149
- * Edit a permission overwrite on this channel.
150
- * @param overwriteID The ID of the permission overwrite to edit.
151
- * @param options The options for editing the permission overwrite.
152
- */
153
- async editPermission(overwriteID, options) {
154
- return this.client.rest.channels.editPermission(this.id, overwriteID, options);
155
- }
156
- /**
157
- * Get the invites of this channel.
158
- */
159
- async getInvites() {
160
- return this.client.rest.channels.getInvites(this.id);
161
- }
162
- /**
163
- * Get the public archived threads in this channel.
164
- * @param options The options for getting the public archived threads.
165
- */
166
- async getPublicArchivedThreads(options) {
167
- return this.client.rest.channels.getPublicArchivedThreads(this.id, options);
168
- }
169
- /**
170
- * Get the webhooks in this channel.
171
- */
172
- async getWebhooks() {
173
- return this.client.rest.webhooks.getForChannel(this.id);
174
- }
175
- /**
176
- * Get the permissions of a member. If providing an id, the member must be cached.
177
- * @param member The member to get the permissions of.
178
- */
179
- permissionsOf(member) {
180
- if (typeof member === "string") {
181
- member = this.guild.members.get(member);
182
- }
183
- if (!member) {
184
- throw new Errors_1.UncachedError(`Cannot use ${this.constructor.name}#permissionsOf with an ID when the member is not cached.`);
185
- }
186
- let permission = this.guild.permissionsOf(member).allow;
187
- if (permission & Constants_1.Permissions.ADMINISTRATOR) {
188
- return new Permission_1.default(Constants_1.AllPermissions);
189
- }
190
- let overwrite = this.permissionOverwrites.get(this.guildID);
191
- if (overwrite) {
192
- permission = (permission & ~overwrite.deny) | overwrite.allow;
193
- }
194
- let deny = 0n;
195
- let allow = 0n;
196
- for (const id of member.roles) {
197
- if ((overwrite = this.permissionOverwrites.get(id))) {
198
- deny |= overwrite.deny;
199
- allow |= overwrite.allow;
200
- }
201
- }
202
- permission = (permission & ~deny) | allow;
203
- overwrite = this.permissionOverwrites.get(member.id);
204
- if (overwrite) {
205
- permission = (permission & ~overwrite.deny) | overwrite.allow;
206
- }
207
- return new Permission_1.default(permission);
208
- }
209
- /**
210
- * Create a thread in a forum channel.
211
- * @param options The options for starting the thread.
212
- */
213
- async startThread(options) {
214
- return this.client.rest.channels.startThreadInForum(this.id, options);
215
10
  }
216
11
  toJSON() {
217
12
  return {
218
13
  ...super.toJSON(),
219
- availableTags: this.availableTags,
220
- defaultAutoArchiveDuration: this.defaultAutoArchiveDuration,
221
- defaultForumLayout: this.defaultForumLayout,
222
- defaultReactionEmoji: this.defaultReactionEmoji,
223
- defaultSortOrder: this.defaultSortOrder,
224
- defaultThreadRateLimitPerUser: this.defaultThreadRateLimitPerUser,
225
- flags: this.flags,
226
- lastThreadID: this.lastThreadID,
227
- permissionOverwrites: this.permissionOverwrites.map(overwrite => overwrite.toJSON()),
228
- position: this.position,
229
- rateLimitPerUser: this.rateLimitPerUser,
230
- template: this.template,
231
- threads: this.threads.map(thread => thread.id),
232
- topic: this.topic
14
+ type: this.type
233
15
  };
234
16
  }
235
17
  }
236
18
  exports.default = ForumChannel;
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ydW1DaGFubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N0cnVjdHVyZXMvRm9ydW1DaGFubmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUEyQjtBQUMzQiwwRUFBMEM7QUFDMUMsd0ZBQXdEO0FBQ3hELHdGQUF3RDtBQUd4RCxzRUFBc0M7QUFpQnRDLHNGQUFzRDtBQUN0RCw0Q0FPc0I7QUFFdEIsMkNBQStDO0FBRS9DLGtDQUFrQztBQUNsQyxNQUFxQixZQUFhLFNBQVEsc0JBQVk7SUFDbEQsbUNBQW1DO0lBQ25DLGFBQWEsQ0FBa0I7SUFDL0IscURBQXFEO0lBQ3JELDBCQUEwQixDQUE0QjtJQUN0RCx3REFBd0Q7SUFDeEQsa0JBQWtCLENBQW1CO0lBQ3JDLDhDQUE4QztJQUM5QyxvQkFBb0IsQ0FBb0I7SUFDeEMsd0RBQXdEO0lBQ3hELGdCQUFnQixDQUF3QjtJQUN4Qyx3RkFBd0Y7SUFDeEYsNkJBQTZCLENBQVM7SUFDdEMsc0VBQXNFO0lBQ3RFLEtBQUssQ0FBUztJQUNkLHdDQUF3QztJQUN4QyxVQUFVLENBQThCO0lBQ3hDLDhDQUE4QztJQUM5QyxZQUFZLENBQWdCO0lBQzVCLG9DQUFvQztJQUNwQyxJQUFJLENBQVU7SUFDZCxpREFBaUQ7SUFDakQsb0JBQW9CLENBQTZEO0lBQ2pGLG1EQUFtRDtJQUNuRCxRQUFRLENBQVM7SUFDakIscUVBQXFFO0lBQ3JFLGdCQUFnQixDQUFTO0lBQ3pCLDZCQUE2QjtJQUM3QixRQUFRLENBQVM7SUFDakIsbUNBQW1DO0lBQ25DLE9BQU8sQ0FBdUU7SUFDOUUsOENBQThDO0lBQzlDLEtBQUssQ0FBZ0I7SUFFckIsWUFBWSxJQUFxQixFQUFFLE1BQWM7UUFDN0MsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFB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
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ydW1DaGFubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N0cnVjdHVyZXMvRm9ydW1DaGFubmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUEyQjtBQUMzQixvRkFBb0Q7QUFLcEQseUNBQXlDO0FBQ3pDLE1BQXFCLFlBQWEsU0FBUSwyQkFBaUI7SUFFdkQsWUFBWSxJQUFxQixFQUFFLE1BQWM7UUFDN0MsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRVEsTUFBTTtRQUNYLE9BQU87WUFDSCxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2xCLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFaRCwrQkFZQyJ9
@@ -29,7 +29,7 @@ export default class GroupChannel extends Channel {
29
29
  /** The ID of the owner of this group channel. */
30
30
  ownerID: string;
31
31
  /** The other recipients in this group channel. */
32
- recipients: TypedCollection<string, RawUser, User>;
32
+ recipients: TypedCollection<RawUser, User>;
33
33
  type: ChannelTypes.GROUP_DM;
34
34
  constructor(data: RawGroupChannel, client: Client);
35
35
  protected update(data: Partial<RawGroupChannel>): void;
@@ -38,9 +38,11 @@ class GroupChannel extends Channel_1.default {
38
38
  this.nicks = [];
39
39
  this.owner = this.client.users.get(data.owner_id);
40
40
  this.ownerID = data.owner_id;
41
- this.recipients = new TypedCollection_1.default(User_1.default, client);
41
+ this.recipients = new TypedCollection_1.default(User_1.default, client, Infinity, {
42
+ construct: (user) => client.users.update(user)
43
+ });
42
44
  for (const r of data.recipients)
43
- this.recipients.add(client.users.update(r));
45
+ this.recipients.update(r);
44
46
  this.update(data);
45
47
  }
46
48
  update(data) {
@@ -72,15 +74,9 @@ class GroupChannel extends Channel_1.default {
72
74
  this.type = data.type;
73
75
  }
74
76
  if (data.recipients !== undefined) {
75
- for (const id of this.recipients.keys()) {
76
- if (!data.recipients.some(r => r.id === id)) {
77
- this.recipients.delete(id);
78
- }
79
- }
77
+ this.recipients.clear();
80
78
  for (const r of data.recipients) {
81
- if (!this.recipients.has(r.id)) {
82
- this.recipients.add(this.client.users.update(r));
83
- }
79
+ this.recipients.update(r);
84
80
  }
85
81
  }
86
82
  }
@@ -134,4 +130,4 @@ class GroupChannel extends Channel_1.default {
134
130
  }
135
131
  }
136
132
  exports.default = GroupChannel;
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JvdXBDaGFubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N0cnVjdHVyZXMvR3JvdXBDaGFubmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUEyQjtBQUMzQixnRUFBZ0M7QUFDaEMsMERBQTBCO0FBSTFCLCtEQUF5QztBQUd6QyxzRkFBc0Q7QUFHdEQseUNBQXlDO0FBQ3pDLE1BQXFCLFlBQWEsU0FBUSxpQkFBTztJQUM3QyxvREFBb0Q7SUFDcEQsV0FBVyxDQUFxQjtJQUNoQyw4REFBOEQ7SUFDOUQsYUFBYSxDQUFTO0lBQ3RCLDJDQUEyQztJQUMzQyxJQUFJLENBQWdCO0lBQ3BCLG1EQUFtRDtJQUNuRCxhQUFhLENBQWdCO0lBQzdCLDBEQUEwRDtJQUMxRCxPQUFPLENBQVU7SUFDakIsc0NBQXNDO0lBQ3RDLElBQUksQ0FBZ0I7SUFDcEIsMkRBQTJEO0lBQzNELEtBQUssQ0FBdUM7SUFDNUMsdUNBQXVDO0lBQ3ZDLEtBQUssQ0FBUTtJQUNiLGlEQUFpRDtJQUNqRCxPQUFPLENBQVM7SUFDaEIsa0RBQWtEO0lBQ2xELFVBQVUsQ0FBeUM7SUFFbkQsWUFBWSxJQUFxQixFQUFFLE1BQWM7UUFDN0MsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx5QkFBZSxDQUFDLGNBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVO1lBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFa0IsTUFBTSxDQUFDLElBQThCO1FBQ3BELEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRTtZQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDM0ksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDekI7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUM3QztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDekI7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMzQjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUMvQixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7b0JBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM5QjthQUNKO1lBR0QsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDcEQ7YUFDSjtTQUVKO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBaUM7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUEyQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxNQUFvQixFQUFFLElBQWE7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxSSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFjO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFUSxNQUFNO1FBQ1gsT0FBTztZQUNILEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsSUFBSSxFQUFXLElBQUksQ0FBQyxJQUFJO1lBQ3hCLE9BQU8sRUFBUSxJQUFJLENBQUMsT0FBTztZQUMzQixJQUFJLEVBQVcsSUFBSSxDQUFDLElBQUk7WUFDeEIsS0FBSyxFQUFVLElBQUksQ0FBQyxLQUFLO1lBQ3pCLE9BQU8sRUFBUSxJQUFJLENBQUMsT0FBTztZQUMzQixVQUFVLEVBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekQsSUFBSSxFQUFXLElBQUksQ0FBQyxJQUFJO1NBQzNCLENBQUM7SUFDTixDQUFDO0NBQ0o7QUF2SUQsK0JBdUlDIn0=
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JvdXBDaGFubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N0cnVjdHVyZXMvR3JvdXBDaGFubmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUEyQjtBQUMzQixnRUFBZ0M7QUFDaEMsMERBQTBCO0FBSTFCLCtEQUF5QztBQUd6QyxzRkFBc0Q7QUFHdEQseUNBQXlDO0FBQ3pDLE1BQXFCLFlBQWEsU0FBUSxpQkFBTztJQUM3QyxvREFBb0Q7SUFDcEQsV0FBVyxDQUFxQjtJQUNoQyw4REFBOEQ7SUFDOUQsYUFBYSxDQUFTO0lBQ3RCLDJDQUEyQztJQUMzQyxJQUFJLENBQWdCO0lBQ3BCLG1EQUFtRDtJQUNuRCxhQUFhLENBQWdCO0lBQzdCLDBEQUEwRDtJQUMxRCxPQUFPLENBQVU7SUFDakIsc0NBQXNDO0lBQ3RDLElBQUksQ0FBZ0I7SUFDcEIsMkRBQTJEO0lBQzNELEtBQUssQ0FBdUM7SUFDNUMsdUNBQXVDO0lBQ3ZDLEtBQUssQ0FBUTtJQUNiLGlEQUFpRDtJQUNqRCxPQUFPLENBQVM7SUFDaEIsa0RBQWtEO0lBQ2xELFVBQVUsQ0FBaUM7SUFFM0MsWUFBWSxJQUFxQixFQUFFLE1BQWM7UUFDN0MsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxD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
@@ -16,14 +16,14 @@ import VoiceState from "./VoiceState";
16
16
  import StageInstance from "./StageInstance";
17
17
  import type GuildTemplate from "./GuildTemplate";
18
18
  import type GuildPreview from "./GuildPreview";
19
- import type Invite from "./Invite";
19
+ import Invite from "./Invite";
20
20
  import type Webhook from "./Webhook";
21
21
  import AuditLogEntry from "./AuditLogEntry";
22
22
  import { type DefaultMessageNotificationLevels, type ExplicitContentFilterLevels, type GuildFeature, type GuildNSFWLevels, type ImageFormat, type MFALevels, type PremiumTiers, type VerificationLevels, type ChannelTypeMap } from "../Constants";
23
23
  import type Client from "../Client";
24
24
  import TypedCollection from "../util/TypedCollection";
25
- import type { AnyGuildChannel, AnyGuildChannelWithoutThreads, AnyTextableGuildChannel, AnyThreadChannel, AnyInviteChannel, RawGuildChannel, RawThreadChannel, GuildChannelsWithoutThreads } from "../types/channels";
26
- import type { AddMemberOptions, BeginPruneOptions, CreateBanOptions, CreateChannelOptions, CreateEmojiOptions, CreateRoleOptions, EditCurrentMemberOptions, EditCurrentUserVoiceStateOptions, EditEmojiOptions, EditGuildOptions, EditMemberOptions, EditRoleOptions, EditRolePositionsEntry, EditUserVoiceStateOptions, EditWelcomeScreenOptions, GetBansOptions, GetMembersOptions, GetPruneCountOptions, GuildEmoji, ModifyChannelPositionsEntry, RawGuild, RawMember, RawRole, SearchMembersOptions, WelcomeScreen, WidgetImageStyle, WidgetSettings, RawIntegration, Widget, GetActiveThreadsResponse, Ban, GetVanityURLResponse, RawWidget, RawStageInstance, EditMFALevelOptions, RESTMember, CreateStickerOptions, Sticker, EditStickerOptions, Onboarding, EditOnboardingOptions } from "../types/guilds";
25
+ import type { AnyGuildChannel, AnyGuildChannelWithoutThreads, AnyTextableGuildChannel, AnyThreadChannel, AnyInviteChannel, RawGuildChannel, RawThreadChannel, GuildChannelsWithoutThreads, RawInvite } from "../types/channels";
26
+ import type { AddMemberOptions, BeginPruneOptions, CreateBanOptions, CreateChannelOptions, CreateEmojiOptions, CreateRoleOptions, EditCurrentMemberOptions, EditCurrentUserVoiceStateOptions, EditEmojiOptions, EditGuildOptions, EditMemberOptions, EditRoleOptions, EditRolePositionsEntry, EditUserVoiceStateOptions, EditWelcomeScreenOptions, GetBansOptions, GetMembersOptions, GetPruneCountOptions, GuildEmoji, ModifyChannelPositionsEntry, RawGuild, RawMember, RawRole, SearchMembersOptions, WelcomeScreen, WidgetImageStyle, WidgetSettings, RawIntegration, Widget, GetActiveThreadsResponse, Ban, GetVanityURLResponse, RawWidget, RawStageInstance, EditMFALevelOptions, RESTMember, CreateStickerOptions, Sticker, EditStickerOptions, Onboarding, EditOnboardingOptions, RawGuildEmoji, RawSticker } from "../types/guilds";
27
27
  import type { CreateScheduledEventOptions, EditScheduledEventOptions, GetScheduledEventUsersOptions, RawScheduledEvent, ScheduledEventUser } from "../types/scheduled-events";
28
28
  import type { CreateAutoModerationRuleOptions, EditAutoModerationRuleOptions, RawAutoModerationRule } from "../types/auto-moderation";
29
29
  import type { AuditLog, GetAuditLogOptions, RawAuditLogEntry } from "../types/audit-log";
@@ -32,7 +32,7 @@ import type { JoinVoiceChannelOptions, RawVoiceState, VoiceRegion } from "../typ
32
32
  import type { JSONGuild } from "../types/json";
33
33
  import type { RequestGuildMembersOptions } from "../types/gateway";
34
34
  import type Shard from "../gateway/Shard";
35
- import Collection from "../util/Collection";
35
+ import SimpleCollection from "../util/SimpleCollection";
36
36
  import type { DiscordGatewayAdapterCreator, VoiceConnection } from "@discordjs/voice";
37
37
  /** Represents a Discord server. */
38
38
  export default class Guild extends Base {
@@ -54,13 +54,13 @@ export default class Guild extends Base {
54
54
  /** The approximate number of non-offline members in this guild (if retrieved with counts). */
55
55
  approximatePresenceCount?: number;
56
56
  /** The cached audit log entries. This requires both the {@link Constants~Intents.GUILD_MODERATION | GUILD_MODERATION} intent, as well as the {@link Constants~Permissions | VIEW_AUDIT_LOG } permission. */
57
- auditLogEntries: TypedCollection<string, RawAuditLogEntry, AuditLogEntry>;
57
+ auditLogEntries: TypedCollection<RawAuditLogEntry, AuditLogEntry>;
58
58
  /** The auto moderation rules in this guild. */
59
- autoModerationRules: TypedCollection<string, RawAutoModerationRule, AutoModerationRule>;
59
+ autoModerationRules: TypedCollection<RawAutoModerationRule, AutoModerationRule>;
60
60
  /** The hash of this guild's banner. */
61
61
  banner: string | null;
62
62
  /** The channels in this guild. */
63
- channels: TypedCollection<string, RawGuildChannel, AnyGuildChannelWithoutThreads>;
63
+ channels: TypedCollection<RawGuildChannel, AnyGuildChannelWithoutThreads>;
64
64
  /** The default [message notifications level](https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level) of this guild. */
65
65
  defaultMessageNotifications: DefaultMessageNotificationLevels;
66
66
  /** The description of this guild. */
@@ -68,7 +68,7 @@ export default class Guild extends Base {
68
68
  /** The discovery splash of this guild. Only present if the guild has the `DISCOVERABLE` feature. */
69
69
  discoverySplash: string | null;
70
70
  /** The custom emojis of this guild. */
71
- emojis: Array<GuildEmoji>;
71
+ emojis: SimpleCollection<string, RawGuildEmoji, GuildEmoji>;
72
72
  /** The [explicit content filter](https://discord.com/developers/docs/resources/guild#guild-object-explicit-content-filter-level) of this guild. */
73
73
  explicitContentFilter: ExplicitContentFilterLevels;
74
74
  /** The [features](https://discord.com/developers/docs/resources/guild#guild-object-guild-features) this guild has. */
@@ -76,9 +76,9 @@ export default class Guild extends Base {
76
76
  /** The icon hash of this guild. */
77
77
  icon: string | null;
78
78
  /** The integrations in this guild. */
79
- integrations: TypedCollection<string, RawIntegration, Integration, [guildID?: string]>;
79
+ integrations: TypedCollection<RawIntegration, Integration, [guildID?: string]>;
80
80
  /** The cached invites in this guild. This will only be populated by invites created while the client is active. */
81
- invites: Collection<string, Invite>;
81
+ invites: SimpleCollection<string, RawInvite, Invite, "code">;
82
82
  /** The date at which this guild was joined. */
83
83
  joinedAt: Date | null;
84
84
  /** If this guild is considered large. */
@@ -95,7 +95,7 @@ export default class Guild extends Base {
95
95
  /** The number of members in this guild. */
96
96
  memberCount: number;
97
97
  /** The cached members in this guild. */
98
- members: TypedCollection<string, RawMember | RESTMember, Member, [guildID: string]>;
98
+ members: TypedCollection<RawMember | RESTMember, Member, [guildID: string]>;
99
99
  /** The required [mfa level](https://discord.com/developers/docs/resources/guild#guild-object-mfa-level) for moderators of this guild. */
100
100
  mfaLevel: MFALevels;
101
101
  /** The name of this guild. */
@@ -121,7 +121,7 @@ export default class Guild extends Base {
121
121
  /** @deprecated The region of this guild.*/
122
122
  region?: string | null;
123
123
  /** The roles in this guild. */
124
- roles: TypedCollection<string, RawRole, Role, [guildID: string]>;
124
+ roles: TypedCollection<RawRole, Role, [guildID: string]>;
125
125
  /** The channel where rules/guidelines are displayed. Only present in guilds with the `COMMUNITY` feature. */
126
126
  rulesChannel?: TextChannel | null;
127
127
  /** The id of the channel where rules/guidelines are displayed. Only present in guilds with the `COMMUNITY` feature. */
@@ -131,13 +131,13 @@ export default class Guild extends Base {
131
131
  /** The ID if the channel where safety related notices are posted. */
132
132
  safetyAlertsChannelID: string | null;
133
133
  /** The scheduled events in this guild. */
134
- scheduledEvents: TypedCollection<string, RawScheduledEvent, GuildScheduledEvent>;
134
+ scheduledEvents: TypedCollection<RawScheduledEvent, GuildScheduledEvent>;
135
135
  /** The invite splash hash of this guild. */
136
136
  splash: string | null;
137
137
  /** The stage instances in this guild. */
138
- stageInstances: TypedCollection<string, RawStageInstance, StageInstance>;
138
+ stageInstances: TypedCollection<RawStageInstance, StageInstance>;
139
139
  /** The custom stickers of this guild. */
140
- stickers: Array<Sticker>;
140
+ stickers: SimpleCollection<string, RawSticker, Sticker>;
141
141
  /** The channel where welcome messages and boosts notices are posted. */
142
142
  systemChannel?: TextChannel | null;
143
143
  /** The [flags](https://discord.com/developers/docs/resources/guild#guild-object-system-channel-flags) for the system channel. */
@@ -145,7 +145,7 @@ export default class Guild extends Base {
145
145
  /** The ID of the channel where welcome messages and boosts notices are posted. */
146
146
  systemChannelID: string | null;
147
147
  /** The threads in this guild. */
148
- threads: TypedCollection<string, RawThreadChannel, AnyThreadChannel>;
148
+ threads: TypedCollection<RawThreadChannel, AnyThreadChannel>;
149
149
  /** If this guild is unavailable. */
150
150
  unavailable: boolean;
151
151
  /** The vanity url of this guild. Only present in guilds with the `VANITY_URL` feature. */
@@ -153,7 +153,7 @@ export default class Guild extends Base {
153
153
  /** The [verification level](https://discord.com/developers/docs/resources/guild#guild-object-verification-level) of this guild. */
154
154
  verificationLevel: VerificationLevels;
155
155
  /** The voice states of members in voice channels. */
156
- voiceStates: TypedCollection<string, RawVoiceState, VoiceState>;
156
+ voiceStates: TypedCollection<RawVoiceState, VoiceState>;
157
157
  /** The welcome screen configuration. Only present in guilds with the `WELCOME_SCREEN_ENABLED` feature. */
158
158
  welcomeScreen?: WelcomeScreen;
159
159
  /** The channel the widget will generate an invite to, or `null` if set to no invite. */