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.
- package/dist/lib/Constants.d.ts +15 -8
- package/dist/lib/Constants.js +11 -7
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +7 -3
- package/dist/lib/routes/Channels.d.ts +3 -3
- package/dist/lib/routes/Channels.js +3 -3
- package/dist/lib/structures/Channel.js +5 -1
- package/dist/lib/structures/ForumChannel.d.ts +5 -94
- package/dist/lib/structures/ForumChannel.js +5 -223
- package/dist/lib/structures/MediaChannel.d.ts +11 -0
- package/dist/lib/structures/MediaChannel.js +19 -0
- package/dist/lib/structures/TextableVoiceChannel.d.ts +1 -1
- package/dist/lib/structures/TextableVoiceChannel.js +2 -2
- package/dist/lib/structures/ThreadOnlyChannel.d.ts +98 -0
- package/dist/lib/structures/ThreadOnlyChannel.js +231 -0
- package/dist/lib/structures/User.d.ts +3 -2
- package/dist/lib/structures/User.js +7 -6
- package/dist/lib/types/channels.d.ts +22 -15
- package/dist/lib/types/events.d.ts +2 -2
- package/dist/lib/types/json.d.ts +23 -16
- package/dist/package.json +1 -1
- package/esm.mjs +4 -0
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
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.
|
|
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,
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
930
|
+
export interface StartThreadInThreadOnlyChannelOptions extends StartThreadFromMessageOptions {
|
|
924
931
|
/** The message to start the thread with. */
|
|
925
|
-
message:
|
|
932
|
+
message: ThreadOnlyChannelThreadStarterMessageOptions;
|
|
926
933
|
}
|
|
927
934
|
|
|
928
|
-
export type
|
|
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
|
-
|
|
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:
|
|
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. */
|
package/dist/lib/types/json.d.ts
CHANGED
|
@@ -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
|
|
216
|
-
|
|
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
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,
|