mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-17 03:53:29 +01:00
feat(Message): add ReplyMessageOptions for #reply (#5296)
This commit is contained in:
@@ -606,11 +606,27 @@ class Message extends Base {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Options provided when sending a message as an inline reply.
|
||||||
|
* @typedef {Object} ReplyMessageOptions
|
||||||
|
* @property {boolean} [tts=false] Whether or not the message should be spoken aloud
|
||||||
|
* @property {string} [nonce=''] The nonce for the message
|
||||||
|
* @property {string} [content=''] The content for the message
|
||||||
|
* @property {MessageEmbed|Object} [embed] An embed for the message
|
||||||
|
* (see [here](https://discord.com/developers/docs/resources/channel#embed-object) for more details)
|
||||||
|
* @property {MessageMentionOptions} [allowedMentions] Which mentions should be parsed from the message content
|
||||||
|
* @property {FileOptions[]|BufferResolvable[]} [files] Files to send with the message
|
||||||
|
* @property {string|boolean} [code] Language for optional codeblock formatting to apply
|
||||||
|
* @property {boolean|SplitOptions} [split=false] Whether or not the message should be split into multiple messages if
|
||||||
|
* it exceeds the character limit. If an object is provided, these are the options for splitting the message
|
||||||
|
* @property {boolean} [failIfNotExists=true] Whether to error if the referenced message
|
||||||
|
* does not exist (creates a standard message in this case when false)
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send an inline reply to this message.
|
* Send an inline reply to this message.
|
||||||
* @param {StringResolvable|APIMessage} [content=''] The content for the message
|
* @param {StringResolvable|APIMessage} [content=''] The content for the message
|
||||||
* @param {MessageOptions|MessageAdditions} [options] The additional options to provide
|
* @param {ReplyMessageOptions|MessageAdditions} [options] The additional options to provide
|
||||||
* @param {MessageResolvable} [options.reply.messageReference=this] The message to reply to
|
|
||||||
* @returns {Promise<Message|Message[]>}
|
* @returns {Promise<Message|Message[]>}
|
||||||
*/
|
*/
|
||||||
reply(content, options) {
|
reply(content, options) {
|
||||||
@@ -620,7 +636,7 @@ class Message extends Base {
|
|||||||
: APIMessage.transformOptions(content, options, {
|
: APIMessage.transformOptions(content, options, {
|
||||||
reply: {
|
reply: {
|
||||||
messageReference: this,
|
messageReference: this,
|
||||||
failIfNotExists: options?.reply?.failIfNotExists ?? content?.reply?.failIfNotExists ?? true,
|
failIfNotExists: options?.failIfNotExists ?? content?.failIfNotExists ?? true,
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ class TextBasedChannel {
|
|||||||
* @property {MessageMentionTypes[]} [parse] Types of mentions to be parsed
|
* @property {MessageMentionTypes[]} [parse] Types of mentions to be parsed
|
||||||
* @property {Snowflake[]} [users] Snowflakes of Users to be parsed as mentions
|
* @property {Snowflake[]} [users] Snowflakes of Users to be parsed as mentions
|
||||||
* @property {Snowflake[]} [roles] Snowflakes of Roles to be parsed as mentions
|
* @property {Snowflake[]} [roles] Snowflakes of Roles to be parsed as mentions
|
||||||
* @property {boolean} [repliedUser] Whether the author of the Message being replied to should be pinged
|
* @property {boolean} [repliedUser=true] Whether the author of the Message being replied to should be pinged
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
16
typings/index.d.ts
vendored
16
typings/index.d.ts
vendored
@@ -1148,19 +1148,19 @@ declare module 'discord.js' {
|
|||||||
public react(emoji: EmojiIdentifierResolvable): Promise<MessageReaction>;
|
public react(emoji: EmojiIdentifierResolvable): Promise<MessageReaction>;
|
||||||
public removeAttachments(): Promise<Message>;
|
public removeAttachments(): Promise<Message>;
|
||||||
public reply(
|
public reply(
|
||||||
content: APIMessageContentResolvable | (MessageOptions & { split?: false }) | MessageAdditions,
|
content: APIMessageContentResolvable | (ReplyMessageOptions & { split?: false }) | MessageAdditions,
|
||||||
): Promise<Message>;
|
): Promise<Message>;
|
||||||
public reply(options: MessageOptions & { split: true | SplitOptions }): Promise<Message[]>;
|
public reply(options: ReplyMessageOptions & { split: true | SplitOptions }): Promise<Message[]>;
|
||||||
public reply(options: MessageOptions | APIMessage): Promise<Message | Message[]>;
|
public reply(options: ReplyMessageOptions | APIMessage): Promise<Message | Message[]>;
|
||||||
public reply(
|
public reply(
|
||||||
content: StringResolvable,
|
content: StringResolvable,
|
||||||
options: (MessageOptions & { split?: false }) | MessageAdditions,
|
options: (ReplyMessageOptions & { split?: false }) | MessageAdditions,
|
||||||
): Promise<Message>;
|
): Promise<Message>;
|
||||||
public reply(
|
public reply(
|
||||||
content: StringResolvable,
|
content: StringResolvable,
|
||||||
options: MessageOptions & { split: true | SplitOptions },
|
options: ReplyMessageOptions & { split: true | SplitOptions },
|
||||||
): Promise<Message[]>;
|
): Promise<Message[]>;
|
||||||
public reply(content: StringResolvable, options: MessageOptions): Promise<Message | Message[]>;
|
public reply(content: StringResolvable, options: ReplyMessageOptions): Promise<Message | Message[]>;
|
||||||
public suppressEmbeds(suppress?: boolean): Promise<Message>;
|
public suppressEmbeds(suppress?: boolean): Promise<Message>;
|
||||||
public toJSON(): object;
|
public toJSON(): object;
|
||||||
public toString(): string;
|
public toString(): string;
|
||||||
@@ -3470,6 +3470,10 @@ declare module 'discord.js' {
|
|||||||
failIfNotExists?: boolean;
|
failIfNotExists?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface ReplyMessageOptions extends Omit<MessageOptions, 'reply'> {
|
||||||
|
failIfNotExists?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
interface ResolvedOverwriteOptions {
|
interface ResolvedOverwriteOptions {
|
||||||
allow: Permissions;
|
allow: Permissions;
|
||||||
deny: Permissions;
|
deny: Permissions;
|
||||||
|
|||||||
Reference in New Issue
Block a user