Skip to content

GuildMemberRoleManager

Package: @erinjs/core

Manages a guild member's roles with add/remove/set and a cache of Role objects. Discord.js parity: member.roles.add(), member.roles.remove(), member.roles.set(), member.roles.cache

Constructor

NameTypeOptionalDescription
memberGuildMemberNo
initialRoleIdsstring[]No

Properties

NameTypeReadonlyOptionalDescription
cacheCollection<string, Role>YesNoCollection of Role objects for this member's roles (from guild.roles).
Discord.js parity: member.roles.cache
roleIdsreadonly string[]YesNoRole IDs for this member. Used by permissions; prefer cache for Role objects.

Methods

add() async

Add a role to this member. Discord.js parity: member.roles.add(roleId) Requires Manage Roles permission.

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
roleOrIdRoleResolvableNo

has()

Check if the member has a role. Discord.js parity: member.roles.cache.has(roleId)

Returns: boolean

Parameters:

NameTypeOptionalDescription
roleOrIdRoleResolvableNo

remove() async

Remove a role from this member. Discord.js parity: member.roles.remove(roleId) Requires Manage Roles permission.

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
roleOrIdRoleResolvableNo

set() async

Replace all roles for this member. PATCH /guilds/{id}/members/{userId} Discord.js parity: member.roles.set(roleIds) Requires Manage Roles permission.

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
roleIdsstring[]No

Released under the Apache-2.0 License.