fix(Resolvables): valid resolvables throw error when uncached (#5495)

Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
This commit is contained in:
Shubham Parihar
2021-04-15 04:02:08 +05:30
committed by GitHub
parent b380f16367
commit fa5a37e51a
5 changed files with 21 additions and 20 deletions

View File

@@ -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;
}

View File

@@ -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;