oceanic.js 1.7.1 → 1.7.2-dev.751ece4

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.
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ /** @module ThreadOnlyChannel */
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 thread only channel. */
13
+ class ThreadOnlyChannel 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 | 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
+ /** The threads in this channel. */
41
+ threads;
42
+ /** The `guidelines` of this forum channel. */
43
+ topic;
44
+ constructor(data, client) {
45
+ super(data, client);
46
+ this.availableTags = [];
47
+ this.defaultAutoArchiveDuration = data.default_auto_archive_duration;
48
+ this.defaultForumLayout = data.default_forum_layout;
49
+ this.defaultReactionEmoji = null;
50
+ this.defaultSortOrder = null;
51
+ this.defaultThreadRateLimitPerUser = data.default_thread_rate_limit_per_user;
52
+ this.flags = data.flags;
53
+ this.lastThreadID = data.last_message_id;
54
+ this.nsfw = data.nsfw;
55
+ this.permissionOverwrites = new TypedCollection_1.default(PermissionOverwrite_1.default, client);
56
+ this.position = data.position;
57
+ this.rateLimitPerUser = data.rate_limit_per_user;
58
+ this.threads = new TypedCollection_1.default(PublicThreadChannel_1.default, client, this.client.util._getLimit("channelThreads", this.id));
59
+ this.topic = data.topic;
60
+ this.update(data);
61
+ }
62
+ update(data) {
63
+ super.update(data);
64
+ if (data.available_tags !== undefined) {
65
+ this.availableTags = data.available_tags.map(tag => ({
66
+ emoji: tag.emoji_id === null && tag.emoji_name === null ? null : { id: tag.emoji_id, name: tag.emoji_name },
67
+ id: tag.id,
68
+ moderated: tag.moderated,
69
+ name: tag.name
70
+ }));
71
+ }
72
+ if (data.default_auto_archive_duration !== undefined) {
73
+ this.defaultAutoArchiveDuration = data.default_auto_archive_duration;
74
+ }
75
+ if (data.default_forum_layout !== undefined) {
76
+ this.defaultForumLayout = data.default_forum_layout;
77
+ }
78
+ if (data.default_reaction_emoji !== undefined) {
79
+ 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 };
80
+ }
81
+ if (data.default_sort_order !== undefined) {
82
+ this.defaultSortOrder = data.default_sort_order;
83
+ }
84
+ if (data.default_thread_rate_limit_per_user !== undefined) {
85
+ this.defaultThreadRateLimitPerUser = data.default_thread_rate_limit_per_user;
86
+ }
87
+ if (data.flags !== undefined) {
88
+ this.flags = data.flags;
89
+ }
90
+ if (data.last_message_id !== undefined) {
91
+ this.lastThread = data.last_message_id === null ? null : this.threads.get(data.last_message_id);
92
+ this.lastThreadID = data.last_message_id;
93
+ }
94
+ if (data.nsfw !== undefined) {
95
+ this.nsfw = data.nsfw;
96
+ }
97
+ if (data.permission_overwrites !== undefined) {
98
+ for (const id of this.permissionOverwrites.keys()) {
99
+ if (!data.permission_overwrites.some(overwrite => overwrite.id === id)) {
100
+ this.permissionOverwrites.delete(id);
101
+ }
102
+ }
103
+ for (const overwrite of data.permission_overwrites) {
104
+ this.permissionOverwrites.update(overwrite);
105
+ }
106
+ }
107
+ if (data.position !== undefined) {
108
+ this.position = data.position;
109
+ }
110
+ if (data.rate_limit_per_user !== undefined) {
111
+ this.rateLimitPerUser = data.rate_limit_per_user;
112
+ }
113
+ if (data.topic !== undefined && data.topic !== null) {
114
+ this.topic = data.topic;
115
+ }
116
+ }
117
+ get parent() {
118
+ return super.parent;
119
+ }
120
+ /**
121
+ * Create an invite for this channel. If the guild is not a `COMMUNITY` server, invites can only be made to last 30 days.
122
+ * @param options The options for the invite.
123
+ */
124
+ async createInvite(options) {
125
+ return this.client.rest.channels.createInvite(this.id, options);
126
+ }
127
+ /**
128
+ * Create a webhook in this channel.
129
+ * @param options The options to create the webhook with.
130
+ */
131
+ async createWebhook(options) {
132
+ return this.client.rest.webhooks.create(this.id, options);
133
+ }
134
+ /**
135
+ * Delete a permission overwrite on this channel.
136
+ * @param overwriteID The ID of the permission overwrite to delete.
137
+ * @param reason The reason for deleting the permission overwrite.
138
+ */
139
+ async deletePermission(overwriteID, reason) {
140
+ return this.client.rest.channels.deletePermission(this.id, overwriteID, reason);
141
+ }
142
+ /**
143
+ * Edit a permission overwrite on this channel.
144
+ * @param overwriteID The ID of the permission overwrite to edit.
145
+ * @param options The options for editing the permission overwrite.
146
+ */
147
+ async editPermission(overwriteID, options) {
148
+ return this.client.rest.channels.editPermission(this.id, overwriteID, options);
149
+ }
150
+ /**
151
+ * Get the invites of this channel.
152
+ */
153
+ async getInvites() {
154
+ return this.client.rest.channels.getInvites(this.id);
155
+ }
156
+ /**
157
+ * Get the public archived threads in this channel.
158
+ * @param options The options for getting the public archived threads.
159
+ */
160
+ async getPublicArchivedThreads(options) {
161
+ return this.client.rest.channels.getPublicArchivedThreads(this.id, options);
162
+ }
163
+ /**
164
+ * Get the webhooks in this channel.
165
+ */
166
+ async getWebhooks() {
167
+ return this.client.rest.webhooks.getForChannel(this.id);
168
+ }
169
+ /**
170
+ * Get the permissions of a member. If providing an id, the member must be cached.
171
+ * @param member The member to get the permissions of.
172
+ */
173
+ permissionsOf(member) {
174
+ if (typeof member === "string") {
175
+ member = this.guild.members.get(member);
176
+ }
177
+ if (!member) {
178
+ throw new Errors_1.UncachedError(`Cannot use ${this.constructor.name}#permissionsOf with an ID when the member is not cached.`);
179
+ }
180
+ let permission = this.guild.permissionsOf(member).allow;
181
+ if (permission & Constants_1.Permissions.ADMINISTRATOR) {
182
+ return new Permission_1.default(Constants_1.AllPermissions);
183
+ }
184
+ let overwrite = this.permissionOverwrites.get(this.guildID);
185
+ if (overwrite) {
186
+ permission = (permission & ~overwrite.deny) | overwrite.allow;
187
+ }
188
+ let deny = 0n;
189
+ let allow = 0n;
190
+ for (const id of member.roles) {
191
+ if ((overwrite = this.permissionOverwrites.get(id))) {
192
+ deny |= overwrite.deny;
193
+ allow |= overwrite.allow;
194
+ }
195
+ }
196
+ permission = (permission & ~deny) | allow;
197
+ overwrite = this.permissionOverwrites.get(member.id);
198
+ if (overwrite) {
199
+ permission = (permission & ~overwrite.deny) | overwrite.allow;
200
+ }
201
+ return new Permission_1.default(permission);
202
+ }
203
+ /**
204
+ * Create a thread in this forum channel.
205
+ * @param options The options for starting the thread.
206
+ */
207
+ async startThread(options) {
208
+ return this.client.rest.channels.startThreadInThreadOnlyChannl(this.id, options);
209
+ }
210
+ toJSON() {
211
+ return {
212
+ ...super.toJSON(),
213
+ availableTags: this.availableTags,
214
+ defaultAutoArchiveDuration: this.defaultAutoArchiveDuration,
215
+ defaultForumLayout: this.defaultForumLayout,
216
+ defaultReactionEmoji: this.defaultReactionEmoji,
217
+ defaultSortOrder: this.defaultSortOrder,
218
+ defaultThreadRateLimitPerUser: this.defaultThreadRateLimitPerUser,
219
+ flags: this.flags,
220
+ lastThreadID: this.lastThreadID,
221
+ permissionOverwrites: this.permissionOverwrites.map(overwrite => overwrite.toJSON()),
222
+ position: this.position,
223
+ rateLimitPerUser: this.rateLimitPerUser,
224
+ threads: this.threads.map(thread => thread.id),
225
+ topic: this.topic,
226
+ type: this.type
227
+ };
228
+ }
229
+ }
230
+ exports.default = ThreadOnlyChannel;
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhyZWFkT25seUNoYW5uZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3RydWN0dXJlcy9UaHJlYWRPbmx5Q2hhbm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBZ0M7QUFDaEMsMEVBQTBDO0FBQzFDLHdGQUF3RDtBQUN4RCx3RkFBd0Q7QUFHeEQsc0VBQXNDO0FBZ0J0QyxzRkFBc0Q7QUFDdEQsNENBTXNCO0FBRXRCLDJDQUErQztBQUUvQyx3Q0FBd0M7QUFDeEMsTUFBcUIsaUJBQWtCLFNBQVEsc0JBQVk7SUFDdkQsbUNBQW1DO0lBQ25DLGFBQWEsQ0FBa0I7SUFDL0IscURBQXFEO0lBQ3JELDBCQUEwQixDQUE0QjtJQUN0RCx3REFBd0Q7SUFDeEQsa0JBQWtCLENBQW1CO0lBQ3JDLDhDQUE4QztJQUM5QyxvQkFBb0IsQ0FBb0I7SUFDeEMsd0RBQXdEO0lBQ3hELGdCQUFnQixDQUF3QjtJQUN4Qyx3RkFBd0Y7SUFDeEYsNkJBQTZCLENBQVM7SUFDdEMscUZBQXFGO0lBQ3JGLEtBQUssQ0FBUztJQUNkLHdDQUF3QztJQUN4QyxVQUFVLENBQThCO0lBQ3hDLDhDQUE4QztJQUM5QyxZQUFZLENBQWdCO0lBQzVCLG9DQUFvQztJQUNwQyxJQUFJLENBQVU7SUFDZCxpREFBaUQ7SUFDakQsb0JBQW9CLENBQTZEO0lBQ2pGLG1EQUFtRDtJQUNuRCxRQUFRLENBQVM7SUFDakIscUVBQXFFO0lBQ3JFLGdCQUFnQixDQUFTO0lBQ3pCLG1DQUFtQztJQUNuQyxPQUFPLENBQXVFO0lBQzlFLDhDQUE4QztJQUM5QyxLQUFLLENBQWdCO0lBRXJCLFlBQVksSUFBMEIsRUFBRSxNQUFjO1FBQ2xELEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FB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
@@ -29,12 +29,13 @@ export default class User extends Base {
29
29
  username: string;
30
30
  constructor(data: RawUser, client: Client);
31
31
  protected update(data: Partial<RawUser>): void;
32
- private get isMigrated();
33
32
  /** The default avatar value of this user. */
34
33
  get defaultAvatar(): number;
34
+ /** If this user has migrated to the new username system. */
35
+ get isMigrated(): boolean;
35
36
  /** A string that will mention this user. */
36
37
  get mention(): string;
37
- /** This user's display name, if migrated, else a combination of the user's username and discriminator. */
38
+ /** This user's unique username, if migrated, else a combination of the user's username and discriminator. */
38
39
  get tag(): string;
39
40
  /**
40
41
  * The url of this user's avatar decoration. This will always be a png.
@@ -63,9 +63,6 @@ class User extends Base_1.default {
63
63
  this.username = data.username;
64
64
  }
65
65
  }
66
- get isMigrated() {
67
- return this.globalName !== null && (this.discriminator === undefined || this.discriminator === "0");
68
- }
69
66
  /** The default avatar value of this user. */
70
67
  get defaultAvatar() {
71
68
  if (this.isMigrated) {
@@ -73,14 +70,18 @@ class User extends Base_1.default {
73
70
  }
74
71
  return Number(this.discriminator) % 5;
75
72
  }
73
+ /** If this user has migrated to the new username system. */
74
+ get isMigrated() {
75
+ return this.globalName !== null && (this.discriminator === undefined || this.discriminator === "0");
76
+ }
76
77
  /** A string that will mention this user. */
77
78
  get mention() {
78
79
  return `<@${this.id}>`;
79
80
  }
80
- /** This user's display name, if migrated, else a combination of the user's username and discriminator. */
81
+ /** This user's unique username, if migrated, else a combination of the user's username and discriminator. */
81
82
  get tag() {
82
83
  if (this.isMigrated) {
83
- return this.globalName;
84
+ return this.username;
84
85
  }
85
86
  return `${this.username}#${this.discriminator}`;
86
87
  }
@@ -129,4 +130,4 @@ class User extends Base_1.default {
129
130
  }
130
131
  }
131
132
  exports.default = User;
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL1VzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUJBQW1CO0FBQ25CLDBEQUEwQjtBQUcxQiwrREFBeUM7QUFLekMseUJBQXlCO0FBQ3pCLE1BQXFCLElBQUssU0FBUSxjQUFJO0lBQ2xDLHdHQUF3RztJQUN4RyxXQUFXLENBQWlCO0lBQzVCLDhCQUE4QjtJQUM5QixNQUFNLENBQWdCO0lBQ3RCLG9GQUFvRjtJQUNwRixnQkFBZ0IsQ0FBaUI7SUFDakMsdUdBQXVHO0lBQ3ZHLE1BQU0sQ0FBaUI7SUFDdkIsNkJBQTZCO0lBQzdCLEdBQUcsQ0FBVTtJQUNiLHVIQUF1SDtJQUN2SCxhQUFhLENBQVM7SUFDdEIsdUNBQXVDO0lBQ3ZDLFVBQVUsQ0FBZ0I7SUFDMUIsNEdBQTRHO0lBQzVHLFdBQVcsQ0FBUztJQUNwQix1REFBdUQ7SUFDdkQsTUFBTSxDQUFVO0lBQ2hCLDJCQUEyQjtJQUMzQixRQUFRLENBQVM7SUFDakIsWUFBWSxJQUFhLEVBQUUsTUFBYztRQUNyQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFB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
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdHJ1Y3R1cmVzL1VzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUJBQW1CO0FBQ25CLDBEQUEwQjtBQUcxQiwrREFBeUM7QUFLekMseUJBQXlCO0FBQ3pCLE1BQXFCLElBQUssU0FBUSxjQUFJO0lBQ2xDLHdHQUF3RztJQUN4RyxXQUFXLENBQWlCO0lBQzVCLDhCQUE4QjtJQUM5QixNQUFNLENBQWdCO0lBQ3RCLG9GQUFvRjtJQUNwRixnQkFBZ0IsQ0FBaUI7SUFDakMsdUdBQXVHO0lBQ3ZHLE1BQU0sQ0FBaUI7SUFDdkIsNkJBQTZCO0lBQzdCLEdBQUcsQ0FBVTtJQUNiLHVIQUF1SDtJQUN2SCxhQUFhLENBQVM7SUFDdEIsdUNBQXVDO0lBQ3ZDLFVBQVUsQ0FBZ0I7SUFDMUIsNEdBQTRHO0lBQzVHLFdBQVcsQ0FBUztJQUNwQix1REFBdUQ7SUFDdkQsTUFBTSxDQUFVO0lBQ2hCLDJCQUEyQjtJQUMzQixRQUFRLENBQVM7SUFDakIsWUFBWSxJQUFhLEVBQUUsTUFBYztRQUNyQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsSUFB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
@@ -35,7 +35,8 @@ import type {
35
35
  VoiceChannelTypes,
36
36
  InteractionChannelTypes,
37
37
  InviteChannelTypes,
38
- ImplementedChannelTypes
38
+ ImplementedChannelTypes,
39
+ ThreadOnlyChannelTypes
39
40
  } from "../Constants";
40
41
  import type Member from "../structures/Member";
41
42
  import type AnnouncementChannel from "../structures/AnnouncementChannel";
@@ -83,7 +84,6 @@ export interface RawChannel {
83
84
  rate_limit_per_user?: number;
84
85
  recipients?: Array<RawUser>;
85
86
  rtc_region?: string | null;
86
- template?: string;
87
87
  thread_metadata?: RawThreadMetadata;
88
88
  topic?: string | null;
89
89
  total_message_sent?: number;
@@ -104,7 +104,9 @@ export type RawThreadChannel = RawAnnouncementThreadChannel | RawPublicThreadCha
104
104
  export interface RawAnnouncementThreadChannel extends Required<Pick<RawChannel, "id" | "guild_id" | "parent_id" | "owner_id" | "last_message_id" | "thread_metadata" | "message_count" | "member_count" | "rate_limit_per_user" | "flags" | "total_message_sent" | "newly_created" | "member">> { name: string; type: ChannelTypes.ANNOUNCEMENT_THREAD; }
105
105
  export interface RawPublicThreadChannel extends Omit<RawAnnouncementThreadChannel, "type">, Required<Pick<RawChannel, "applied_tags">> { type: ChannelTypes.PUBLIC_THREAD; }
106
106
  export interface RawPrivateThreadChannel extends Omit<RawAnnouncementThreadChannel, "type" | "member"> { member: RawChannel["member"]; type: ChannelTypes.PRIVATE_THREAD; }
107
- export interface RawForumChannel extends Omit<RawGuildChannel, "type">, Required<Pick<RawChannel, "position" | "topic" | "flags" | "permission_overwrites" | "rate_limit_per_user" | "nsfw" | "available_tags" | "template" | "default_reaction_emoji" | "last_message_id" | "default_sort_order" | "default_thread_rate_limit_per_user" | "default_auto_archive_duration" | "default_forum_layout">> { type: ChannelTypes.GUILD_FORUM; }
107
+ export interface RawThreadOnlyChannel extends Omit<RawGuildChannel, "type">, Required<Pick<RawChannel, "position" | "topic" | "flags" | "permission_overwrites" | "rate_limit_per_user" | "nsfw" | "available_tags" | "default_reaction_emoji" | "last_message_id" | "default_sort_order" | "default_thread_rate_limit_per_user" | "default_auto_archive_duration" | "default_forum_layout">> { type: ThreadOnlyChannels; }
108
+ export interface RawForumChannel extends Omit<RawThreadOnlyChannel, "type"> { type: ChannelTypes.GUILD_FORUM; }
109
+ export interface RawMediaChannel extends Omit<RawThreadOnlyChannel, "type"> { type: ChannelTypes.GUILD_MEDIA; }
108
110
 
109
111
  export interface PartialChannel extends Pick<RawChannel, "id" | "name" | "type"> {}
110
112
  export interface RawInteractionResolvedChannel extends Omit<Required<Pick<RawChannel, "id" | "type" | "permissions">>, "name">, Pick<RawChannel, "thread_metadata" | "parent_id"> { name: string | null; }
@@ -253,23 +255,26 @@ export interface EditStageChannelOptions extends EditAnyGuildChannelOptions, Pic
253
255
  export interface EditThreadChannelOptions extends EditPublicThreadChannelOptions, EditPrivateThreadChannelOptions {}
254
256
  export interface EditPublicThreadChannelOptions extends Pick<EditGuildChannelOptions, "name" | "archived" | "autoArchiveDuration" | "locked" | "rateLimitPerUser" | "flags" | "appliedTags"> {}
255
257
  export interface EditPrivateThreadChannelOptions extends EditPublicThreadChannelOptions, Pick<EditGuildChannelOptions, "invitable"> {}
256
- export interface EditForumChannelOptions extends EditAnyGuildChannelOptions, Pick<EditGuildChannelOptions, "availableTags" | "defaultReactionEmoji" | "defaultSortOrder" |"defaultThreadRateLimitPerUser" | "flags" | "nsfw" | "rateLimitPerUser" | "topic"> {}
258
+ export interface EditForumChannelOptions extends EditAnyGuildChannelOptions, Pick<EditGuildChannelOptions, "availableTags" | "defaultReactionEmoji" | "defaultSortOrder" |"defaultThreadRateLimitPerUser" | "flags" | "nsfw" | "rateLimitPerUser" | "topic" | "defaultForumLayout"> {}
259
+ export interface EditMediaChannelOptions extends EditAnyGuildChannelOptions, Pick<EditGuildChannelOptions, "availableTags" | "defaultReactionEmoji" | "defaultSortOrder" |"defaultThreadRateLimitPerUser" | "flags" | "nsfw" | "rateLimitPerUser" | "topic"> {}
257
260
 
261
+ /* eslint-disable @typescript-eslint/member-ordering */
258
262
  export interface EditChannelOptionsMap {
259
- [ChannelTypes.ANNOUNCEMENT_THREAD]: EditPublicThreadChannelOptions;
263
+ [ChannelTypes.GUILD_TEXT]: EditTextChannelOptions;
260
264
  [ChannelTypes.DM]: never;
265
+ [ChannelTypes.GUILD_VOICE]: EditVoiceChannelOptions;
261
266
  [ChannelTypes.GROUP_DM]: EditGroupDMOptions;
262
- [ChannelTypes.GUILD_ANNOUNCEMENT]: EditAnnouncementChannelOptions;
263
267
  [ChannelTypes.GUILD_CATEGORY]: EditAnyGuildChannelOptions;
268
+ [ChannelTypes.GUILD_ANNOUNCEMENT]: EditAnnouncementChannelOptions;
269
+ [ChannelTypes.ANNOUNCEMENT_THREAD]: EditPublicThreadChannelOptions;
270
+ [ChannelTypes.PUBLIC_THREAD]: EditPublicThreadChannelOptions;
271
+ [ChannelTypes.PRIVATE_THREAD]: EditPrivateThreadChannelOptions;
272
+ [ChannelTypes.GUILD_STAGE_VOICE]: EditStageChannelOptions;
264
273
  [ChannelTypes.GUILD_DIRECTORY]: never;
265
274
  [ChannelTypes.GUILD_FORUM]: EditForumChannelOptions;
266
- [ChannelTypes.GUILD_STAGE_VOICE]: EditStageChannelOptions;
267
- [ChannelTypes.GUILD_TEXT]: EditTextChannelOptions;
268
- [ChannelTypes.GUILD_VOICE]: EditVoiceChannelOptions;
269
- [ChannelTypes.PRIVATE_THREAD]: EditPrivateThreadChannelOptions;
270
- [ChannelTypes.PUBLIC_THREAD]: EditPublicThreadChannelOptions;
275
+ [ChannelTypes.GUILD_MEDIA]: EditMediaChannelOptions;
271
276
  }
272
-
277
+ /* eslint-enable @typescript-eslint/member-ordering */
273
278
 
274
279
  export interface AddGroupRecipientOptions {
275
280
  /** The access token of the user to add. */
@@ -740,6 +745,7 @@ export type TextableGuildChannelsWithoutThreads = typeof TextableGuildChannelTyp
740
745
  export type VoiceChannels = typeof VoiceChannelTypes[number];
741
746
  export type InviteChannels = typeof InviteChannelTypes[number];
742
747
  export type InteractionChannels = typeof InteractionChannelTypes[number];
748
+ export type ThreadOnlyChannels = typeof ThreadOnlyChannelTypes[number];
743
749
 
744
750
 
745
751
  export type AnyChannel = ChannelTypeMap[ChannelTypes];
@@ -757,6 +763,7 @@ export type AnyTextableGuildChannelWithoutThreads = ChannelTypeMap[TextableGuild
757
763
  export type AnyVoiceChannel = ChannelTypeMap[VoiceChannels];
758
764
  export type AnyInviteChannel = ChannelTypeMap[InviteChannels];
759
765
  export type AnyInteractionChannel = ChannelTypeMap[InteractionChannels];
766
+ export type AnyThreadOnlyChannel = ChannelTypeMap[ThreadOnlyChannels];
760
767
 
761
768
  export interface PartialInviteChannel {
762
769
  icon?: string | null;
@@ -920,12 +927,12 @@ export interface StartThreadWithoutMessageOptions extends StartThreadFromMessage
920
927
  type: ThreadChannels;
921
928
  }
922
929
 
923
- export interface StartThreadInForumOptions extends StartThreadFromMessageOptions {
930
+ export interface StartThreadInThreadOnlyChannelOptions extends StartThreadFromMessageOptions {
924
931
  /** The message to start the thread with. */
925
- message: ForumThreadStarterMessageOptions;
932
+ message: ThreadOnlyChannelThreadStarterMessageOptions;
926
933
  }
927
934
 
928
- export type ForumThreadStarterMessageOptions = Pick<CreateMessageOptions, "content" | "embeds" | "allowedMentions" | "components" | "stickerIDs" | "attachments" | "flags" | "files">;
935
+ export type ThreadOnlyChannelThreadStarterMessageOptions = Pick<CreateMessageOptions, "content" | "embeds" | "allowedMentions" | "components" | "stickerIDs" | "attachments" | "flags" | "files">;
929
936
 
930
937
  export interface GetArchivedThreadsOptions {
931
938
  /** A **timestamp** to get threads before. */
@@ -21,7 +21,7 @@ import type {
21
21
  JSONAnnouncementThreadChannel,
22
22
  JSONAutoModerationRule,
23
23
  JSONCategoryChannel,
24
- JSONForumChannel,
24
+ JSONThreadOnlyChannel,
25
25
  JSONGuild,
26
26
  JSONIntegration,
27
27
  JSONMember,
@@ -89,7 +89,7 @@ export interface ClientEvents {
89
89
  /** @event Emitted when a channel's pins are updated (message pinned, message unpinned). Requires the `GUILDS` intent for guild channels, and `DIRECT_MESSAGES` for direct messages. */
90
90
  channelPinsUpdate: [channel: AnyTextableChannel | Uncached, timestamp: Date | null];
91
91
  /** @event Emitted when a channel is updated. Requires the `GUILDS` intent. */
92
- channelUpdate: [channel: TextChannel, oldChannel: JSONTextChannel | null] | [channel: VoiceChannel, oldChannel: JSONVoiceChannel | null] | [channel: CategoryChannel, oldChannel: JSONCategoryChannel | null] | [channel: AnnouncementChannel, oldChannel: JSONAnnouncementChannel | null] | [channel: StageChannel, oldChannel: JSONStageChannel | null] | [channel: ForumChannel, oldChannel: JSONForumChannel | null];
92
+ channelUpdate: [channel: TextChannel, oldChannel: JSONTextChannel | null] | [channel: VoiceChannel, oldChannel: JSONVoiceChannel | null] | [channel: CategoryChannel, oldChannel: JSONCategoryChannel | null] | [channel: AnnouncementChannel, oldChannel: JSONAnnouncementChannel | null] | [channel: StageChannel, oldChannel: JSONStageChannel | null] | [channel: ForumChannel, oldChannel: JSONThreadOnlyChannel | null];
93
93
  /** @event Emitted when a shard connects. */
94
94
  connect: [id: number];
95
95
  /** @event Emitted with various information for debugging. */
@@ -36,7 +36,8 @@ import type {
36
36
  GuildChannels,
37
37
  TextableGuildChannels,
38
38
  ThreadChannels,
39
- VoiceChannels
39
+ VoiceChannels,
40
+ ThreadOnlyChannels
40
41
  } from "./channels";
41
42
  import type { ScheduledEventEntityMetadata } from "./scheduled-events";
42
43
  import type {
@@ -212,21 +213,8 @@ export interface JSONExtendedUser extends JSONUser {
212
213
  mfaEnabled: boolean;
213
214
  verified: boolean;
214
215
  }
215
- export interface JSONForumChannel extends JSONGuildChannel {
216
- availableTags: Array<ForumTag>;
217
- defaultAutoArchiveDuration: ThreadAutoArchiveDuration;
218
- defaultForumLayout: ForumLayoutTypes;
219
- defaultReactionEmoji: ForumEmoji | null;
220
- defaultSortOrder: SortOrderTypes | null;
221
- defaultThreadRateLimitPerUser: number;
222
- flags: number;
223
- lastThreadID: string | null;
224
- permissionOverwrites: Array<JSONPermissionOverwrite>;
225
- position: number;
226
- rateLimitPerUser: number;
227
- template: string;
228
- threads: Array<string>;
229
- topic: string | null;
216
+ export interface JSONForumChannel extends JSONThreadOnlyChannel {
217
+ type: ChannelTypes.GUILD_FORUM;
230
218
  }
231
219
  export interface JSONGroupChannel extends JSONChannel {
232
220
  applicationID: string;
@@ -379,6 +367,9 @@ export interface JSONInviteGuild extends JSONBase {
379
367
  vanityURLCode: string | null;
380
368
  verificationLevel: VerificationLevels;
381
369
  }
370
+ export interface JSONMediaChannel extends JSONThreadOnlyChannel {
371
+ type: ChannelTypes.GUILD_MEDIA;
372
+ }
382
373
  export interface JSONMember extends JSONBase {
383
374
  avatar: string | null;
384
375
  communicationDisabledUntil: number | null;
@@ -599,6 +590,22 @@ export interface JSONThreadChannel extends JSONGuildChannel {
599
590
  totalMessageSent: number;
600
591
  type: ThreadChannels;
601
592
  }
593
+ export interface JSONThreadOnlyChannel extends JSONGuildChannel {
594
+ availableTags: Array<ForumTag>;
595
+ defaultAutoArchiveDuration: ThreadAutoArchiveDuration;
596
+ defaultForumLayout: ForumLayoutTypes;
597
+ defaultReactionEmoji: ForumEmoji | null;
598
+ defaultSortOrder: SortOrderTypes | null;
599
+ defaultThreadRateLimitPerUser: number;
600
+ flags: number;
601
+ lastThreadID: string | null;
602
+ permissionOverwrites: Array<JSONPermissionOverwrite>;
603
+ position: number;
604
+ rateLimitPerUser: number;
605
+ threads: Array<string>;
606
+ topic: string | null;
607
+ type: ThreadOnlyChannels;
608
+ }
602
609
  export interface JSONUnavailableGuild extends JSONBase {
603
610
  unavailable: true;
604
611
  }
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oceanic.js",
3
- "version": "1.7.1",
3
+ "version": "1.7.2-dev.751ece4",
4
4
  "description": "A NodeJS library for interfacing with Discord.",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "./dist/lib/index.d.ts",
package/esm.mjs CHANGED
@@ -34,6 +34,7 @@ const InteractionResolvedChannel = (await import("./dist/lib/structures/Interact
34
34
  const InteractionOptionsWrapper = (await import("./dist/lib/util/InteractionOptionsWrapper.js")).default.default;
35
35
  const Invite = (await import("./dist/lib/structures/Invite.js")).default.default;
36
36
  const InviteGuild = (await import("./dist/lib/structures/InviteGuild.js")).default.default;
37
+ const MediaChannel = (await import("./dist/lib/structures/MediaChannel.js")).default.default;
37
38
  const Member = (await import("./dist/lib/structures/Member.js")).default.default;
38
39
  const Message = (await import("./dist/lib/structures/Message.js")).default.default;
39
40
  const ModalSubmitInteraction = (await import("./dist/lib/structures/ModalSubmitInteraction.js")).default.default;
@@ -61,6 +62,7 @@ const TextableChannel = (await import("./dist/lib/structures/TextableChannel.js"
61
62
  const TextableVoiceChannel = (await import("./dist/lib/structures/TextableVoiceChannel.js")).default.default;
62
63
  const ThreadableChannel = (await import("./dist/lib/structures/ThreadableChannel.js")).default.default;
63
64
  const ThreadChannel = (await import("./dist/lib/structures/ThreadChannel.js")).default.default;
65
+ const ThreadOnlyChannel = (await import("./dist/lib/structures/ThreadOnlyChannel.js")).default.default;
64
66
  const TextChannel = (await import("./dist/lib/structures/TextChannel.js")).default.default;
65
67
  const TypedCollection = (await import("./dist/lib/util/TypedCollection.js")).default.default;
66
68
  const TypedEmitter = (await import("./dist/lib/util/TypedEmitter.js")).default.default;
@@ -110,6 +112,7 @@ export {
110
112
  InteractionOptionsWrapper,
111
113
  Invite,
112
114
  InviteGuild,
115
+ MediaChannel,
113
116
  Member,
114
117
  Message,
115
118
  ModalSubmitInteraction,
@@ -138,6 +141,7 @@ export {
138
141
  TextChannel,
139
142
  ThreadableChannel,
140
143
  ThreadChannel,
144
+ ThreadOnlyChannel,
141
145
  TypedCollection,
142
146
  TypedEmitter,
143
147
  UnavailableGuild,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oceanic.js",
3
- "version": "1.7.1",
3
+ "version": "1.7.2-dev.751ece4",
4
4
  "description": "A NodeJS library for interfacing with Discord.",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "./dist/lib/index.d.ts",