discord.js 15.0.0-dev.1752538515-5a611be8d → 15.0.0-dev.1752624900-d03cacbde
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/package.json +2 -2
- package/src/managers/MessageManager.js +50 -11
- package/typings/index.d.mts +18 -1
- package/typings/index.d.ts +18 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "discord.js",
|
|
4
|
-
"version": "15.0.0-dev.
|
|
4
|
+
"version": "15.0.0-dev.1752624900-d03cacbde",
|
|
5
5
|
"description": "A powerful library for interacting with the Discord API",
|
|
6
6
|
"main": "./src/index.js",
|
|
7
7
|
"types": "./typings/index.d.ts",
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
"tslib": "^2.8.1",
|
|
63
63
|
"undici": "7.11.0",
|
|
64
64
|
"@discordjs/builders": "^1.11.1",
|
|
65
|
-
"@discordjs/collection": "^2.1.1",
|
|
66
65
|
"@discordjs/formatters": "^0.6.1",
|
|
66
|
+
"@discordjs/collection": "^2.1.1",
|
|
67
67
|
"@discordjs/rest": "^2.5.0",
|
|
68
68
|
"@discordjs/util": "^1.1.1",
|
|
69
69
|
"@discordjs/ws": "^2.0.2"
|
|
@@ -123,24 +123,63 @@ class MessageManager extends CachedManager {
|
|
|
123
123
|
return data.reduce((_data, message) => _data.set(message.id, this._add(message, options.cache)), new Collection());
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
/**
|
|
127
|
+
* Options used to fetch pinned messages.
|
|
128
|
+
*
|
|
129
|
+
* @typedef {Object} FetchPinnedMessagesOptions
|
|
130
|
+
* @property {DateResolvable} [before] Consider only pinned messages before this time
|
|
131
|
+
* @property {number} [limit] The maximum number of pinned messages to return
|
|
132
|
+
* @property {boolean} [cache] Whether to cache the pinned messages
|
|
133
|
+
*/
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Data returned from fetching pinned messages.
|
|
137
|
+
*
|
|
138
|
+
* @typedef {Object} FetchPinnedMessagesResponse
|
|
139
|
+
* @property {MessagePin[]} items The pinned messages
|
|
140
|
+
* @property {boolean} hasMore Whether there are additional pinned messages that require a subsequent call
|
|
141
|
+
*/
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Pinned message data returned from fetching pinned messages.
|
|
145
|
+
*
|
|
146
|
+
* @typedef {Object} MessagePin
|
|
147
|
+
* @property {Date} pinnedAt The time the message was pinned at
|
|
148
|
+
* @property {number} pinnedTimestamp The timestamp the message was pinned at
|
|
149
|
+
* @property {Message} message The pinned message
|
|
150
|
+
*/
|
|
151
|
+
|
|
126
152
|
/**
|
|
127
153
|
* Fetches the pinned messages of this channel and returns a collection of them.
|
|
128
154
|
* <info>The returned Collection does not contain any reaction data of the messages.
|
|
129
155
|
* Those need to be fetched separately.</info>
|
|
130
156
|
*
|
|
131
|
-
* @param {
|
|
132
|
-
* @returns {Promise<
|
|
157
|
+
* @param {FetchPinnedMessagesOptions} [options={}] Options for fetching pinned messages
|
|
158
|
+
* @returns {Promise<FetchPinnedMessagesResponse>}
|
|
133
159
|
* @example
|
|
134
160
|
* // Get pinned messages
|
|
135
|
-
* channel.messages.
|
|
136
|
-
* .then(messages => console.log(`Received ${messages.
|
|
161
|
+
* channel.messages.fetchPins()
|
|
162
|
+
* .then(messages => console.log(`Received ${messages.items.length} messages`))
|
|
137
163
|
* .catch(console.error);
|
|
138
164
|
*/
|
|
139
|
-
async
|
|
140
|
-
const data = await this.client.rest.get(Routes.
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
165
|
+
async fetchPins(options = {}) {
|
|
166
|
+
const data = await this.client.rest.get(Routes.channelMessagesPins(this.channel.id), {
|
|
167
|
+
query: makeURLSearchParams({
|
|
168
|
+
...options,
|
|
169
|
+
before: options.before && new Date(options.before).toISOString(),
|
|
170
|
+
}),
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
return {
|
|
174
|
+
items: data.items.map(item => ({
|
|
175
|
+
pinnedTimestamp: Date.parse(item.pinned_at),
|
|
176
|
+
get pinnedAt() {
|
|
177
|
+
return new Date(this.pinnedTimestamp);
|
|
178
|
+
},
|
|
179
|
+
message: this._add(item.message, options.cache),
|
|
180
|
+
})),
|
|
181
|
+
hasMore: data.has_more,
|
|
182
|
+
};
|
|
144
183
|
}
|
|
145
184
|
|
|
146
185
|
/**
|
|
@@ -221,7 +260,7 @@ class MessageManager extends CachedManager {
|
|
|
221
260
|
const messageId = this.resolveId(message);
|
|
222
261
|
if (!messageId) throw new DiscordjsTypeError(ErrorCodes.InvalidType, 'message', 'MessageResolvable');
|
|
223
262
|
|
|
224
|
-
await this.client.rest.put(Routes.
|
|
263
|
+
await this.client.rest.put(Routes.channelMessagesPin(this.channel.id, messageId), { reason });
|
|
225
264
|
}
|
|
226
265
|
|
|
227
266
|
/**
|
|
@@ -235,7 +274,7 @@ class MessageManager extends CachedManager {
|
|
|
235
274
|
const messageId = this.resolveId(message);
|
|
236
275
|
if (!messageId) throw new DiscordjsTypeError(ErrorCodes.InvalidType, 'message', 'MessageResolvable');
|
|
237
276
|
|
|
238
|
-
await this.client.rest.delete(Routes.
|
|
277
|
+
await this.client.rest.delete(Routes.channelMessagesPin(this.channel.id, messageId), { reason });
|
|
239
278
|
}
|
|
240
279
|
|
|
241
280
|
/**
|
package/typings/index.d.mts
CHANGED
|
@@ -4516,7 +4516,7 @@ export abstract class MessageManager<InGuild extends boolean = boolean> extends
|
|
|
4516
4516
|
): Promise<Message<InGuild>>;
|
|
4517
4517
|
public fetch(options: FetchMessageOptions | MessageResolvable): Promise<Message<InGuild>>;
|
|
4518
4518
|
public fetch(options?: FetchMessagesOptions): Promise<Collection<Snowflake, Message<InGuild>>>;
|
|
4519
|
-
public
|
|
4519
|
+
public fetchPins(options?: FetchPinnedMessagesOptions): Promise<FetchPinnedMessagesResponse<InGuild>>;
|
|
4520
4520
|
public react(message: MessageResolvable, emoji: EmojiIdentifierResolvable): Promise<void>;
|
|
4521
4521
|
public pin(message: MessageResolvable, reason?: string): Promise<void>;
|
|
4522
4522
|
public unpin(message: MessageResolvable, reason?: string): Promise<void>;
|
|
@@ -5800,6 +5800,23 @@ export interface FetchMessagesOptions {
|
|
|
5800
5800
|
limit?: number;
|
|
5801
5801
|
}
|
|
5802
5802
|
|
|
5803
|
+
export interface FetchPinnedMessagesOptions {
|
|
5804
|
+
before?: DateResolvable;
|
|
5805
|
+
cache?: boolean;
|
|
5806
|
+
limit?: number;
|
|
5807
|
+
}
|
|
5808
|
+
|
|
5809
|
+
export interface FetchPinnedMessagesResponse<InGuild extends boolean = boolean> {
|
|
5810
|
+
hasMore: boolean;
|
|
5811
|
+
items: readonly MessagePin<InGuild>[];
|
|
5812
|
+
}
|
|
5813
|
+
|
|
5814
|
+
export interface MessagePin<InGuild extends boolean = boolean> {
|
|
5815
|
+
message: Message<InGuild>;
|
|
5816
|
+
get pinnedAt(): Date;
|
|
5817
|
+
pinnedTimestamp: number;
|
|
5818
|
+
}
|
|
5819
|
+
|
|
5803
5820
|
export interface FetchReactionUsersOptions {
|
|
5804
5821
|
after?: Snowflake;
|
|
5805
5822
|
limit?: number;
|
package/typings/index.d.ts
CHANGED
|
@@ -4516,7 +4516,7 @@ export abstract class MessageManager<InGuild extends boolean = boolean> extends
|
|
|
4516
4516
|
): Promise<Message<InGuild>>;
|
|
4517
4517
|
public fetch(options: FetchMessageOptions | MessageResolvable): Promise<Message<InGuild>>;
|
|
4518
4518
|
public fetch(options?: FetchMessagesOptions): Promise<Collection<Snowflake, Message<InGuild>>>;
|
|
4519
|
-
public
|
|
4519
|
+
public fetchPins(options?: FetchPinnedMessagesOptions): Promise<FetchPinnedMessagesResponse<InGuild>>;
|
|
4520
4520
|
public react(message: MessageResolvable, emoji: EmojiIdentifierResolvable): Promise<void>;
|
|
4521
4521
|
public pin(message: MessageResolvable, reason?: string): Promise<void>;
|
|
4522
4522
|
public unpin(message: MessageResolvable, reason?: string): Promise<void>;
|
|
@@ -5800,6 +5800,23 @@ export interface FetchMessagesOptions {
|
|
|
5800
5800
|
limit?: number;
|
|
5801
5801
|
}
|
|
5802
5802
|
|
|
5803
|
+
export interface FetchPinnedMessagesOptions {
|
|
5804
|
+
before?: DateResolvable;
|
|
5805
|
+
cache?: boolean;
|
|
5806
|
+
limit?: number;
|
|
5807
|
+
}
|
|
5808
|
+
|
|
5809
|
+
export interface FetchPinnedMessagesResponse<InGuild extends boolean = boolean> {
|
|
5810
|
+
hasMore: boolean;
|
|
5811
|
+
items: readonly MessagePin<InGuild>[];
|
|
5812
|
+
}
|
|
5813
|
+
|
|
5814
|
+
export interface MessagePin<InGuild extends boolean = boolean> {
|
|
5815
|
+
message: Message<InGuild>;
|
|
5816
|
+
get pinnedAt(): Date;
|
|
5817
|
+
pinnedTimestamp: number;
|
|
5818
|
+
}
|
|
5819
|
+
|
|
5803
5820
|
export interface FetchReactionUsersOptions {
|
|
5804
5821
|
after?: Snowflake;
|
|
5805
5822
|
limit?: number;
|