mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat(AllowedMentions): add support for MessageOptions#allowedMe… (#3893)
* feat(Allowed Mentions): Add support for new Allowed Mentions message options * fix(docs): Update JSDoc for feature * fix(apimessage): translate the propery into snake_case * fix(typings): message mention options should be optional * fix(docs): jsdoc typings for MessageMentionOptions * fix(mentions): use Resolvables for MessageMentionOptions * fix(docs): typedef for MessageMentionTypes * Update typings/index.d.ts Co-Authored-By: Sugden <28943913+NotSugden@users.noreply.github.com> * fix(mentions): drop support for Resolvables * fix(AllowedMentions): remove the whole resolve function * fix(docs): revert change to Resolvables Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
This commit is contained in:
@@ -184,6 +184,7 @@ class APIMessage {
|
||||
embeds,
|
||||
username,
|
||||
avatar_url: avatarURL,
|
||||
allowed_mentions: this.options.allowedMentions,
|
||||
flags,
|
||||
};
|
||||
return this;
|
||||
|
||||
@@ -84,6 +84,7 @@ class Webhook {
|
||||
* @property {boolean} [tts=false] Whether or not the message should be spoken aloud
|
||||
* @property {string} [nonce=''] The nonce for the message
|
||||
* @property {Object[]} [embeds] An array of embeds for the message
|
||||
* @property {MessageMentionOptions} [allowedMentions] Which mentions should be parsed from the message content
|
||||
* (see [here](https://discordapp.com/developers/docs/resources/channel#embed-object) for more details)
|
||||
* @property {'none' | 'all' | 'everyone'} [disableMentions=this.client.options.disableMentions] Whether or not
|
||||
* all mentions or everyone/here mentions should be sanitized to prevent unexpected mentions
|
||||
|
||||
@@ -58,6 +58,7 @@ class TextBasedChannel {
|
||||
* @property {string} [content=''] The content for the message
|
||||
* @property {MessageEmbed|Object} [embed] An embed for the message
|
||||
* (see [here](https://discordapp.com/developers/docs/resources/channel#embed-object) for more details)
|
||||
* @property {MessageMentionOptions} [allowedMentions] Which mentions should be parsed from the message content
|
||||
* @property {'none' | 'all' | 'everyone'} [disableMentions=this.client.options.disableMentions] Whether or not
|
||||
* all mentions or everyone/here mentions should be sanitized to prevent unexpected mentions
|
||||
* @property {FileOptions[]|BufferResolvable[]} [files] Files to send with the message
|
||||
@@ -67,6 +68,19 @@ class TextBasedChannel {
|
||||
* @property {UserResolvable} [reply] User to reply to (prefixes the message with a mention, except in DMs)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Options provided to control parsing of mentions by Discord
|
||||
* @typedef {Object} MessageMentionOptions
|
||||
* @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
|
||||
*/
|
||||
|
||||
/**
|
||||
* Types of mentions to enable in MessageMentionOptions
|
||||
* @typedef {'role' | 'users' | 'everyone'} MessageMentionTypes
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {Object} FileOptions
|
||||
* @property {BufferResolvable} attachment File to attach
|
||||
|
||||
10
typings/index.d.ts
vendored
10
typings/index.d.ts
vendored
@@ -2646,12 +2646,21 @@ declare module 'discord.js' {
|
||||
|
||||
type MessageFlagsString = 'CROSSPOSTED' | 'IS_CROSSPOST' | 'SUPPRESS_EMBEDS' | 'SOURCE_MESSAGE_DELETED' | 'URGENT';
|
||||
|
||||
interface MessageMentionOptions {
|
||||
parse?: MessageMentionTypes[];
|
||||
roles?: Snowflake[];
|
||||
users?: Snowflake[];
|
||||
}
|
||||
|
||||
type MessageMentionTypes = 'roles' | 'users' | 'everyone';
|
||||
|
||||
interface MessageOptions {
|
||||
tts?: boolean;
|
||||
nonce?: string;
|
||||
content?: string;
|
||||
embed?: MessageEmbed | MessageEmbedOptions;
|
||||
disableMentions?: 'none' | 'all' | 'everyone';
|
||||
allowedMentions?: MessageMentionOptions;
|
||||
files?: (FileOptions | BufferResolvable | Stream | MessageAttachment)[];
|
||||
code?: string | boolean;
|
||||
split?: boolean | SplitOptions;
|
||||
@@ -2971,6 +2980,7 @@ declare module 'discord.js' {
|
||||
nonce?: string;
|
||||
embeds?: (MessageEmbed | object)[];
|
||||
disableMentions?: 'none' | 'all' | 'everyone';
|
||||
allowedMentions?: MessageMentionOptions;
|
||||
files?: (FileOptions | BufferResolvable | Stream | MessageAttachment)[];
|
||||
code?: string | boolean;
|
||||
split?: boolean | SplitOptions;
|
||||
|
||||
Reference in New Issue
Block a user