mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 08:03:30 +01:00
feat(Message): add crosspostable property (#4903)
Co-authored-by: Advaith <advaithj1@gmail.com> Co-authored-by: Alex Hîncu <teesealz@gmail.com>
This commit is contained in:
@@ -425,6 +425,23 @@ class Message extends Base {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether the message is crosspostable by the client user
|
||||
* @type {boolean}
|
||||
* @readonly
|
||||
*/
|
||||
get crosspostable() {
|
||||
return (
|
||||
this.channel.type === 'news' &&
|
||||
!this.flags.has(MessageFlags.FLAGS.CROSSPOSTED) &&
|
||||
this.type === 'DEFAULT' &&
|
||||
this.channel.viewable &&
|
||||
this.channel.permissionsFor(this.client.user).has(Permissions.FLAGS.SEND_MESSAGES) &&
|
||||
(this.author.id === this.client.user.id ||
|
||||
this.channel.permissionsFor(this.client.user).has(Permissions.FLAGS.MANAGE_MESSAGES))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Options that can be passed into editMessage.
|
||||
* @typedef {Object} MessageEditOptions
|
||||
|
||||
2
typings/index.d.ts
vendored
2
typings/index.d.ts
vendored
@@ -3018,6 +3018,7 @@ declare module 'discord.js' {
|
||||
| 'attachments'
|
||||
| 'channel'
|
||||
| 'deletable'
|
||||
| 'crosspostable'
|
||||
| 'editable'
|
||||
| 'mentions'
|
||||
| 'pinnable'
|
||||
@@ -3029,6 +3030,7 @@ declare module 'discord.js' {
|
||||
attachments: Message['attachments'];
|
||||
channel: Message['channel'];
|
||||
readonly deletable: boolean;
|
||||
readonly crosspostable: boolean;
|
||||
readonly editable: boolean;
|
||||
readonly edits: Message['edits'];
|
||||
embeds: Message['embeds'];
|
||||
|
||||
Reference in New Issue
Block a user