1. Fix message.mentions

This commit is contained in:
March 7th 2022-03-30 18:09:23 +07:00
parent 4e870872f5
commit ab113790e3
2 changed files with 28 additions and 34 deletions

View File

@ -11,8 +11,8 @@ const {
} = require('../util/Constants');
function parseResponse(res) {
if (res.headers.get('content-type').startsWith('application/json')) return res.json();
return res.buffer();
if (res.headers.get('content-type').startsWith('application/json')) return res.json();
return res.arrayBuffer(); // Cre: TheDevYellowy
}
function getAPIOffset(serverDate) {

View File

@ -225,19 +225,14 @@ class Message extends Base {
* All valid mentions that the message contains
* @type {MessageMentions}
*/
if (!data.mentions)
this.mentions = new Mentions(
this,
data.mentions,
data.mention_roles,
data.mention_everyone,
data.mention_channels,
data.referenced_message?.author,
);
else
data.mentions instanceof Mentions
? (this.mentions = data.mentions)
: (this.mentions = null);
this.mentions = new Mentions(
this,
data.mentions,
data.mention_roles,
data.mention_everyone,
data.mention_channels,
data.referenced_message?.author,
);
} else {
this.mentions = new Mentions(
this,
@ -491,9 +486,8 @@ class Message extends Base {
* @readonly
*/
get url() {
return `https://discord.com/channels/${this.guildId ?? '@me'}/${
this.channelId
}/${this.id}`;
return `https://discord.com/channels/${this.guildId ?? '@me'}/${this.channelId
}/${this.id}`;
}
/**
@ -619,8 +613,8 @@ class Message extends Base {
get editable() {
const precheck = Boolean(
this.author.id === this.client.user.id &&
!deletedMessages.has(this) &&
(!this.guild || this.channel?.viewable),
!deletedMessages.has(this) &&
(!this.guild || this.channel?.viewable),
);
// Regardless of permissions thread messages cannot be edited if
// the thread is locked.
@ -654,8 +648,8 @@ class Message extends Base {
return Boolean(
this.author.id === this.client.user.id ||
(permissions.has(Permissions.FLAGS.MANAGE_MESSAGES, false) &&
this.guild.me.communicationDisabledUntilTimestamp < Date.now()),
(permissions.has(Permissions.FLAGS.MANAGE_MESSAGES, false) &&
this.guild.me.communicationDisabledUntilTimestamp < Date.now()),
);
}
@ -668,12 +662,12 @@ class Message extends Base {
const { channel } = this;
return Boolean(
!this.system &&
!deletedMessages.has(this) &&
(!this.guild ||
(channel?.viewable &&
channel
?.permissionsFor(this.client.user)
?.has(Permissions.FLAGS.MANAGE_MESSAGES, false))),
!deletedMessages.has(this) &&
(!this.guild ||
(channel?.viewable &&
channel
?.permissionsFor(this.client.user)
?.has(Permissions.FLAGS.MANAGE_MESSAGES, false))),
);
}
@ -704,11 +698,11 @@ class Message extends Base {
const { channel } = this;
return Boolean(
channel?.type === 'GUILD_NEWS' &&
!this.flags.has(MessageFlags.FLAGS.CROSSPOSTED) &&
this.type === 'DEFAULT' &&
channel.viewable &&
channel.permissionsFor(this.client.user)?.has(bitfield, false) &&
!deletedMessages.has(this),
!this.flags.has(MessageFlags.FLAGS.CROSSPOSTED) &&
this.type === 'DEFAULT' &&
channel.viewable &&
channel.permissionsFor(this.client.user)?.has(bitfield, false) &&
!deletedMessages.has(this),
);
}
@ -1097,7 +1091,7 @@ class Message extends Base {
*/
async contextMenu(botID, commandName) {
if (!botID) throw new Error('Bot ID is required');
const user = await this.client.users.fetch(botID).catch(() => {});
const user = await this.client.users.fetch(botID).catch(() => { });
if (!user || !user.bot || !user.applications)
throw new Error(
'BotID is not a bot or does not have an application slash command',