diff --git a/src/managers/GuildEmojiManager.js b/src/managers/GuildEmojiManager.js index aa0813b6c63e..8266c226f1c2 100644 --- a/src/managers/GuildEmojiManager.js +++ b/src/managers/GuildEmojiManager.js @@ -51,13 +51,13 @@ class GuildEmojiManager extends BaseGuildEmojiManager { if (roles) { data.roles = []; for (let role of roles instanceof Collection ? roles.values() : roles) { - role = this.guild.roles.resolve(role); - if (!role) { + const roleID = this.guild.roles.resolveID(role); + if (!roleID) { return Promise.reject( new TypeError('INVALID_TYPE', 'options.roles', 'Array or Collection of Roles or Snowflakes', true), ); } - data.roles.push(role.id); + data.roles.push(roleID); } } diff --git a/src/managers/GuildEmojiRoleManager.js b/src/managers/GuildEmojiRoleManager.js index 2ce7f6c5b1c7..48830569db8d 100644 --- a/src/managers/GuildEmojiRoleManager.js +++ b/src/managers/GuildEmojiRoleManager.js @@ -53,7 +53,7 @@ class GuildEmojiRoleManager { add(roleOrRoles) { if (roleOrRoles instanceof Collection) return this.add(roleOrRoles.keyArray()); if (!Array.isArray(roleOrRoles)) return this.add([roleOrRoles]); - roleOrRoles = roleOrRoles.map(r => this.guild.roles.resolve(r)); + roleOrRoles = roleOrRoles.map(r => this.guild.roles.resolveID(r)); if (roleOrRoles.includes(null)) { return Promise.reject(new TypeError('INVALID_TYPE', 'roles', 'Array or Collection of Roles or Snowflakes', true)); diff --git a/src/managers/GuildMemberRoleManager.js b/src/managers/GuildMemberRoleManager.js index 396f3d5b89ca..f02ac807f867 100644 --- a/src/managers/GuildMemberRoleManager.js +++ b/src/managers/GuildMemberRoleManager.js @@ -100,7 +100,7 @@ class GuildMemberRoleManager { */ async add(roleOrRoles, reason) { if (roleOrRoles instanceof Collection || Array.isArray(roleOrRoles)) { - roleOrRoles = roleOrRoles.map(r => this.guild.roles.resolve(r)); + roleOrRoles = roleOrRoles.map(r => this.guild.roles.resolveID(r)); if (roleOrRoles.includes(null)) { throw new TypeError('INVALID_TYPE', 'roles', 'Array or Collection of Roles or Snowflakes', true); } @@ -108,15 +108,15 @@ class GuildMemberRoleManager { const newRoles = [...new Set(roleOrRoles.concat(...this._roles.values()))]; return this.set(newRoles, reason); } else { - roleOrRoles = this.guild.roles.resolve(roleOrRoles); - if (roleOrRoles === null) { + const roleID = this.guild.roles.resolveID(roleOrRoles); + if (roleID === null) { throw new TypeError('INVALID_TYPE', 'roles', 'Role, Snowflake or Array or Collection of Roles or Snowflakes'); } - await this.client.api.guilds[this.guild.id].members[this.member.id].roles[roleOrRoles.id].put({ reason }); + await this.client.api.guilds[this.guild.id].members[this.member.id].roles[roleID].put({ reason }); const clone = this.member._clone(); - clone._roles = [...this._roles.keys(), roleOrRoles.id]; + clone._roles = [...this._roles.keys(), roleID]; return clone; } } @@ -129,7 +129,7 @@ class GuildMemberRoleManager { */ async remove(roleOrRoles, reason) { if (roleOrRoles instanceof Collection || Array.isArray(roleOrRoles)) { - roleOrRoles = roleOrRoles.map(r => this.guild.roles.resolve(r)); + roleOrRoles = roleOrRoles.map(r => this.guild.roles.resolveID(r)); if (roleOrRoles.includes(null)) { throw new TypeError('INVALID_TYPE', 'roles', 'Array or Collection of Roles or Snowflakes', true); } @@ -137,15 +137,15 @@ class GuildMemberRoleManager { const newRoles = this._roles.filter(role => !roleOrRoles.includes(role)); return this.set(newRoles, reason); } else { - roleOrRoles = this.guild.roles.resolve(roleOrRoles); - if (roleOrRoles === null) { + const roleID = this.guild.roles.resolveID(roleOrRoles); + if (roleID === null) { throw new TypeError('INVALID_TYPE', 'roles', 'Array or Collection of Roles or Snowflakes', true); } - await this.client.api.guilds[this.guild.id].members[this.member.id].roles[roleOrRoles.id].delete({ reason }); + await this.client.api.guilds[this.guild.id].members[this.member.id].roles[roleID].delete({ reason }); const clone = this.member._clone(); - const newRoles = this._roles.filter(role => role.id !== roleOrRoles.id); + const newRoles = this._roles.filter(role => role.id !== roleID); clone._roles = [...newRoles.keys()]; return clone; } diff --git a/src/structures/Guild.js b/src/structures/Guild.js index d2690101a677..09fccda8fb6c 100644 --- a/src/structures/Guild.js +++ b/src/structures/Guild.js @@ -911,11 +911,11 @@ class Guild extends Base { if (options.roles) { const roles = []; for (let role of options.roles instanceof Collection ? options.roles.values() : options.roles) { - role = this.roles.resolve(role); - if (!role) { + let roleID = this.roles.resolveID(role); + if (!roleID) { throw new TypeError('INVALID_TYPE', 'options.roles', 'Array or Collection of Roles or Snowflakes', true); } - roles.push(role.id); + roles.push(roleID); } options.roles = roles; } diff --git a/src/structures/GuildMember.js b/src/structures/GuildMember.js index 320c7926ba10..f00af7f01bff 100644 --- a/src/structures/GuildMember.js +++ b/src/structures/GuildMember.js @@ -285,11 +285,12 @@ class GuildMember extends Base { */ async edit(data, reason) { if (data.channel) { - data.channel = this.guild.channels.resolve(data.channel); - if (!data.channel || data.channel.type !== 'voice') { + const voiceChannelID = this.guild.channels.resolveID(data.channel); + const voiceChannel = this.guild.channels.cache.get(voiceChannelID); + if (!voiceChannelID || (voiceChannel && voiceChannel?.type !== 'voice')) { throw new Error('GUILD_VOICE_CHANNEL_RESOLVE'); } - data.channel_id = data.channel.id; + data.channel_id = voiceChannelID; data.channel = undefined; } else if (data.channel === null) { data.channel_id = null;