mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 18:43:31 +01:00
feat: Backport reason on pin and unpin (#7556)
This commit is contained in:
@@ -156,25 +156,27 @@ class MessageManager extends CachedManager {
|
|||||||
/**
|
/**
|
||||||
* Pins a message to the channel's pinned messages, even if it's not cached.
|
* Pins a message to the channel's pinned messages, even if it's not cached.
|
||||||
* @param {MessageResolvable} message The message to pin
|
* @param {MessageResolvable} message The message to pin
|
||||||
|
* @param {string} [reason] Reason for pinning
|
||||||
* @returns {Promise<void>}
|
* @returns {Promise<void>}
|
||||||
*/
|
*/
|
||||||
async pin(message) {
|
async pin(message, reason) {
|
||||||
message = this.resolveId(message);
|
message = this.resolveId(message);
|
||||||
if (!message) throw new TypeError('INVALID_TYPE', 'message', 'MessageResolvable');
|
if (!message) throw new TypeError('INVALID_TYPE', 'message', 'MessageResolvable');
|
||||||
|
|
||||||
await this.client.api.channels(this.channel.id).pins(message).put();
|
await this.client.api.channels(this.channel.id).pins(message).put({ reason });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unpins a message from the channel's pinned messages, even if it's not cached.
|
* Unpins a message from the channel's pinned messages, even if it's not cached.
|
||||||
* @param {MessageResolvable} message The message to unpin
|
* @param {MessageResolvable} message The message to unpin
|
||||||
|
* @param {string} [reason] Reason for unpinning
|
||||||
* @returns {Promise<void>}
|
* @returns {Promise<void>}
|
||||||
*/
|
*/
|
||||||
async unpin(message) {
|
async unpin(message, reason) {
|
||||||
message = this.resolveId(message);
|
message = this.resolveId(message);
|
||||||
if (!message) throw new TypeError('INVALID_TYPE', 'message', 'MessageResolvable');
|
if (!message) throw new TypeError('INVALID_TYPE', 'message', 'MessageResolvable');
|
||||||
|
|
||||||
await this.client.api.channels(this.channel.id).pins(message).delete();
|
await this.client.api.channels(this.channel.id).pins(message).delete({ reason });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -720,6 +720,7 @@ class Message extends Base {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Pins this message to the channel's pinned messages.
|
* Pins this message to the channel's pinned messages.
|
||||||
|
* @param {string} [reason] Reason for pinning
|
||||||
* @returns {Promise<Message>}
|
* @returns {Promise<Message>}
|
||||||
* @example
|
* @example
|
||||||
* // Pin a message
|
* // Pin a message
|
||||||
@@ -727,14 +728,15 @@ class Message extends Base {
|
|||||||
* .then(console.log)
|
* .then(console.log)
|
||||||
* .catch(console.error)
|
* .catch(console.error)
|
||||||
*/
|
*/
|
||||||
async pin() {
|
async pin(reason) {
|
||||||
if (!this.channel) throw new Error('CHANNEL_NOT_CACHED');
|
if (!this.channel) throw new Error('CHANNEL_NOT_CACHED');
|
||||||
await this.channel.messages.pin(this.id);
|
await this.channel.messages.pin(this.id, reason);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unpins this message from the channel's pinned messages.
|
* Unpins this message from the channel's pinned messages.
|
||||||
|
* @param {string} [reason] Reason for unpinning
|
||||||
* @returns {Promise<Message>}
|
* @returns {Promise<Message>}
|
||||||
* @example
|
* @example
|
||||||
* // Unpin a message
|
* // Unpin a message
|
||||||
@@ -742,9 +744,9 @@ class Message extends Base {
|
|||||||
* .then(console.log)
|
* .then(console.log)
|
||||||
* .catch(console.error)
|
* .catch(console.error)
|
||||||
*/
|
*/
|
||||||
async unpin() {
|
async unpin(reason) {
|
||||||
if (!this.channel) throw new Error('CHANNEL_NOT_CACHED');
|
if (!this.channel) throw new Error('CHANNEL_NOT_CACHED');
|
||||||
await this.channel.messages.unpin(this.id);
|
await this.channel.messages.unpin(this.id, reason);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
8
typings/index.d.ts
vendored
8
typings/index.d.ts
vendored
@@ -1546,7 +1546,7 @@ export class Message<Cached extends boolean = boolean> extends Base {
|
|||||||
public fetchWebhook(): Promise<Webhook>;
|
public fetchWebhook(): Promise<Webhook>;
|
||||||
public crosspost(): Promise<Message>;
|
public crosspost(): Promise<Message>;
|
||||||
public fetch(force?: boolean): Promise<Message>;
|
public fetch(force?: boolean): Promise<Message>;
|
||||||
public pin(): Promise<Message>;
|
public pin(reason?: string): Promise<Message>;
|
||||||
public react(emoji: EmojiIdentifierResolvable): Promise<MessageReaction>;
|
public react(emoji: EmojiIdentifierResolvable): Promise<MessageReaction>;
|
||||||
public removeAttachments(): Promise<Message>;
|
public removeAttachments(): Promise<Message>;
|
||||||
public reply(options: string | MessagePayload | ReplyMessageOptions): Promise<Message>;
|
public reply(options: string | MessagePayload | ReplyMessageOptions): Promise<Message>;
|
||||||
@@ -1555,7 +1555,7 @@ export class Message<Cached extends boolean = boolean> extends Base {
|
|||||||
public suppressEmbeds(suppress?: boolean): Promise<Message>;
|
public suppressEmbeds(suppress?: boolean): Promise<Message>;
|
||||||
public toJSON(): unknown;
|
public toJSON(): unknown;
|
||||||
public toString(): string;
|
public toString(): string;
|
||||||
public unpin(): Promise<Message>;
|
public unpin(reason?: string): Promise<Message>;
|
||||||
public inGuild(): this is Message<true> & this;
|
public inGuild(): this is Message<true> & this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3174,8 +3174,8 @@ export class MessageManager extends CachedManager<Snowflake, Message, MessageRes
|
|||||||
): Promise<Collection<Snowflake, Message>>;
|
): Promise<Collection<Snowflake, Message>>;
|
||||||
public fetchPinned(cache?: boolean): Promise<Collection<Snowflake, Message>>;
|
public fetchPinned(cache?: boolean): Promise<Collection<Snowflake, Message>>;
|
||||||
public react(message: MessageResolvable, emoji: EmojiIdentifierResolvable): Promise<void>;
|
public react(message: MessageResolvable, emoji: EmojiIdentifierResolvable): Promise<void>;
|
||||||
public pin(message: MessageResolvable): Promise<void>;
|
public pin(message: MessageResolvable, reason?: string): Promise<void>;
|
||||||
public unpin(message: MessageResolvable): Promise<void>;
|
public unpin(message: MessageResolvable, reason?: string): Promise<void>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class PermissionOverwriteManager extends CachedManager<
|
export class PermissionOverwriteManager extends CachedManager<
|
||||||
|
|||||||
Reference in New Issue
Block a user