mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 16:43:31 +01:00
feat(Message): add ReplyMessageOptions for #reply (#5296)
This commit is contained in:
@@ -606,11 +606,27 @@ class Message extends Base {
|
||||
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.
|
||||
* @param {StringResolvable|APIMessage} [content=''] The content for the message
|
||||
* @param {MessageOptions|MessageAdditions} [options] The additional options to provide
|
||||
* @param {MessageResolvable} [options.reply.messageReference=this] The message to reply to
|
||||
* @param {ReplyMessageOptions|MessageAdditions} [options] The additional options to provide
|
||||
* @returns {Promise<Message|Message[]>}
|
||||
*/
|
||||
reply(content, options) {
|
||||
@@ -620,7 +636,7 @@ class Message extends Base {
|
||||
: APIMessage.transformOptions(content, options, {
|
||||
reply: {
|
||||
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 {Snowflake[]} [users] Snowflakes of Users 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 removeAttachments(): Promise<Message>;
|
||||
public reply(
|
||||
content: APIMessageContentResolvable | (MessageOptions & { split?: false }) | MessageAdditions,
|
||||
content: APIMessageContentResolvable | (ReplyMessageOptions & { split?: false }) | MessageAdditions,
|
||||
): Promise<Message>;
|
||||
public reply(options: MessageOptions & { split: true | SplitOptions }): Promise<Message[]>;
|
||||
public reply(options: MessageOptions | APIMessage): Promise<Message | Message[]>;
|
||||
public reply(options: ReplyMessageOptions & { split: true | SplitOptions }): Promise<Message[]>;
|
||||
public reply(options: ReplyMessageOptions | APIMessage): Promise<Message | Message[]>;
|
||||
public reply(
|
||||
content: StringResolvable,
|
||||
options: (MessageOptions & { split?: false }) | MessageAdditions,
|
||||
options: (ReplyMessageOptions & { split?: false }) | MessageAdditions,
|
||||
): Promise<Message>;
|
||||
public reply(
|
||||
content: StringResolvable,
|
||||
options: MessageOptions & { split: true | SplitOptions },
|
||||
options: ReplyMessageOptions & { split: true | SplitOptions },
|
||||
): 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 toJSON(): object;
|
||||
public toString(): string;
|
||||
@@ -3470,6 +3470,10 @@ declare module 'discord.js' {
|
||||
failIfNotExists?: boolean;
|
||||
}
|
||||
|
||||
interface ReplyMessageOptions extends Omit<MessageOptions, 'reply'> {
|
||||
failIfNotExists?: boolean;
|
||||
}
|
||||
|
||||
interface ResolvedOverwriteOptions {
|
||||
allow: Permissions;
|
||||
deny: Permissions;
|
||||
|
||||
Reference in New Issue
Block a user