refactor: use cache.get() for snowflakes, resolve() otherwise

#10626 djs
This commit is contained in:
Elysia
2025-01-21 02:09:03 +07:00
parent b76e8124c6
commit 62d2630643
15 changed files with 31 additions and 31 deletions

View File

@@ -13,7 +13,7 @@ class ThreadListSyncAction extends Action {
if (data.channel_ids) { if (data.channel_ids) {
for (const id of data.channel_ids) { for (const id of data.channel_ids) {
const channel = client.channels.resolve(id); const channel = client.channels.cache.get(id);
if (channel) this.removeStale(channel); if (channel) this.removeStale(channel);
} }
} else { } else {

View File

@@ -34,7 +34,7 @@ class BaseGuildEmojiManager extends CachedManager {
* @returns {?GuildEmoji} * @returns {?GuildEmoji}
*/ */
resolve(emoji) { resolve(emoji) {
if (emoji instanceof ReactionEmoji) return super.resolve(emoji.id); if (emoji instanceof ReactionEmoji) return super.cache.get(emoji.id) ?? null;
return super.resolve(emoji); return super.resolve(emoji);
} }

View File

@@ -175,7 +175,7 @@ class GuildBanManager extends CachedManager {
reason: options.reason, reason: options.reason,
}); });
if (user instanceof GuildMember) return user; if (user instanceof GuildMember) return user;
const _user = this.client.users.resolve(id); const _user = this.client.users.cache.get(id);
if (_user) { if (_user) {
return this.guild.members.resolve(_user) ?? _user; return this.guild.members.resolve(_user) ?? _user;
} }

View File

@@ -89,7 +89,7 @@ class GuildChannelManager extends CachedManager {
* @returns {?(GuildChannel|ThreadChannel)} * @returns {?(GuildChannel|ThreadChannel)}
*/ */
resolve(channel) { resolve(channel) {
if (channel instanceof ThreadChannel) return super.resolve(channel.id); if (channel instanceof ThreadChannel) return super.cache.get(channel.id) ?? null;
return super.resolve(channel); return super.resolve(channel);
} }
@@ -290,15 +290,15 @@ class GuildChannelManager extends CachedManager {
channel = this.resolve(channel); channel = this.resolve(channel);
if (!channel) throw new TypeError('INVALID_TYPE', 'channel', 'GuildChannelResolvable'); if (!channel) throw new TypeError('INVALID_TYPE', 'channel', 'GuildChannelResolvable');
const parent = data.parent && this.client.channels.resolveId(data.parent); const parentId = data.parent && this.client.channels.resolveId(data.parent);
if (typeof data.position !== 'undefined') await this.setPosition(channel, data.position, { reason }); if (typeof data.position !== 'undefined') await this.setPosition(channel, data.position, { reason });
let permission_overwrites = data.permissionOverwrites?.map(o => PermissionOverwrites.resolve(o, this.guild)); let permission_overwrites = data.permissionOverwrites?.map(o => PermissionOverwrites.resolve(o, this.guild));
if (data.lockPermissions) { if (data.lockPermissions) {
if (parent) { if (parentId) {
const newParent = this.guild.channels.resolve(parent); const newParent = this.guild.channels.cache.get(parentId);
if (newParent?.type === 'GUILD_CATEGORY') { if (newParent?.type === 'GUILD_CATEGORY') {
permission_overwrites = newParent.permissionOverwrites.cache.map(o => permission_overwrites = newParent.permissionOverwrites.cache.map(o =>
PermissionOverwrites.resolve(o, this.guild), PermissionOverwrites.resolve(o, this.guild),
@@ -325,7 +325,7 @@ class GuildChannelManager extends CachedManager {
rtc_region: 'rtcRegion' in data ? data.rtcRegion : channel.rtcRegion, rtc_region: 'rtcRegion' in data ? data.rtcRegion : channel.rtcRegion,
video_quality_mode: video_quality_mode:
typeof data.videoQualityMode === 'string' ? VideoQualityModes[data.videoQualityMode] : data.videoQualityMode, typeof data.videoQualityMode === 'string' ? VideoQualityModes[data.videoQualityMode] : data.videoQualityMode,
parent_id: parent, parent_id: parentId,
lock_permissions: data.lockPermissions, lock_permissions: data.lockPermissions,
rate_limit_per_user: data.rateLimitPerUser, rate_limit_per_user: data.rateLimitPerUser,
default_auto_archive_duration: defaultAutoArchiveDuration, default_auto_archive_duration: defaultAutoArchiveDuration,

View File

@@ -56,7 +56,7 @@ class GuildMemberManager extends CachedManager {
const memberResolvable = super.resolve(member); const memberResolvable = super.resolve(member);
if (memberResolvable) return memberResolvable; if (memberResolvable) return memberResolvable;
const userResolvable = this.client.users.resolveId(member); const userResolvable = this.client.users.resolveId(member);
if (userResolvable) return super.resolve(userResolvable); if (userResolvable) return super.cache.get(userResolvable) ?? null;
return null; return null;
} }
@@ -129,7 +129,7 @@ class GuildMemberManager extends CachedManager {
*/ */
get me() { get me() {
return ( return (
this.resolve(this.client.user.id) ?? this.cache.get(this.client.user.id) ??
(this.client.options.partials.includes(PartialTypes.GUILD_MEMBER) (this.client.options.partials.includes(PartialTypes.GUILD_MEMBER)
? this._add({ user: { id: this.client.user.id } }, true) ? this._add({ user: { id: this.client.user.id } }, true)
: null) : null)

View File

@@ -38,8 +38,8 @@ class PresenceManager extends CachedManager {
resolve(presence) { resolve(presence) {
const presenceResolvable = super.resolve(presence); const presenceResolvable = super.resolve(presence);
if (presenceResolvable) return presenceResolvable; if (presenceResolvable) return presenceResolvable;
const UserResolvable = this.client.users.resolveId(presence); const userId = this.client.users.resolveId(presence);
return super.resolve(UserResolvable); return super.cache.get(userId) ?? null;
} }
/** /**
@@ -50,8 +50,8 @@ class PresenceManager extends CachedManager {
resolveId(presence) { resolveId(presence) {
const presenceResolvable = super.resolveId(presence); const presenceResolvable = super.resolveId(presence);
if (presenceResolvable) return presenceResolvable; if (presenceResolvable) return presenceResolvable;
const userResolvable = this.client.users.resolveId(presence); const userId = this.client.users.resolveId(presence);
return this.cache.has(userResolvable) ? userResolvable : null; return this.cache.has(userId) ? userId : null;
} }
} }

View File

@@ -54,7 +54,7 @@ class ThreadMemberManager extends CachedManager {
* @readonly * @readonly
*/ */
get me() { get me() {
return this.resolve(this.client.user.id); return this.cache.get(this.client.user.id) ?? null;
} }
/** /**
@@ -72,8 +72,8 @@ class ThreadMemberManager extends CachedManager {
resolve(member) { resolve(member) {
const memberResolvable = super.resolve(member); const memberResolvable = super.resolve(member);
if (memberResolvable) return memberResolvable; if (memberResolvable) return memberResolvable;
const userResolvable = this.client.users.resolveId(member); const userId = this.client.users.resolveId(member);
if (userResolvable) return super.resolve(userResolvable); if (userId) return super.cache.get(userId) ?? null;
return null; return null;
} }

View File

@@ -259,7 +259,7 @@ class GuildMember extends Base {
* @readonly * @readonly
*/ */
get presence() { get presence() {
return this.guild.presences.resolve(this.id); return this.guild.presences.cache.get(this.id) ?? null;
} }
/** /**

View File

@@ -29,7 +29,7 @@ class Invite extends Base {
*/ */
this.guild ??= null; this.guild ??= null;
if (data.guild) { if (data.guild) {
this.guild = this.client.guilds.resolve(data.guild.id) ?? new InviteGuild(this.client, data.guild); this.guild = this.client.guilds.cache.get(data.guild.id) ?? new InviteGuild(this.client, data.guild);
} }
if ('code' in data) { if ('code' in data) {

View File

@@ -273,7 +273,7 @@ class Message extends Base {
* @type {Collection<Snowflake, Message>} * @type {Collection<Snowflake, Message>}
*/ */
this.messageSnapshots = data.message_snapshots.reduce((coll, snapshot) => { this.messageSnapshots = data.message_snapshots.reduce((coll, snapshot) => {
const channel = this.client.channels.resolve(this.reference.channelId); const channel = this.client.channels.cache.get(this.reference.channelId);
const snapshotData = { const snapshotData = {
...snapshot.message, ...snapshot.message,
id: this.reference.messageId, id: this.reference.messageId,
@@ -464,7 +464,7 @@ class Message extends Base {
* @readonly * @readonly
*/ */
get channel() { get channel() {
return this.client.channels.resolve(this.channelId); return this.client.channels.cache.get(this.channelId) ?? null;
} }
/** /**
@@ -510,7 +510,7 @@ class Message extends Base {
* @readonly * @readonly
*/ */
get guild() { get guild() {
return this.client.guilds.resolve(this.guildId) ?? this.channel?.guild ?? null; return this.client.guilds.cache.get(this.guildId) ?? this.channel?.guild ?? null;
} }
/** /**
@@ -530,7 +530,7 @@ class Message extends Base {
* @readonly * @readonly
*/ */
get thread() { get thread() {
return this.channel?.threads?.resolve(this.id) ?? null; return this.channel?.threads?.cache.get(this.id) ?? null;
} }
/** /**

View File

@@ -180,7 +180,7 @@ class PermissionOverwrites extends Base {
}; };
} }
const userOrRole = guild.roles.resolve(overwrite.id) ?? guild.client.users.resolve(overwrite.id); const userOrRole = guild.roles.cache.get(overwrite.id) ?? guild.client.users.cache.get(overwrite.id);
if (!userOrRole) throw new TypeError('INVALID_TYPE', 'parameter', 'User nor a Role'); if (!userOrRole) throw new TypeError('INVALID_TYPE', 'parameter', 'User nor a Role');
const type = userOrRole instanceof Role ? OverwriteTypes.role : OverwriteTypes.member; const type = userOrRole instanceof Role ? OverwriteTypes.role : OverwriteTypes.member;

View File

@@ -61,7 +61,7 @@ class PollAnswer extends Base {
*/ */
get emoji() { get emoji() {
if (!this._emoji || (!this._emoji.id && !this._emoji.name)) return null; if (!this._emoji || (!this._emoji.id && !this._emoji.name)) return null;
return this.client.emojis.resolve(this._emoji.id) ?? new Emoji(this.client, this._emoji); return this.client.emojis.cache.get(this._emoji.id) ?? new Emoji(this.client, this._emoji);
} }
/** /**

View File

@@ -61,7 +61,7 @@ class ThreadMember extends Base {
* @readonly * @readonly
*/ */
get guildMember() { get guildMember() {
return this.member ?? this.thread.guild.members.resolve(this.id); return this.member ?? this.thread.guild.members.cache.get(this.id) ?? null;
} }
/** /**
@@ -79,7 +79,7 @@ class ThreadMember extends Base {
* @readonly * @readonly
*/ */
get user() { get user() {
return this.client.users.resolve(this.id); return this.client.users.cache.get(this.id) ?? null;
} }
/** /**

View File

@@ -93,7 +93,7 @@ class Webhook {
* The source guild of the webhook * The source guild of the webhook
* @type {?(Guild|APIGuild)} * @type {?(Guild|APIGuild)}
*/ */
this.sourceGuild = this.client.guilds?.resolve(data.source_guild.id) ?? data.source_guild; this.sourceGuild = this.client.guilds?.cache.get(data.source_guild.id) ?? data.source_guild;
} else { } else {
this.sourceGuild ??= null; this.sourceGuild ??= null;
} }
@@ -103,7 +103,7 @@ class Webhook {
* The source channel of the webhook * The source channel of the webhook
* @type {?(NewsChannel|APIChannel)} * @type {?(NewsChannel|APIChannel)}
*/ */
this.sourceChannel = this.client.channels?.resolve(data.source_channel?.id) ?? data.source_channel; this.sourceChannel = this.client.channels?.cache.get(data.source_channel?.id) ?? data.source_channel;
} else { } else {
this.sourceChannel ??= null; this.sourceChannel ??= null;
} }

View File

@@ -45,7 +45,7 @@ class WelcomeChannel extends Base {
* @type {?(TextChannel|NewsChannel|StoreChannel|ForumChannel|MediaChannel)} * @type {?(TextChannel|NewsChannel|StoreChannel|ForumChannel|MediaChannel)}
*/ */
get channel() { get channel() {
return this.client.channels.resolve(this.channelId); return this.client.channels.cache.get(this.channelId) ?? null;
} }
/** /**
@@ -53,7 +53,7 @@ class WelcomeChannel extends Base {
* @type {GuildEmoji|Emoji} * @type {GuildEmoji|Emoji}
*/ */
get emoji() { get emoji() {
return this.client.emojis.resolve(this._emoji.id) ?? new Emoji(this.client, this._emoji); return this.client.emojis.cache.get(this._emoji.id) ?? new Emoji(this.client, this._emoji);
} }
} }