mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
fix(RoleManager): fix ID return value, change return type to collection (#4935)
Co-authored-by: Ishmaam Khan <ishmaamk@gmail.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
const BaseManager = require('./BaseManager');
|
||||
const Role = require('../structures/Role');
|
||||
const Collection = require('../util/Collection');
|
||||
const Permissions = require('../util/Permissions');
|
||||
const { resolveColor } = require('../util/Util');
|
||||
|
||||
@@ -31,10 +32,10 @@ class RoleManager extends BaseManager {
|
||||
|
||||
/**
|
||||
* Obtains one or more roles from Discord, or the role cache if they're already available.
|
||||
* @param {Snowflake} [id] ID or IDs of the role(s)
|
||||
* @param {boolean} [cache=true] Whether to cache the new roles objects if it weren't already
|
||||
* @param {Snowflake} [id] ID of the role to fetch
|
||||
* @param {boolean} [cache=true] Whether to cache the new role object(s) if they weren't already
|
||||
* @param {boolean} [force=false] Whether to skip the cache check and request the API
|
||||
* @returns {Promise<Role|RoleManager>}
|
||||
* @returns {Promise<?Role|Collection<Snowflake, Role>>}
|
||||
* @example
|
||||
* // Fetch all roles from the guild
|
||||
* message.guild.roles.fetch()
|
||||
@@ -53,9 +54,10 @@ class RoleManager extends BaseManager {
|
||||
}
|
||||
|
||||
// We cannot fetch a single role, as of this commit's date, Discord API throws with 405
|
||||
const roles = await this.client.api.guilds(this.guild.id).roles.get();
|
||||
for (const role of roles) this.add(role, cache);
|
||||
return id ? this.cache.get(id) || null : this;
|
||||
const data = await this.client.api.guilds(this.guild.id).roles.get();
|
||||
const roles = new Collection();
|
||||
for (const role of data) roles.set(role.id, this.add(role, cache));
|
||||
return id ? roles.get(id) || null : roles;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
2
typings/index.d.ts
vendored
2
typings/index.d.ts
vendored
@@ -2011,7 +2011,7 @@ declare module 'discord.js' {
|
||||
|
||||
public create(options?: { data?: RoleData; reason?: string }): Promise<Role>;
|
||||
public fetch(id: Snowflake, cache?: boolean, force?: boolean): Promise<Role | null>;
|
||||
public fetch(id?: Snowflake, cache?: boolean, force?: boolean): Promise<this>;
|
||||
public fetch(id?: Snowflake, cache?: boolean, force?: boolean): Promise<Collection<Snowflake, Role>>;
|
||||
}
|
||||
|
||||
export class UserManager extends BaseManager<Snowflake, User, UserResolvable> {
|
||||
|
||||
Reference in New Issue
Block a user